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

Public Types

typedef Matrix< SC, LO, GO, NO > Matrix_Type
 
typedef Teuchos::RCP< Matrix_TypeMatrixPtr_Type
 
typedef Map< LO, GO, NO > Map_Type
 
typedef Teuchos::RCP< Map_TypeMapPtr_Type
 
typedef Teuchos::RCP< const Map_TypeMapConstPtr_Type
 
typedef MultiVector< SC, LO, GO, NO > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef Teuchos::RCP< const MultiVector_TypeMultiVectorConstPtr_Type
 
typedef MultiVector< SC, LO, GO, NO > BlockMultiVector_Type
 
typedef Teuchos::RCP< BlockMultiVector_TypeBlockMultiVectorPtr_Type
 
typedef Teuchos::Comm< int > Comm_Type
 
typedef Teuchos::RCP< const Comm_Type > CommConstPtr_Type
 
typedef Tpetra::Import< LO, GO, NO > TpetraImport_Type
 
typedef Teuchos::RCP< TpetraImport_Type > TpetraImportPtr_Type
 
typedef Tpetra::Export< LO, GO, NO > TpetraExport_Type
 
typedef Teuchos::RCP< TpetraExport_Type > TpetraExportPtr_Type
 
typedef Tpetra::Map< LO, GO, NO > TpetraMap_Type
 
typedef Teuchos::RCP< TpetraMap_Type > TpetraMapPtr_Type
 
typedef Teuchos::RCP< const TpetraMap_Type > TpetraMapConstPtr_Type
 
typedef const TpetraMapConstPtr_Type TpetraMapConstPtrConst_Type
 
typedef Tpetra::CrsMatrix< SC, LO, GO, NO > TpetraMatrix_Type
 
typedef Teuchos::RCP< TpetraMatrix_Type > TpetraMatrixPtr_Type
 
typedef Teuchos::RCP< const TpetraMatrix_Type > TpetraMatrixConstPtr_Type
 
typedef const Teuchos::RCP< TpetraMatrixConstPtr_Type > TpetraMatrixConstPtrConst_Type
 
typedef Tpetra::MultiVector< SC, LO, GO, NO > TpetraMV_Type
 
typedef Teuchos::RCP< TpetraMV_Type > TpetraMVPtr_Type
 

Public Member Functions

 Matrix (TpetraMatrixPtr_Type &tpetraMatPtrIn)
 
 Matrix (MapConstPtr_Type map, LO numEntries)
 
 Matrix (MatrixPtr_Type matrixIn)
 
Matrixoperator+= (const Matrix &matIn)
 
void insertGlobalValues (GO globalRow, const Teuchos::ArrayView< const GO > &cols, const Teuchos::ArrayView< const SC > &vals)
 Intertion of values in global row 'globalRow'. Matrix is distributed nodewise. If values are added to same row, they automatically get summed up.
 
LO getNodeNumRows () const
 Returns the local number of rows.
 
MapConstPtr_Type getMap (std::string map_string="")
 Returns map of type " ". i.e. row or column map.
 
MapConstPtr_Type getMap (std::string map_string="") const
 Returns map of type " ". i.e. row or column map.
 
TpetraMapConstPtr_Type getMapTpetra (std::string map_string="")
 Return map in Xpetra Format of type " ".
 
Teuchos::RCP< const Thyra::LinearOpBase< SC > > getThyraLinOp () const
 i.e. for NOX
 
Teuchos::RCP< Thyra::LinearOpBase< SC > > getThyraLinOpNonConst ()
 i.e. for NOX
 
void print (Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_EXTREME)
 printing matrix
 
void resumeFill ()
 Resuming filling process. But only limited options i.e. scaling remain.
 
void fillComplete ()
 after inserting global values into matrix. After this step the column map is fixed. Row map is used for filling.
 
void fillComplete (MapConstPtr_Type domainMap, MapConstPtr_Type rangeMap)
 Filling of Matrix based on specific domainmap (column map) and rangeMap (rowmap).
 
bool isLocallyIndexed ()
 
bool isFillComplete ()
 Check if matrix is already filled complete.
 
void getGlobalRowView (GO globalRow, Teuchos::ArrayView< const GO > &indices, Teuchos::ArrayView< const SC > &values) const
 Extracting single rows of Matrix with global row ID. Indices returns global indices of entries stored in values.
 
void getLocalRowView (LO localRow, Teuchos::ArrayView< const LO > &indices, Teuchos::ArrayView< const SC > &values) const
 Extracting single rows of Matrix with local row ID. Indices returns local indices of entries stored in values.
 
void replaceGlobalValues (GO globalRow, const Teuchos::ArrayView< const GO > &indices, const Teuchos::ArrayView< const SC > &values)
 Replacing single rows of Matrix with global row ID. Indices returns global indices of entries stored in values.
 
void replaceLocalValues (LO localRow, const Teuchos::ArrayView< const LO > &indices, const Teuchos::ArrayView< const SC > &values)
 Replacing single rows of Matrix with local row ID. Indices returns local indices of entries stored in values.
 
TpetraMatrixConstPtr_Type getTpetraMatrix () const
 Return matrix in Xpetra Format of type " ".
 
void apply (const MultiVector_Type &X, MultiVector_Type &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, SC alpha=Teuchos::ScalarTraits< SC >::one(), SC beta=Teuchos::ScalarTraits< SC >::zero()) const
 Matrix Vector Operation. Applying MultiVector X to this. Y = alpha * (this)^mode * X + beta * Y. Mode being transposed or not.
 
void scale (const SC &alpha)
 Scaling this with constant alpha.
 
void writeMM (std::string fileName="matrix.mm") const
 Writing Matrix in file.
 
void addMatrix (SC alpha, const MatrixPtr_Type &B, SC beta)
 B = alpha*this + beta*B.
 
void toMV (MultiVectorPtr_Type &mv)
 Turning Matrix into MultiVector Format.
 
LO getGlobalMaxNumRowEntries () const
 Maximum number of entries in any row of the matrix, over all processes.
 
void insertLocalValues (LO localRow, const Teuchos::ArrayView< const LO > &cols, const Teuchos::ArrayView< const SC > &vals)
 
void importFromVector (MatrixPtr_Type mvIn, bool reuseImport=false, std::string combineMode="Insert", std::string type="Forward")
 
void exportFromVector (MatrixPtr_Type mvIn, bool reuseExport=false, std::string combineMode="Insert", std::string type="Forward")
 

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