Class LoadableBlockOperator provides a LoadableMatrix interface for a physically-partitioned block 2x2 matrix, making it appear to the fill routine as if the block matrix is a single matrix. More...
Public Member Functions | |
| LoadableBlockOperator (const VectorSpace< Scalar > &domain, int lowestLocalCol, const RCP< Array< int > > &isBCCol, const RCP< std::set< int > > &remoteBCCols, const VectorSpace< Scalar > &range, int lowestLocalRow, const RCP< Array< int > > &isBCRow) | |
| virtual | ~LoadableBlockOperator () |
| Virtual dtor. | |
| virtual void | addToRow (int globalRowIndex, int nElemsToInsert, const int *globalColumnIndices, const Scalar *elementValues) |
| Insert a set of elements in a row, adding to any previously existing values. | |
| virtual void | zero () |
| Set all elements to zero, preserving the existing structure. | |
Private Member Functions | |
| RCP< LoadableMatrix< Scalar > > | loadableBlock (int i, int j) |
| Cast a block to LoadableMatrix, with safety checks. | |
Private Attributes | |
| RCP< Array< int > > | isBCCol_ |
| RCP< Array< int > > | isBCRow_ |
| RCP< std::set< int > > | remoteBCCols_ |
| int | lowestLocalRow_ |
| int | lowestLocalCol_ |
| int | highestLocalRow_ |
| int | highestLocalCol_ |
Class LoadableBlockOperator provides a LoadableMatrix interface for a physically-partitioned block 2x2 matrix, making it appear to the fill routine as if the block matrix is a single matrix.
This is intended for filling systems where the internal and BC equations and unknowns are stored in physically separate blocks.
Definition at line 48 of file TSFLoadableBlockOperatorDecl.hpp.
| TSFExtended::LoadableBlockOperator< Scalar >::LoadableBlockOperator | ( | const VectorSpace< Scalar > & | domain, |
| int | lowestLocalCol, | ||
| const RCP< Array< int > > & | isBCCol, | ||
| const RCP< std::set< int > > & | remoteBCCols, | ||
| const VectorSpace< Scalar > & | range, | ||
| int | lowestLocalRow, | ||
| const RCP< Array< int > > & | isBCRow | ||
| ) | [inline] |
Definition at line 46 of file TSFLoadableBlockOperatorImpl.hpp.
| virtual TSFExtended::LoadableBlockOperator< Scalar >::~LoadableBlockOperator | ( | ) | [inline, virtual] |
Virtual dtor.
Definition at line 64 of file TSFLoadableBlockOperatorDecl.hpp.
| void TSFExtended::LoadableBlockOperator< Scalar >::addToRow | ( | int | globalRowIndex, |
| int | nElemsToInsert, | ||
| const int * | globalColumnIndices, | ||
| const Scalar * | elementValues | ||
| ) | [inline, virtual] |
Insert a set of elements in a row, adding to any previously existing values.
The nonzero structure of the matrix must have been determined at construction time.
| globalRowIndex | the global index of the row to which these elements belong. |
| nElemsToInsert | the number of elements being inserted in this step |
| globalColumnIndices | array of column indices. Must be nElemsToInsert in length. |
| elements | array of element values. Must be nElemsToInsert in length |
Implements TSFExtended::LoadableMatrix< Scalar >.
Definition at line 66 of file TSFLoadableBlockOperatorImpl.hpp.
| RCP< LoadableMatrix< Scalar > > TSFExtended::LoadableBlockOperator< Scalar >::loadableBlock | ( | int | i, |
| int | j | ||
| ) | [inline, private] |
Cast a block to LoadableMatrix, with safety checks.
Definition at line 153 of file TSFLoadableBlockOperatorImpl.hpp.
| void TSFExtended::LoadableBlockOperator< Scalar >::zero | ( | ) | [inline, virtual] |
Set all elements to zero, preserving the existing structure.
Implements TSFExtended::LoadableMatrix< Scalar >.
Definition at line 137 of file TSFLoadableBlockOperatorImpl.hpp.
int TSFExtended::LoadableBlockOperator< Scalar >::highestLocalCol_ [private] |
Definition at line 100 of file TSFLoadableBlockOperatorDecl.hpp.
int TSFExtended::LoadableBlockOperator< Scalar >::highestLocalRow_ [private] |
Definition at line 99 of file TSFLoadableBlockOperatorDecl.hpp.
RCP<Array<int> > TSFExtended::LoadableBlockOperator< Scalar >::isBCCol_ [private] |
Definition at line 94 of file TSFLoadableBlockOperatorDecl.hpp.
RCP<Array<int> > TSFExtended::LoadableBlockOperator< Scalar >::isBCRow_ [private] |
Definition at line 95 of file TSFLoadableBlockOperatorDecl.hpp.
int TSFExtended::LoadableBlockOperator< Scalar >::lowestLocalCol_ [private] |
Definition at line 98 of file TSFLoadableBlockOperatorDecl.hpp.
int TSFExtended::LoadableBlockOperator< Scalar >::lowestLocalRow_ [private] |
Definition at line 97 of file TSFLoadableBlockOperatorDecl.hpp.
RCP<std::set<int> > TSFExtended::LoadableBlockOperator< Scalar >::remoteBCCols_ [private] |
Definition at line 96 of file TSFLoadableBlockOperatorDecl.hpp.