|
GEOS
|
Concrete representation of a block operator. More...
#include <BlockOperator.hpp>

Public Types | |
| using | Base = BlockOperatorView< VECTOR, OPERATOR > |
| Alias for base type. | |
| using | Vector = typename Base::Vector |
| Alias for vector type. | |
Public Types inherited from geos::BlockOperatorView< VECTOR, OPERATOR > | |
| using | Base = LinearOperator< BlockVectorView< VECTOR > > |
| Alias for base type. | |
| using | Vector = typename Base::Vector |
| Alias for vector type. | |
Public Types inherited from geos::LinearOperator< BlockVectorView< VECTOR > > | |
| using | Vector = BlockVectorView< VECTOR > |
| Alias for template parameter. | |
Public Member Functions | |
| BlockOperator (localIndex const nRows, localIndex const nCols) | |
Create an operator with (nRows, nCols) blocks. More... | |
| BlockOperator (BlockOperator const &rhs) | |
| Copy constructor. More... | |
Public Member Functions inherited from geos::BlockOperatorView< VECTOR, OPERATOR > | |
| BlockOperatorView & | operator= (BlockOperatorView const &)=delete |
| Deleted copy assignment. More... | |
| BlockOperatorView & | operator= (BlockOperatorView &&)=delete |
| Deleted move assignment. More... | |
| virtual void | apply (Vector const &src, Vector &dst) const override |
| Apply operator to a vector. More... | |
| std::enable_if_t< traits::VectorBasedTraits< Vector >::template HasMemberFunction_applyTranspose< OP > > | applyTranspose (BlockVectorView< VECTOR > const &src, BlockVectorView< VECTOR > &dst) const |
| Apply the transpose of block operator to a block vector. More... | |
| virtual globalIndex | numGlobalRows () const override |
| Get the number of global rows. More... | |
| virtual globalIndex | numGlobalCols () const override |
| Get the number of global columns. More... | |
| virtual localIndex | numLocalRows () const override |
| Get the number of local rows. More... | |
| virtual localIndex | numLocalCols () const override |
| Get the number of local columns. More... | |
| virtual MPI_Comm | comm () const override |
| Get the MPI communicator the matrix was created with. More... | |
| localIndex | numBlockRows () const |
| Get number of block rows. More... | |
| localIndex | numBlockCols () const |
| Get number of block columns. More... | |
| OPERATOR const & | block (localIndex const blockRowIndex, localIndex const blockColIndex) const |
| Get the operator corresponding to a sub-block. More... | |
| OPERATOR & | block (localIndex const blockRowIndex, localIndex const blockColIndex) |
| Get the operator corresponding to a sub-block. More... | |
| OPERATOR const & | operator() (localIndex const blockRowIndex, localIndex const blockColIndex=0) const |
| Get the operator corresponding to a sub-block. More... | |
| OPERATOR & | operator() (localIndex const blockRowIndex, localIndex const blockColIndex=0) |
| Get the operator corresponding to a sub-block. More... | |
Public Member Functions inherited from geos::LinearOperator< BlockVectorView< VECTOR > > | |
| LinearOperator ()=default | |
| Constructor. | |
| virtual | ~LinearOperator ()=default |
| Destructor. | |
| virtual void | residual (Vector const &x, Vector const &b, Vector &r) const |
Compute residual r = b - this(x). More... | |
| virtual globalIndex | numGlobalNonzeros () const |
| virtual localIndex | numLocalNonzeros () const |
Additional Inherited Members | |
Protected Member Functions inherited from geos::BlockOperatorView< VECTOR, OPERATOR > | |
| BlockOperatorView (localIndex const nRows, localIndex const nCols) | |
| Create an operator with given number of block rows and columns. More... | |
| BlockOperatorView (BlockOperatorView< VECTOR, OPERATOR > const &x)=default | |
| Copy constructor. More... | |
| BlockOperatorView (BlockOperatorView< VECTOR, OPERATOR > &&x)=default | |
| Move constructor. More... | |
| void | setPointer (localIndex const blockRowIndex, localIndex const blockColIndex, OPERATOR *op) |
| Set/replace a pointer to a block. More... | |
Concrete representation of a block operator.
| VECTOR | type of vector that sub-blocks of this view can operate on |
| OPERATOR | type of operator that can operate on VECTOR (can be base class or a more specialized derived class) |
This extends BlockOperatorView class by providing storage for sub-block operators. The OPERATOR type needs to be default-constructible.
Definition at line 38 of file BlockOperator.hpp.
| geos::BlockOperator< VECTOR, OPERATOR >::BlockOperator | ( | localIndex const | nRows, |
| localIndex const | nCols | ||
| ) |
Create an operator with (nRows, nCols) blocks.
| nRows | number of block rows |
| nCols | number of block columns |
Definition at line 70 of file BlockOperator.hpp.
| geos::BlockOperator< VECTOR, OPERATOR >::BlockOperator | ( | BlockOperator< VECTOR, OPERATOR > const & | rhs | ) |
Copy constructor.
| rhs | the block operator to copy from |
Definition at line 92 of file BlockOperator.hpp.