|
| | 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...
|
| |
| 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...
|
| |
| LinearOperator< VECTOR > const & | block (localIndex const blockRowIndex, localIndex const blockColIndex) const |
| | Get the operator corresponding to a sub-block. More...
|
| |
| LinearOperator< VECTOR > & | block (localIndex const blockRowIndex, localIndex const blockColIndex) |
| | Get the operator corresponding to a sub-block. More...
|
| |
| LinearOperator< VECTOR > const & | operator() (localIndex const blockRowIndex, localIndex const blockColIndex=0) const |
| | Get the operator corresponding to a sub-block. More...
|
| |
| LinearOperator< VECTOR > & | 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 | 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 |
| |
template<typename VECTOR, typename OPERATOR = LinearOperator< VECTOR >>
class geos::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.