42 namespace MultiRegions
64 m_solnType(locToGloMap->GetGlobalSysSolnType()),
65 m_varFactors(varFactors),
66 m_varFactors_hashes(varFactors.size())
70 for (VarFactorsMap::const_iterator x = varFactors.begin();
71 x != varFactors.end(); ++x)
74 x->second.begin() + x->second.num_elements());
86 m_solnType(key.m_solnType),
87 m_varFactors(key.m_varFactors),
88 m_varFactors_hashes(key.m_varFactors_hashes)
111 if(
lhs.m_solnType <
rhs.m_solnType)
116 if(
lhs.m_solnType >
rhs.m_solnType)
121 if(
lhs.m_varFactors.size() <
rhs.m_varFactors.size())
126 if(
lhs.m_varFactors.size() >
rhs.m_varFactors.size())
131 for (
unsigned int i = 0; i <
lhs.m_varFactors_hashes.size(); ++i)
133 if(
lhs.m_varFactors_hashes[i] <
rhs.m_varFactors_hashes[i])
137 if(
lhs.m_varFactors_hashes[i] >
rhs.m_varFactors_hashes[i])
159 os <<
"Solution Type: "
161 os <<
"Number of constants: " <<
rhs.GetNConstFactors() << endl;
162 for (
auto &x :
rhs.GetConstFactors())
165 <<
": " << x.second << endl;
167 os <<
"Number of variable coefficients: "
168 <<
rhs.GetNVarCoeffs() << endl;
170 os <<
"Number of variable factors : "
171 <<
rhs.GetNVarFactors() << endl;
Describe a linear system.
GlobalLinSysKey(const StdRegions::MatrixType matrixType, const AssemblyMapSharedPtr &locToGloMap=NullAssemblyMapSharedPtr, const StdRegions::ConstFactorMap &factors=StdRegions::NullConstFactorMap, const StdRegions::VarCoeffMap &varCoeffs=StdRegions::NullVarCoeffMap, const VarFactorsMap &varFactos=NullVarFactorsMap)
std::vector< std::size_t > m_varFactors_hashes
virtual ~GlobalLinSysKey()
Destructor.
Describes a matrix with ordering defined by a local to global map.
const char *const ShapeTypeMap[]
std::ostream & operator<<(std::ostream &os, const GlobalLinSysKey &rhs)
Writes information about the object to a given stream.
const char *const GlobalSysSolnTypeMap[]
bool operator<(const GlobalLinSysKey &lhs, const GlobalLinSysKey &rhs)
std::map< StdRegions::ConstFactorType, Array< OneD, NekDouble > > VarFactorsMap
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
const char *const ConstFactorTypeMap[]
const char *const MatrixTypeMap[]
std::map< ConstFactorType, NekDouble > ConstFactorMap
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs
std::size_t hash_range(Iter first, Iter last)
void hash_combine(std::size_t &seed)