This class implements "serial" CSR matrix, including capabilities for FEM assembly.
More...
|
|
| | DistributedCsrMatrix () |
| |
| | DistributedCsrMatrix (const DataCommunicator &rComm) |
| |
| | DistributedCsrMatrix (const DistributedSparseGraph< TIndexType > &rSparseGraph) |
| |
| | DistributedCsrMatrix (const DistributedCsrMatrix &rOtherMatrix) |
| |
| | DistributedCsrMatrix (DistributedCsrMatrix< TDataType, TIndexType > &&rOtherMatrix) |
| |
| DistributedCsrMatrix & | operator= (DistributedCsrMatrix &&rOtherMatrix) |
| |
| | ~DistributedCsrMatrix () |
| | Destructor. More...
|
| |
| DistributedCsrMatrix & | operator= (DistributedCsrMatrix const &rOther)=delete |
| | Assignment operator. TODO: decide if we do want to allow it. More...
|
| |
|
| void | Clear () |
| |
| const DistributedNumbering< TIndexType > & | GetRowNumbering () const |
| |
| const DistributedNumbering< TIndexType > & | GetColNumbering () const |
| |
| DistributedNumbering< TIndexType >::UniquePointer & | pGetRowNumbering () |
| |
| DistributedNumbering< TIndexType >::UniquePointer & | pGetColNumbering () |
| |
| DistributedVectorImporter< TDataType, TIndexType >::UniquePointer & | pGetVectorImporter () |
| |
| void | SetValue (const TDataType value) |
| |
| TIndexType | local_size1 () const |
| |
| TIndexType | size2 () const |
| |
| TIndexType | local_nnz () const |
| |
| const DataCommunicator & | GetComm () const |
| |
| const DataCommunicator * | pGetComm () const |
| |
| CsrMatrix< TDataType, TIndexType >::UniquePointer & | pGetDiagonalBlock () |
| |
| CsrMatrix< TDataType, TIndexType >::UniquePointer & | pGetOffDiagonalBlock () |
| |
| CsrMatrix< TDataType, TIndexType > & | GetDiagonalBlock () |
| |
| CsrMatrix< TDataType, TIndexType > & | GetOffDiagonalBlock () |
| |
| const CsrMatrix< TDataType, TIndexType > & | GetDiagonalBlock () const |
| |
| const CsrMatrix< TDataType, TIndexType > & | GetOffDiagonalBlock () const |
| |
| const std::map< TIndexType, TIndexType > & | GetOffDiagonalLocalIds () const |
| |
| std::map< TIndexType, TIndexType > & | GetOffDiagonalLocalIds () |
| |
| const DenseVector< TIndexType > & | GetOffDiagonalGlobalIds () const |
| |
| DenseVector< TIndexType > & | GetOffDiagonalGlobalIds () |
| |
| TIndexType | GetOffDiagonalBlockLocalId (TIndexType GlobalJ) const |
| |
| TIndexType | GetOffDiaGlobalId (TIndexType LocalJ) const |
| |
| TDataType & | GetLocalDataByGlobalId (TIndexType GlobalI, TIndexType GlobalJ) |
| |
| TDataType & | GetNonLocalCachedDataByGlobalId (TIndexType GlobalI, TIndexType GlobalJ) |
| |
| DenseVector< TIndexType > | GetDiagonalIndex2DataInGlobalNumbering () const |
| |
| DenseVector< TIndexType > | GetOffDiagonalIndex2DataInGlobalNumbering () const |
| |
| void | ApplyHomogeneousDirichlet (const DistributedSystemVector< TDataType, TIndexType > &rFreeDofsVector, const TDataType DiagonalValue, DistributedSystemVector< TDataType, TIndexType > &rRHS) |
| |
|
| void | SpMV (const DistributedSystemVector< TDataType, TIndexType > &x, DistributedSystemVector< TDataType, TIndexType > &y) const |
| |
| void | SpMV (const TDataType alpha, const DistributedSystemVector< TDataType, TIndexType > &x, const TDataType beta, DistributedSystemVector< TDataType, TIndexType > &y) const |
| |
| DistributedVectorExporter< TIndexType > * | TransposeSpMV (const DistributedSystemVector< TDataType, TIndexType > &x, DistributedSystemVector< TDataType, TIndexType > &y, DistributedVectorExporter< TIndexType > *pTransposeExporter=nullptr) const |
| |
| DistributedVectorExporter< TIndexType > * | TransposeSpMV (TDataType alpha, const DistributedSystemVector< TDataType, TIndexType > &x, TDataType beta, DistributedSystemVector< TDataType, TIndexType > &y, DistributedVectorExporter< TIndexType > *pTransposeExporter=nullptr) const |
| |
| TDataType | NormFrobenius () const |
| |
| void | BeginAssemble () |
| |
| void | FinalizeAssemble () |
| |
| template<class TMatrixType , class TIndexVectorType > |
| void | Assemble (const TMatrixType &rMatrixInput, const TIndexVectorType &EquationId) |
| |
| void | AssembleEntry (const TDataType Value, const TIndexType GlobalI, const TIndexType GlobalJ) |
| |
| template<class TMatrixType , class TIndexVectorType > |
| void | Assemble (const TMatrixType &rMatrixInput, const TIndexVectorType &RowEquationId, const TIndexVectorType &ColEquationId) |
| |
| MatrixMapType | ToMap () const |
| |
| CsrMatrix< TDataType, TIndexType >::Pointer | ToSerialCSR (MpiIndexType target_rank=0) const |
| |
|
| std::string | Info () const |
| | Turn back information as a string. More...
|
| |
| void | PrintInfo (std::ostream &rOStream) const |
| | Print information about this object. More...
|
| |
| void | PrintData (std::ostream &rOStream) const |
| | Print object's data. More...
|
| |
template<class TDataType = double, class TIndexType = std::size_t>
class Kratos::DistributedCsrMatrix< TDataType, TIndexType >
This class implements "serial" CSR matrix, including capabilities for FEM assembly.