Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::BlockMatrix< SC, LO, GO, NO > Class Template Reference

Public Types

typedef Matrix< SC, LO, GO, NO > Matrix_Type
typedef Teuchos::RCP< Matrix_Type > MatrixPtr_Type
typedef Teuchos::RCP< const Matrix_Type > MatrixConstPtr_Type
typedef Matrix_Type::Map_Type Map_Type
typedef Matrix_Type::MapPtr_Type MapPtr_Type
typedef Matrix_Type::MapConstPtr_Type MapConstPtr_Type
typedef Matrix_Type::MultiVector_Type MultiVector_Type
typedef Matrix_Type::MultiVectorPtr_Type MultiVectorPtr_Type
typedef Matrix_Type::MultiVectorConstPtr_Type MultiVectorConstPtr_Type
typedef BlockMultiVector< SC, LO, GO, NO > BlockMultiVector_Type
typedef Teuchos::RCP< BlockMultiVector_Type > BlockMultiVectorPtr_Type
typedef BlockMatrix< SC, LO, GO, NO > BlockMatrix_Type
typedef Teuchos::RCP< BlockMatrix_Type > BlockMatrixPtr_Type
typedef BlockMap< LO, GO, NO > BlockMap_Type
typedef Teuchos::RCP< BlockMap_Type > BlockMapPtr_Type
typedef Teuchos::Tuple< GO, 2 > GOTuple_Type
typedef Teuchos::Tuple< LO, 2 > LOTuple_Type

Public Member Functions

 BlockMatrix (UN size)
 BlockMatrix (BlockMatrixPtr_Type bMatrixIn)
int size () const
void resize (UN size)
MatrixPtr_Type getBlock (int i, int j)
MatrixConstPtr_Type getBlockConst (int i, int j) const
bool blockExists (int i, int j) const
void addBlock (const MatrixPtr_Type &matrix, int i, int j)
void merge ()
void mergeBlockNew (UN blockRow, UN blockCol)
void determineLocalOffsets ()
void determineGlobalOffsets ()
void print (Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_EXTREME)
void printMerge (Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_EXTREME)
void writeMM (std::string fN="blockMat") const
Teuchos::RCP< const Thyra::LinearOpBase< SC > > getThyraLinOp ()
Teuchos::RCP< const Thyra::BlockedLinearOpBase< SC > > getThyraLinBlockOp () const
void apply (const BlockMultiVector_Type &X, BlockMultiVector_Type &Y) const
void apply (const BlockMultiVector_Type &X, BlockMultiVector_Type &Y, const SmallMatrix< SC > &coeff) const
void addMatrix (const SmallMatrix< SC > &coeffAlpha, const BlockMatrixPtr_Type &matrix, const SmallMatrix< SC > &coeffbeta)
MatrixPtr_Type getMergedMatrix ()
BlockMapPtr_Type getMap ()

Protected Attributes

SmallMatrix< MatrixPtr_Type > blockMatrix_
BlockMapPtr_Type blockMap_
MatrixPtr_Type mergedMatrix_
MapPtr_Type mergedMap_
Teuchos::RCP< SmallMatrix< GOTuple_Type > > globalBlockOffsets_
Teuchos::RCP< SmallMatrix< LOTuple_Type > > localBlockOffsets_

The documentation for this class was generated from the following files: