Nektar++
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Nektar::LocalRegions::MatrixKey Class Reference

#include <MatrixKey.h>

Inheritance diagram for Nektar::LocalRegions::MatrixKey:
[legend]

Classes

struct  opLess
 Used to lookup the create function in NekManager. More...
 

Public Member Functions

 MatrixKey (const StdRegions::MatrixType matrixType, const LibUtilities::ShapeType shapeType, const StdRegions::StdExpansion &stdExpansion, const StdRegions::ConstFactorMap &factorMap=StdRegions::NullConstFactorMap, const StdRegions::VarCoeffMap &varCoeffMap=StdRegions::NullVarCoeffMap, const StdRegions::VarFactorsMap &varFactorMap=StdRegions::NullVarFactorsMap, LibUtilities::PointsType nodalType=LibUtilities::eNoPointsType)
 
 MatrixKey (const MatrixKey &mkey, const StdRegions::MatrixType matrixType)
 
 MatrixKey (const StdRegions::StdMatrixKey &mkey)
 
 ~MatrixKey () override
 
SpatialDomains::GeomFactorsGetGeomFactors () const
 
- Public Member Functions inherited from Nektar::StdRegions::StdMatrixKey
 StdMatrixKey (const StdRegions::MatrixType matrixType, const LibUtilities::ShapeType shapeType, const StdRegions::StdExpansion &stdExpansion, const ConstFactorMap &factorMap=NullConstFactorMap, const VarCoeffMap &varCoeffMap=NullVarCoeffMap, const VarFactorsMap &varFactorMap=NullVarFactorsMap, LibUtilities::PointsType nodalType=LibUtilities::eNoPointsType)
 
 StdMatrixKey (const StdMatrixKey &rhs, const StdRegions::MatrixType matrixType)
 
 StdMatrixKey (const StdMatrixKey &rhs)
 
virtual ~StdMatrixKey ()=default
 
StdMatrixKey operator= (const StdMatrixKey &inKey)
 
MatrixType GetMatrixType () const
 
LibUtilities::ShapeType GetShapeType () const
 
LibUtilities::PointsType GetNodalPointsType () const
 
int GetNcoeffs () const
 
const Array< OneD, const LibUtilities::BasisSharedPtr > & GetBase () const
 
std::vector< std::size_t > GetVarCoeffHashes () const
 
const LibUtilities::BasisSharedPtr GetBasis (int dir) const
 
int GetNConstFactors () const
 
NekDouble GetConstFactor (const ConstFactorType &factor) const
 
bool ConstFactorExists (const ConstFactorType &factor) const
 
const ConstFactorMapGetConstFactors () const
 
int GetNVarCoeff () const
 
const Array< OneD, const NekDouble > & GetVarCoeff (const StdRegions::VarCoeffType &coeff) const
 
const VarCoeffMap GetVarCoeffAsMap (const VarCoeffType &coeff) const
 
const VarCoeffMapGetVarCoeffs () const
 
bool HasVarCoeff (const StdRegions::VarCoeffType &coeff) const
 
bool HasVarCoeffForMatrixType (const StdRegions::MatrixType &mtype) const
 
int GetNVarFactors () const
 
const Array< OneD, const NekDouble > & GetVarFactors (const StdRegions::ConstFactorType &type) const
 
std::vector< std::size_t > GetVarFactorsfHashes () const
 
const VarFactorsMapGetVarFactors () const
 
bool HasVarFactors (const StdRegions::ConstFactorType &type) const
 

Protected Member Functions

 MatrixKey ()
 

Protected Attributes

SpatialDomains::GeomFactorsm_geomFactors
 
- Protected Attributes inherited from Nektar::StdRegions::StdMatrixKey
LibUtilities::ShapeType m_shapeType
 
Array< OneD, const LibUtilities::BasisSharedPtrm_base
 
unsigned int m_ncoeffs
 
MatrixType m_matrixType
 
LibUtilities::PointsType m_nodalPointsType
 
ConstFactorMap m_factors
 
VarFactorsMap m_varfactors
 
