Nektar++
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, LibUtilities::PointsType nodalType=LibUtilities::eNoPointsType)
 
 MatrixKey (const MatrixKey &mkey, const StdRegions::MatrixType matrixType)
 
 MatrixKey (const StdRegions::StdMatrixKey &mkey)
 
 ~MatrixKey () override
 
SpatialDomains::GeomFactorsSharedPtr GetMetricInfo () 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, 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
 

Protected Member Functions

 MatrixKey ()
 

Protected Attributes

SpatialDomains::GeomFactorsSharedPtr m_metricinfo
 
- 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
 
VarCoeffMap m_varcoeffs
 
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. More...
 
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,
LibUtilities::PointsType  nodalType = LibUtilities::eNoPointsType 
)

Definition at line 40 of file MatrixKey.cpp.

46 : StdMatrixKey(matrixType, shapeType, stdExpansion, factorMap, varCoeffMap,
47 nodalType),
49 (dynamic_cast<const Expansion &>(stdExpansion)).GetMetricInfo())
50{
51}
SpatialDomains::GeomFactorsSharedPtr GetMetricInfo() const
Definition: MatrixKey.h:80
SpatialDomains::GeomFactorsSharedPtr m_metricinfo
Definition: MatrixKey.h:88

◆ MatrixKey() [2/4]

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

Definition at line 53 of file MatrixKey.cpp.

55 : StdRegions::StdMatrixKey(mkey, matrixType),
56 m_metricinfo(mkey.m_metricinfo)
57{
58}

◆ MatrixKey() [3/4]

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

Definition at line 60 of file MatrixKey.cpp.

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

◆ ~MatrixKey()

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

Definition at line 63 of file MatrixKey.h.

64 {
65 }

◆ MatrixKey() [4/4]

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

Member Function Documentation

◆ GetMetricInfo()

SpatialDomains::GeomFactorsSharedPtr Nektar::LocalRegions::MatrixKey::GetMetricInfo ( ) const
inline

Definition at line 80 of file MatrixKey.h.

81 {
82 return m_metricinfo;
83 }

References m_metricinfo.

Friends And Related Function Documentation

◆ operator<

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

Used for finding value given the key in NekManager.

Definition at line 73 of file MatrixKey.cpp.

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

◆ opLess::operator()

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

Member Data Documentation

◆ m_metricinfo

SpatialDomains::GeomFactorsSharedPtr Nektar::LocalRegions::MatrixKey::m_metricinfo
protected

Definition at line 88 of file MatrixKey.h.

Referenced by GetMetricInfo().