Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LocalRegions::MatrixKey:
Collaboration graph
[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::BasisSharedPtr
m_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 48 of file MatrixKey.h.

Constructor & Destructor Documentation

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

48  :
49  StdMatrixKey(matrixType, shapeType, stdExpansion, factorMap, varCoeffMap, nodalType),
50  m_metricinfo(stdExpansion.GetMetricInfo())
51  {
52  }
SpatialDomains::GeomFactorsSharedPtr m_metricinfo
Definition: MatrixKey.h:86
Nektar::LocalRegions::MatrixKey::MatrixKey ( const MatrixKey mkey,
const StdRegions::MatrixType  matrixType 
)

Definition at line 54 of file MatrixKey.cpp.

55  :
56  StdRegions::StdMatrixKey(mkey, matrixType),
57  m_metricinfo(mkey.m_metricinfo)
58  {
59  }
SpatialDomains::GeomFactorsSharedPtr m_metricinfo
Definition: MatrixKey.h:86
Nektar::LocalRegions::MatrixKey::MatrixKey ( const StdRegions::StdMatrixKey mkey)

Definition at line 61 of file MatrixKey.cpp.

61  :
62  StdRegions::StdMatrixKey(mkey)
63  {
64  }
virtual Nektar::LocalRegions::MatrixKey::~MatrixKey ( )
inlinevirtual

Definition at line 63 of file MatrixKey.h.

64  {
65  }
Nektar::LocalRegions::MatrixKey::MatrixKey ( )
protected

Member Function Documentation

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

Definition at line 78 of file MatrixKey.h.

References m_metricinfo.

79  {
80  return m_metricinfo;
81  }
SpatialDomains::GeomFactorsSharedPtr m_metricinfo
Definition: MatrixKey.h:86

Friends And Related Function Documentation

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 
81  if(lhs.m_metricinfo.get() > rhs.m_metricinfo.get())
82  {
83  return false;
84  }
85 
86  return (*dynamic_cast<const StdRegions::StdMatrixKey*>(&lhs)
87  < *dynamic_cast<const StdRegions::StdMatrixKey*>(&rhs));
88  }
StandardMatrixTag & lhs
bool opLess::operator() ( const MatrixKey lhs,
const MatrixKey rhs 
) const
friend

Member Data Documentation

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

Definition at line 86 of file MatrixKey.h.

Referenced by GetMetricInfo(), and Nektar::LocalRegions::operator<().