This class implements "serial" CSR matrix, including capabilities for FEM assembly.
More...
|
|
| CsrMatrix () |
|
| CsrMatrix (const DataCommunicator &rComm) |
|
template<class TGraphType > |
| CsrMatrix (const TGraphType &rSparseGraph) |
| constructor. More...
|
|
| CsrMatrix (const MatrixMapType &matrix_map) |
|
| CsrMatrix (const CsrMatrix< TDataType, TIndexType > &rOtherMatrix) |
|
| CsrMatrix (CsrMatrix< TDataType, TIndexType > &&rOtherMatrix) |
|
| ~CsrMatrix () |
| Destructor. More...
|
|
CsrMatrix & | operator= (CsrMatrix const &rOtherMatrix)=delete |
| Assignment operator. More...
|
|
CsrMatrix & | operator= (CsrMatrix &&rOtherMatrix) |
|
|
void | Clear () |
|
const DataCommunicator & | GetComm () const |
|
const DataCommunicator * | pGetComm () const |
|
void | SetValue (const TDataType value) |
|
IndexType | size1 () const |
|
IndexType | size2 () const |
|
IndexType | nnz () const |
|
bool | IsOwnerOfData () const |
|
void | SetIsOwnerOfData (bool IsOwner) |
|
Kratos::span< IndexType > & | index1_data () |
|
Kratos::span< IndexType > & | index2_data () |
|
Kratos::span< TDataType > & | value_data () |
|
const Kratos::span< IndexType > & | index1_data () const |
|
const Kratos::span< IndexType > & | index2_data () const |
|
const Kratos::span< TDataType > & | value_data () const |
|
void | SetColSize (IndexType Ncols) |
|
void | SetRowSize (IndexType Nrows) |
|
void | ComputeColSize () |
|
void | AssignIndex1Data (TIndexType *pExternalData, TIndexType DataSize) |
|
void | AssignIndex2Data (TIndexType *pExternalData, TIndexType DataSize) |
|
void | AssignValueData (TDataType *pExternalData, TIndexType DataSize) |
|
void | ResizeIndex1Data (TIndexType DataSize) |
|
void | ResizeIndex2Data (TIndexType DataSize) |
|
void | ResizeValueData (TIndexType DataSize) |
|
void | CheckColSize () |
|
TDataType & | operator() (IndexType I, IndexType J) |
|
const TDataType & | operator() (IndexType I, IndexType J) const |
|
bool | Has (IndexType I, IndexType J) const |
|
template<class TInputVectorType , class TOutputVectorType > |
void | SpMV (const TInputVectorType &x, TOutputVectorType &y) const |
|
template<class TInputVectorType , class TOutputVectorType > |
void | SpMV (const TDataType alpha, const TInputVectorType &x, const TDataType beta, TOutputVectorType &y) const |
|
template<class TInputVectorType , class TOutputVectorType > |
void | TransposeSpMV (const TInputVectorType &x, TOutputVectorType &y) const |
|
template<class TInputVectorType , class TOutputVectorType > |
void | TransposeSpMV (const TDataType alpha, const TInputVectorType &x, const TDataType beta, TOutputVectorType &y) const |
|
TDataType | NormFrobenius () const |
|
|
void | reserve (IndexType NRows, IndexType nnz) |
|
MatrixMapType | ToMap () const |
|
void | BeginAssemble () |
|
void | FinalizeAssemble () |
|
template<class TMatrixType , class TIndexVectorType > |
void | Assemble (const TMatrixType &rMatrixInput, const TIndexVectorType &EquationId) |
|
template<class TMatrixType , class TIndexVectorType > |
void | Assemble (const TMatrixType &rMatrixInput, const TIndexVectorType &RowEquationId, const TIndexVectorType &ColEquationId) |
|
void | AssembleEntry (const TDataType Value, const IndexType GlobalI, const IndexType GlobalJ) |
|
template<class TVectorType1 , class TVectorType2 = TVectorType1> |
void | ApplyHomogeneousDirichlet (const TVectorType1 &rFreeDofsVector, const TDataType DiagonalValue, TVectorType2 &rRHS) |
|
|
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::CsrMatrix< TDataType, TIndexType >
This class implements "serial" CSR matrix, including capabilities for FEM assembly.