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)
 
virtual ~MatrixKey ()
 
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 ()
 
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 47 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 42 of file MatrixKey.cpp.

48  : StdMatrixKey(matrixType, shapeType, stdExpansion, factorMap, varCoeffMap,
49  nodalType),
51  (dynamic_cast<const Expansion &>(stdExpansion)).GetMetricInfo())
52 {
53 }
SpatialDomains::GeomFactorsSharedPtr GetMetricInfo() const
Definition: MatrixKey.h:82
SpatialDomains::GeomFactorsSharedPtr m_metricinfo
Definition: MatrixKey.h:90

◆ MatrixKey() [2/4]

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

Definition at line 55 of file MatrixKey.cpp.

57  : StdRegions::StdMatrixKey(mkey, matrixType),
58  m_metricinfo(mkey.m_metricinfo)
59 {
60 }

◆ MatrixKey() [3/4]

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

Definition at line 62 of file MatrixKey.cpp.

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

◆ ~MatrixKey()

virtual Nektar::LocalRegions::MatrixKey::~MatrixKey ( )
inlinevirtual

Definition at line 65 of file MatrixKey.h.

66  {
67  }

◆ MatrixKey() [4/4]

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

Member Function Documentation

◆ GetMetricInfo()

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

Definition at line 82 of file MatrixKey.h.

83  {
84  return m_metricinfo;
85  }

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 75 of file MatrixKey.cpp.

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

◆ 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 90 of file MatrixKey.h.

Referenced by GetMetricInfo().