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.