Nektar++
|
#include <BlockMatrix.hpp>
Classes | |
class | iterator_base |
Public Types | |
typedef NekMatrix< DataType, InnerMatrixType > | InnerType |
typedef NekMatrix< InnerType, BlockMatrixTag > | ThisType |
typedef InnerType::NumberType | NumberType |
typedef ConstMatrix< NumberType > | BaseType |
typedef InnerType::GetValueType | GetValueType |
typedef InnerType::ConstGetValueType | ConstGetValueType |
typedef iterator_base< ThisType > | iterator |
typedef iterator_base< const ThisType > | const_iterator |
Public Member Functions | |
NekMatrix (MatrixStorage type=eFULL) | |
NekMatrix (unsigned int numberOfBlockRows, unsigned int numberOfBlockColumns, unsigned int rowsPerBlock, unsigned int columnsPerBlock, MatrixStorage type=eFULL) | |
NekMatrix (unsigned int numberOfBlockRows, unsigned int numberOfBlockColumns, const unsigned int *rowsPerBlock, const unsigned int *columnsPerBlock, MatrixStorage type=eFULL) | |
NekMatrix (unsigned int numberOfBlockRows, unsigned int numberOfBlockColumns, const Array< OneD, const unsigned int > &rowsPerBlock, const Array< OneD, const unsigned int > &columnsPerBlock, MatrixStorage type=eFULL) | |
NekMatrix (const Array< OneD, const unsigned int > &rowsPerBlock, const Array< OneD, const unsigned int > &columnsPerBlock, MatrixStorage type=eFULL) | |
NekMatrix (const ThisType &rhs) | |
unsigned int | GetRequiredStorageSize () const |
unsigned int | CalculateBlockIndex (unsigned int row, unsigned int column) const |
const InnerType * | GetBlockPtr (unsigned int row, unsigned int column) const |
boost::shared_ptr< const InnerType > | GetBlock (unsigned int row, unsigned int column) const |
boost::shared_ptr< InnerType > & | GetBlock (unsigned int row, unsigned int column) |
void | SetBlock (unsigned int row, unsigned int column, boost::shared_ptr< InnerType > &m) |
ConstGetValueType | operator() (unsigned int row, unsigned int col) const |
unsigned int | GetStorageSize () const |
MatrixStorage | GetType () const |
unsigned int | GetNumberOfBlockRows () const |
unsigned int | GetNumberOfBlockColumns () const |
unsigned int | GetNumberOfRowsInBlockRow (unsigned int blockRow) const |
unsigned int | GetNumberOfColumnsInBlockColumn (unsigned int blockCol) const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
Public Member Functions inherited from Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType > | |
virtual | ~ConstMatrix () |
boost::call_traits< NekMatrix < DataType, InnerMatrixType > ::NumberType >::value_type | operator() (unsigned int row, unsigned int column) const |
unsigned int | GetStorageSize () const |
MatrixStorage | GetStorageType () const |
unsigned int | GetRows () const |
unsigned int | GetTransposedRows (char transpose) const |
unsigned int | GetColumns () const |
unsigned int | GetTransposedColumns (char transpose) const |
const unsigned int * | GetSize () const |
void | Transpose () |
char | GetTransposeFlag () const |
Static Public Member Functions | |
static ThisType | CreateWrapper (const ThisType &rhs) |
static boost::shared_ptr < ThisType > | CreateWrapper (const boost::shared_ptr< ThisType > &rhs) |
Static Public Member Functions inherited from Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType > | |
static unsigned int | CalculateIndex (MatrixStorage type, unsigned int row, unsigned int col, unsigned int numRows, unsigned int numColumns, const char transpose= 'N', unsigned int numSubDiags=0, unsigned int numSuperDiags=0) |
static unsigned int | GetRequiredStorageSize (MatrixStorage type, unsigned int rows, unsigned int columns, unsigned int subDiags=0, unsigned int superDiags=0) |
Private Member Functions | |
void | Initialize (const unsigned int *rowsPerBlock, const unsigned int *columnsPerBlock) |
virtual boost::call_traits < NumberType >::value_type | v_GetValue (unsigned int row, unsigned int column) const |
virtual unsigned int | v_GetStorageSize () const |
virtual MatrixStorage | v_GetStorageType () const |
virtual void | v_Transpose () |
Static Private Member Functions | |
static unsigned int | GetNumberOfElementsInBlock (unsigned int block, unsigned int totalBlocks, const Array< OneD, unsigned int > &sizes) |
Private Attributes | |
Array< OneD, boost::shared_ptr < InnerType > > | m_data |
boost::shared_ptr< InnerType > | m_nullBlockPtr |
Array< OneD, unsigned int > | m_rowSizes |
Array< OneD, unsigned int > | m_columnSizes |
unsigned int | m_storageSize |
unsigned int | m_numberOfBlockRows |
unsigned int | m_numberOfBlockColumns |
MatrixStorage | m_storageType |
Static Private Attributes | |
static NumberType | m_zeroElement |
Additional Inherited Members | |
Protected Member Functions inherited from Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType > | |
ConstMatrix (unsigned int rows, unsigned int columns) | |
ConstMatrix (const ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType > &rhs) | |
ConstMatrix< NekMatrix < DataType, InnerMatrixType > ::NumberType > & | operator= (const ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType > &rhs) |
void | Resize (unsigned int rows, unsigned int columns) |
Resets the rows and columns in the array. This method does not update the data storage to match the new row and column counts. More... | |
void | SetTransposeFlag (char newValue) |
char | GetRawTransposeFlag () const |
Definition at line 52 of file BlockMatrix.hpp.
typedef ConstMatrix<NumberType> Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::BaseType |
Definition at line 58 of file BlockMatrix.hpp.
typedef iterator_base<const ThisType> Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::const_iterator |
Definition at line 131 of file BlockMatrix.hpp.
typedef InnerType::ConstGetValueType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::ConstGetValueType |
Definition at line 64 of file BlockMatrix.hpp.
typedef InnerType::GetValueType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetValueType |
Definition at line 63 of file BlockMatrix.hpp.
typedef NekMatrix<DataType, InnerMatrixType> Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::InnerType |
Definition at line 55 of file BlockMatrix.hpp.
typedef iterator_base<ThisType> Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator |
Definition at line 130 of file BlockMatrix.hpp.
typedef InnerType::NumberType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NumberType |
Definition at line 57 of file BlockMatrix.hpp.
typedef NekMatrix<InnerType, BlockMatrixTag> Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::ThisType |
Definition at line 56 of file BlockMatrix.hpp.
|
explicit |
Definition at line 42 of file BlockMatrix.cpp.
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NekMatrix | ( | unsigned int | numberOfBlockRows, |
unsigned int | numberOfBlockColumns, | ||
unsigned int | rowsPerBlock, | ||
unsigned int | columnsPerBlock, | ||
MatrixStorage | type = eFULL |
||
) |
Definition at line 55 of file BlockMatrix.cpp.
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NekMatrix | ( | unsigned int | numberOfBlockRows, |
unsigned int | numberOfBlockColumns, | ||
const unsigned int * | rowsPerBlock, | ||
const unsigned int * | columnsPerBlock, | ||
MatrixStorage | type = eFULL |
||
) |
Definition at line 81 of file BlockMatrix.cpp.
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NekMatrix | ( | unsigned int | numberOfBlockRows, |
unsigned int | numberOfBlockColumns, | ||
const Array< OneD, const unsigned int > & | rowsPerBlock, | ||
const Array< OneD, const unsigned int > & | columnsPerBlock, | ||
MatrixStorage | type = eFULL |
||
) |
Definition at line 100 of file BlockMatrix.cpp.
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NekMatrix | ( | const Array< OneD, const unsigned int > & | rowsPerBlock, |
const Array< OneD, const unsigned int > & | columnsPerBlock, | ||
MatrixStorage | type = eFULL |
||
) |
Definition at line 119 of file BlockMatrix.cpp.
Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::NekMatrix | ( | const ThisType & | rhs | ) |
NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::begin | ( | ) |
Definition at line 365 of file BlockMatrix.cpp.
References Nektar::iterator.
NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::const_iterator Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::begin | ( | ) | const |
Definition at line 371 of file BlockMatrix.cpp.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::CalculateBlockIndex | ( | unsigned int | row, |
unsigned int | column | ||
) | const |
Definition at line 162 of file BlockMatrix.cpp.
|
static |
|
static |
NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::iterator Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::end | ( | ) |
Definition at line 368 of file BlockMatrix.cpp.
References Nektar::iterator.
NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::const_iterator Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::end | ( | ) | const |
Definition at line 374 of file BlockMatrix.cpp.
boost::shared_ptr< const typename NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::InnerType > Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetBlock | ( | unsigned int | row, |
unsigned int | column | ||
) | const |
Definition at line 199 of file BlockMatrix.cpp.
References ASSERTL2.
boost::shared_ptr< typename NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::InnerType > & Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetBlock | ( | unsigned int | row, |
unsigned int | column | ||
) |
Definition at line 220 of file BlockMatrix.cpp.
References ASSERTL2.
const NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::InnerType * Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetBlockPtr | ( | unsigned int | row, |
unsigned int | column | ||
) | const |
Definition at line 178 of file BlockMatrix.cpp.
References ASSERTL2.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetNumberOfBlockColumns | ( | ) | const |
Definition at line 326 of file BlockMatrix.cpp.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetNumberOfBlockRows | ( | ) | const |
Definition at line 313 of file BlockMatrix.cpp.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetNumberOfColumnsInBlockColumn | ( | unsigned int | blockCol | ) | const |
Definition at line 352 of file BlockMatrix.cpp.
|
staticprivate |
Definition at line 391 of file BlockMatrix.cpp.
References ASSERTL2.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetNumberOfRowsInBlockRow | ( | unsigned int | blockRow | ) | const |
Definition at line 339 of file BlockMatrix.cpp.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetRequiredStorageSize | ( | ) | const |
Definition at line 155 of file BlockMatrix.cpp.
unsigned int Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetStorageSize | ( | ) | const |
Definition at line 301 of file BlockMatrix.cpp.
MatrixStorage Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::GetType | ( | ) | const |
Definition at line 307 of file BlockMatrix.cpp.
|
private |
Definition at line 407 of file BlockMatrix.cpp.
NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::ConstGetValueType Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::operator() | ( | unsigned int | row, |
unsigned int | col | ||
) | const |
Definition at line 255 of file BlockMatrix.cpp.
References ASSERTL2.
void Nektar::NekMatrix< NekMatrix< DataType, InnerMatrixType >, BlockMatrixTag >::SetBlock | ( | unsigned int | row, |
unsigned int | column, | ||
boost::shared_ptr< InnerType > & | m | ||
) |
Definition at line 240 of file BlockMatrix.cpp.
References ASSERTL2.
|
privatevirtual |
Implements Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType >.
Definition at line 436 of file BlockMatrix.cpp.
|
privatevirtual |
Implements Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType >.
Definition at line 442 of file BlockMatrix.cpp.
|
privatevirtual |
Implements Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType >.
Definition at line 430 of file BlockMatrix.cpp.
|
privatevirtual |
Reimplemented from Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType >.
Definition at line 448 of file BlockMatrix.cpp.
|
private |
Definition at line 207 of file BlockMatrix.hpp.
|
private |
Definition at line 204 of file BlockMatrix.hpp.
|
private |
Definition at line 205 of file BlockMatrix.hpp.
|
private |
Definition at line 210 of file BlockMatrix.hpp.
|
private |
Definition at line 209 of file BlockMatrix.hpp.
|
private |
Definition at line 206 of file BlockMatrix.hpp.
|
private |
Definition at line 208 of file BlockMatrix.hpp.
|
private |
Definition at line 211 of file BlockMatrix.hpp.
|
staticprivate |
Definition at line 212 of file BlockMatrix.hpp.