Nektar++
|
#include <SparseDiagBlkMatrix.hpp>
Public Types | |
typedef SparseStorageType | StorageType |
typedef SparseStorageType::DataType | DataType |
typedef boost::shared_ptr < SparseStorageType > | SparseStorageSharedPtr |
typedef Array< OneD, DataType > | DataVectorType |
typedef Array< OneD, const DataType > | ConstDataVectorType |
typedef Array< OneD, SparseStorageSharedPtr > | SparseStorageSharedPtrVector |
Public Member Functions | |
NekSparseDiagBlkMatrix (const SparseStorageSharedPtrVector &sparseStoragePtrVector) | |
NekSparseDiagBlkMatrix (const NekSparseDiagBlkMatrix &src) | |
~NekSparseDiagBlkMatrix () | |
const IndexType | GetRows () const |
const IndexType | GetColumns () const |
const IndexType | GetNumNonZeroEntries () |
const DataType | GetFillInRatio () const |
const IndexType | GetRows (int i) const |
number of rows at i-th submatrix | |
const IndexType | GetColumns (int i) const |
number of columns at i-th submatrix | |
const IndexType | GetNumberOfMatrixBlocks () const |
const IndexType | GetNumNonZeroEntries (int i) const |
const DataType | GetFillInRatio (int i) const |
boost::call_traits< DataType > ::const_reference | operator() (const IndexType row, const IndexType column) const |
boost::call_traits< DataType > ::const_reference | operator() (const IndexType block, const IndexType row, const IndexType column) const |
void | Multiply (const DataVectorType &in, DataVectorType &out) |
void | Multiply (const DataType *in, DataType *out) |
void | MultiplySubMatrix (const IndexType blockNum, DataType *in, DataType *out) |
const size_t | GetMemoryFootprint () |
const size_t | GetMemoryFootprint (IndexType i) const |
const unsigned long | GetMulCallsCounter () const |
const DataType | GetAvgRowDensity () |
const DataType | GetAvgRowDensity (IndexType i) const |
const IndexType | GetBandwidth () |
const IndexType | GetBandwidth (IndexType i) |
COOMatTypeSharedPtr | GetCooStorage () |
COOMatTypeSharedPtr | GetCooStorage (IndexType i) |
void | writeSparsityPatternTo (std::ostream &out, IndexType blockSize=64) |
void | writeSubmatrixSparsityPatternTo (std::ostream &out, const IndexType subMatrixIdx, IndexType blockSize=64) |
void | writeBlockSparsityPatternTo (std::ostream &out, const IndexType blk_row=0, const IndexType blk_col=0, IndexType blockSize=64) |
void | writeSubmatrixBlockSparsityPatternTo (std::ostream &out, const IndexType subMatrixIdx, const IndexType blk_row=0, const IndexType blk_col=0, IndexType blockSize=64) |
Complementary routine to the previous. It generates exact non-zero pattern of a given block matrix entry to *this object. E.g., for a 6x6 matrix defined as A(i,i):=i, A(i,j):=0, block size = 2 and blk_row=blk_col=2 it produces 2x2 matrix with 5 and 6 along the diagonal. |
Protected Attributes | |
IndexType | m_rows |
IndexType | m_cols |
IndexVector | m_rowoffset |
unsigned long | m_mulCallsCounter |
SparseStorageSharedPtrVector | m_submatrix |
Definition at line 62 of file SparseDiagBlkMatrix.hpp.
typedef Array<OneD, const DataType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::ConstDataVectorType |
Definition at line 70 of file SparseDiagBlkMatrix.hpp.
typedef SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::DataType |
Definition at line 67 of file SparseDiagBlkMatrix.hpp.
typedef Array<OneD, DataType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::DataVectorType |
Definition at line 69 of file SparseDiagBlkMatrix.hpp.
typedef boost::shared_ptr<SparseStorageType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::SparseStorageSharedPtr |
Definition at line 68 of file SparseDiagBlkMatrix.hpp.
typedef Array<OneD, SparseStorageSharedPtr> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::SparseStorageSharedPtrVector |
Definition at line 71 of file SparseDiagBlkMatrix.hpp.
typedef SparseStorageType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::StorageType |
Definition at line 66 of file SparseDiagBlkMatrix.hpp.
Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix | ( | const SparseStorageSharedPtrVector & | sparseStoragePtrVector | ) |
Definition at line 57 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_cols, Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_rowoffset, and Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_rows.
Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix | ( | const NekSparseDiagBlkMatrix< SparseStorageType > & | src | ) |
Definition at line 75 of file SparseDiagBlkMatrix.cpp.
Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::~NekSparseDiagBlkMatrix | ( | ) |
Definition at line 85 of file SparseDiagBlkMatrix.cpp.
const SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetAvgRowDensity | ( | ) |
Definition at line 267 of file SparseDiagBlkMatrix.cpp.
const SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetAvgRowDensity | ( | IndexType | i | ) | const |
Definition at line 279 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetBandwidth | ( | ) |
Definition at line 286 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetBandwidth | ( | IndexType | i | ) |
Definition at line 302 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetColumns | ( | ) | const |
Definition at line 96 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetColumns | ( | int | i | ) | const |
number of columns at i-th submatrix
Definition at line 110 of file SparseDiagBlkMatrix.cpp.
COOMatTypeSharedPtr Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetCooStorage | ( | ) |
Definition at line 329 of file SparseDiagBlkMatrix.cpp.
COOMatTypeSharedPtr Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetCooStorage | ( | IndexType | i | ) |
Definition at line 315 of file SparseDiagBlkMatrix.cpp.
const NekSparseDiagBlkMatrix< SparseStorageType >::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio | ( | ) | const |
Definition at line 146 of file SparseDiagBlkMatrix.cpp.
const NekSparseDiagBlkMatrix< SparseStorageType >::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio | ( | int | i | ) | const |
Definition at line 140 of file SparseDiagBlkMatrix.cpp.
const size_t Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMemoryFootprint | ( | ) |
Definition at line 232 of file SparseDiagBlkMatrix.cpp.
const size_t Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMemoryFootprint | ( | IndexType | i | ) | const |
Definition at line 252 of file SparseDiagBlkMatrix.cpp.
const unsigned long Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMulCallsCounter | ( | ) | const |
Definition at line 261 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumberOfMatrixBlocks | ( | ) | const |
Definition at line 116 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries | ( | ) |
Definition at line 122 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries | ( | int | i | ) | const |
Definition at line 134 of file SparseDiagBlkMatrix.cpp.
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetRows | ( | ) | const |
Definition at line 90 of file SparseDiagBlkMatrix.cpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator()().
const IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetRows | ( | int | i | ) | const |
number of rows at i-th submatrix
Definition at line 103 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::Multiply | ( | const DataVectorType & | in, |
DataVectorType & | out | ||
) |
Definition at line 199 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::Multiply | ( | const DataType * | in, |
DataType * | out | ||
) |
Definition at line 211 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::MultiplySubMatrix | ( | const IndexType | blockNum, |
DataType * | in, | ||
DataType * | out | ||
) |
Definition at line 223 of file SparseDiagBlkMatrix.cpp.
boost::call_traits< typename SparseStorageType::DataType >::const_reference Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator() | ( | const IndexType | row, |
const IndexType | column | ||
) | const |
Definition at line 168 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetRows().
boost::call_traits< typename SparseStorageType::DataType >::const_reference Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator() | ( | const IndexType | block, |
const IndexType | row, | ||
const IndexType | column | ||
) | const |
Definition at line 160 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeBlockSparsityPatternTo | ( | std::ostream & | out, |
const IndexType | blk_row = 0 , |
||
const IndexType | blk_col = 0 , |
||
IndexType | blockSize = 64 |
||
) |
Definition at line 484 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSparsityPatternTo | ( | std::ostream & | out, |
IndexType | blockSize = 64 |
||
) |
Definition at line 397 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSubmatrixBlockSparsityPatternTo | ( | std::ostream & | out, |
const IndexType | subMatrixIdx, | ||
const IndexType | blk_row = 0 , |
||
const IndexType | blk_col = 0 , |
||
IndexType | blockSize = 64 |
||
) |
Complementary routine to the previous. It generates exact non-zero pattern of a given block matrix entry to *this object. E.g., for a 6x6 matrix defined as A(i,i):=i, A(i,j):=0, block size = 2 and blk_row=blk_col=2 it produces 2x2 matrix with 5 and 6 along the diagonal.
Definition at line 446 of file SparseDiagBlkMatrix.cpp.
void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSubmatrixSparsityPatternTo | ( | std::ostream & | out, |
const IndexType | subMatrixIdx, | ||
IndexType | blockSize = 64 |
||
) |
Definition at line 358 of file SparseDiagBlkMatrix.cpp.
|
protected |
Definition at line 127 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 129 of file SparseDiagBlkMatrix.hpp.
|
protected |
Definition at line 128 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 126 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 130 of file SparseDiagBlkMatrix.hpp.