42 namespace MultiRegions
48 m_matrixType(matrixType),
50 m_constFactors(factors),
51 m_varCoeffs(varCoeffs),
52 m_locToGloMap(locToGloMap)
58 m_matrixType(key.m_matrixType),
59 m_shapeType(shapeType),
60 m_constFactors(key.m_constFactors),
61 m_varCoeffs(key.m_varCoeffs),
62 m_locToGloMap(key.m_locToGloMap)
67 m_matrixType(key.m_matrixType),
68 m_shapeType(key.m_shapeType),
69 m_constFactors(key.m_constFactors),
70 m_varCoeffs(key.m_varCoeffs),
71 m_locToGloMap(key.m_locToGloMap)
81 if(
lhs.m_matrixType <
rhs.m_matrixType)
86 if(
lhs.m_matrixType >
rhs.m_matrixType)
92 if(
lhs.m_shapeType <
rhs.m_shapeType)
98 if(
lhs.m_shapeType >
rhs.m_shapeType)
103 if(
lhs.m_constFactors.size() <
rhs.m_constFactors.size())
107 else if(
lhs.m_constFactors.size() >
rhs.m_constFactors.size())
113 StdRegions::ConstFactorMap::const_iterator x, y;
114 for(x =
lhs.m_constFactors.begin(), y =
rhs.m_constFactors.begin();
115 x !=
lhs.m_constFactors.end(); ++x, ++y)
117 if (x->second < y->second)
121 if (x->second > y->second)
128 if(
lhs.m_varCoeffs.size() <
rhs.m_varCoeffs.size())
132 else if(
lhs.m_varCoeffs.size() >
rhs.m_varCoeffs.size())
153 if(!
rhs.m_locToGloMap.lock().get())
157 else if(!
lhs.m_locToGloMap.lock().get() &&
rhs.m_locToGloMap.lock().get() )
161 if(
lhs.m_locToGloMap.lock()->GetHash() <
rhs.m_locToGloMap.lock()->GetHash())
171 os <<
"MatrixType: " <<
rhs.GetMatrixType() << endl;
172 os <<
"Number of constants: " <<
rhs.GetNConstFactors() << endl;
173 for(
auto &x :
rhs.GetConstFactors())
176 <<
": " << x.second << endl;
178 os <<
"Number of variable coefficients: "
179 <<
rhs.GetNVarCoeffs() << endl;
Describes a matrix with ordering defined by a local to global map.
virtual ~GlobalMatrixKey()
Destructor.
GlobalMatrixKey()
Default constructor.
std::ostream & operator<<(std::ostream &os, const GlobalLinSysKey &rhs)
Writes information about the object to a given stream.
bool operator<(const GlobalLinSysKey &lhs, const GlobalLinSysKey &rhs)
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
const char *const ConstFactorTypeMap[]
std::map< ConstFactorType, NekDouble > ConstFactorMap
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs