|
| BlockOperatorWrapper (localIndex const nRows, localIndex const nCols) |
| Create a vector wrapper of nBlocks blocks. More...
|
|
| BlockOperatorWrapper (BlockOperatorWrapper const &rhs)=delete |
| Deleted copy constructor. More...
|
|
| BlockOperatorWrapper (BlockOperatorWrapper &&rhs)=delete |
| Deleted move constructor. More...
|
|
virtual | ~BlockOperatorWrapper () override=default |
| Destructor.
|
|
void | set (localIndex const blockRowIndex, localIndex const blockColIndex, OPERATOR &op) |
| Set a single block of the operator. More...
|
|
virtual | ~BlockOperatorView () override=default |
| Destructor.
|
|
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...
|
|
template<typename OP = OPERATOR> |
std::enable_if_t< 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...
|
|
template<typename OP = OPERATOR> |
std::enable_if_t< HasMemberFunction_numLocalRows< OP >, localIndex > | numLocalRows () const |
| Get the number of local rows. More...
|
|
template<typename OP = OPERATOR> |
std::enable_if_t< HasMemberFunction_numLocalCols< OP >, localIndex > | numLocalCols () const |
| Get the number of local columns. 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...
|
|
| LinearOperator ()=default |
| Constructor.
|
|
virtual | ~LinearOperator ()=default |
| Destructor.
|
|
virtual void | apply (Vector const &src, Vector &dst) const=0 |
| Apply operator to a vector. More...
|
|
virtual void | residual (Vector const &x, Vector const &b, Vector &r) const |
| Compute residual r = Ax - b . More...
|
|
template<typename VECTOR, typename OPERATOR = LinearOperator< VECTOR >>
class geosx::BlockOperatorWrapper< VECTOR, OPERATOR >
"Shallow" representation of a block operator.
- Template Parameters
-
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 a way to assign sub-block pointers. The sub-blocks themselves must be stored elsewhere. Therefore, it's an easy way to assemble a block operator representation from pre-existing blocks.
Definition at line 39 of file BlockOperatorWrapper.hpp.