VarCoeffMap m_varcoeffs
 
std::vector< std::size_t > m_varfactor_hashes
 
std::vector< std::size_t > m_varcoeff_hashes
 

Friends

bool operator< (const MatrixKey &lhs, const MatrixKey &rhs)
 Used for finding value given the key in NekManager.
 
bool opLess::operator() (const MatrixKey &lhs, const MatrixKey &rhs) const
 

Detailed Description

Definition at line 45 of file MatrixKey.h.

Constructor & Destructor Documentation

◆ MatrixKey() [1/4]

Nektar::LocalRegions::MatrixKey::MatrixKey ( const StdRegions::MatrixType  matrixType,
const LibUtilities::ShapeType  shapeType,
const StdRegions::StdExpansion stdExpansion,
const StdRegions::ConstFactorMap factorMap = StdRegions::NullConstFactorMap,
const StdRegions::VarCoeffMap varCoeffMap = StdRegions::NullVarCoeffMap,
const StdRegions::VarFactorsMap varFactorMap = StdRegions::NullVarFactorsMap,
LibUtilities::PointsType  nodalType = LibUtilities::eNoPointsType 
)

Definition at line 40 of file MatrixKey.cpp.

47 : StdMatrixKey(matrixType, shapeType, stdExpansion, factorMap, varCoeffMap,
48 varFactorsMap, nodalType),
50 (dynamic_cast<const Expansion &>(stdExpansion)).GetGeomFactors())
51{
52}
SpatialDomains::GeomFactors * GetGeomFactors() const
Definition MatrixKey.h:82
SpatialDomains::GeomFactors * m_geomFactors
Definition MatrixKey.h:90

◆ MatrixKey() [2/4]

Nektar::LocalRegions::MatrixKey::MatrixKey ( const MatrixKey mkey,
const StdRegions::MatrixType  matrixType 
)

Definition at line 54 of file MatrixKey.cpp.

56 : StdRegions::StdMatrixKey(mkey, matrixType),
57 m_geomFactors(mkey.m_geomFactors)
58{
59}

◆ MatrixKey() [3/4]

Nektar::LocalRegions::MatrixKey::MatrixKey ( const StdRegions::StdMatrixKey mkey)

Definition at line 61 of file MatrixKey.cpp.

62 : StdRegions::StdMatrixKey(mkey)
63{
64}

◆ ~MatrixKey()

Nektar::LocalRegions::MatrixKey::~MatrixKey ( )
inlineoverride

Definition at line 65 of file MatrixKey.h.

66 {
67 }

◆ MatrixKey() [4/4]

Nektar::LocalRegions::MatrixKey::MatrixKey ( )
protected

Member Function Documentation

◆ GetGeomFactors()

SpatialDomains::GeomFactors * Nektar::LocalRegions::MatrixKey::GetGeomFactors ( ) const
inline

Definition at line 82 of file MatrixKey.h.

83 {
84 return m_geomFactors;
85 }

References m_geomFactors.

Friends And Related Symbol Documentation

◆ operator<

bool operator< ( const MatrixKey lhs,
const MatrixKey rhs 
)
friend

Used for finding value given the key in NekManager.

Definition at line 74 of file MatrixKey.cpp.

75{
76 if (lhs.m_geomFactors < rhs.m_geomFactors)
77 {
78 return true;
79 }
80
81 if (lhs.m_geomFactors > rhs.m_geomFactors)
82 {
83 return false;
84 }
85
86 return (*dynamic_cast<const StdRegions::StdMatrixKey *>(&lhs) <
87 *dynamic_cast<const StdRegions::StdMatrixKey *>(&rhs));
88}

◆ opLess::operator()

bool opLess::operator() ( const MatrixKey lhs,
const MatrixKey rhs 
) const
friend

Member Data Documentation

◆ m_geomFactors

SpatialDomains::GeomFactors* Nektar::LocalRegions::MatrixKey::m_geomFactors
protected

Definition at line 90 of file MatrixKey.h.

Referenced by GetGeomFactors().