77 "StdSegExp",
"SegExp",
"StdQuadExp",
"StdTriExp",
"StdNodalTriExp",
78 "QuadExp",
"TriExp",
"NodalTriExp",
"StdHexExp",
"StdPrismExp",
79 "StdPyrExp",
"StdTetExp",
"StdNodalTetExp",
"HexExp",
"PrismExp",
80 "PyrExp",
"TetExp",
"NodalTetExp",
148 "Mass wiht Diagonal GJP",
160 "InvLaplacianWithUnityMean",
164 "WeakDirectionalDeriv",
165 "MassLevelCurvature",
167 "LinearAdvectionReaction",
168 "LinearAdvectionDiffusionReaction",
169 "LinearAdvectionDiffusionReaction with Diagonal GJP",
175 "IProductWRTDerivBase0",
176 "IProductWRTDerivBase1",
177 "IProductWRTDerivBase2",
182 "Helmholtz with Diagonal GJP",
184 "InvHybridDGHelmholtz",
185 "HybridDGHelmBndLam",
194 "PreconLinearSpaceMass",
197 "PhysInterpToEquiSpaced",
198 "EquiSpacedToCoeffs",
241 "VarCoeffMass",
"VarCoeffLaplacian",
"VarCoeffWeakDeriv",
242 "VarCoeffD00",
"VarCoeffD01",
"VarCoeffD02",
243 "VarCoeffD10",
"VarCoeffD11",
"VarCoeffD12",
244 "VarCoeffD20",
"VarCoeffD21",
"VarCoeffD22",
245 "VarCoeffVelX",
"VarCoeffVelY",
"VarCoeffVelZ",
246 "VarCoeffMF1x",
"VarCoeffMF1y",
"VarCoeffMF1z",
247 "VarCoeffMF1Div",
"VarCoeffMF1Mag",
"VarCoeffMF2x",
248 "VarCoeffMF2y",
"VarCoeffMF2z",
"VarCoeffMF2Div",
249 "VarCoeffMF2Mag",
"VarCoeffMF3x",
"VarCoeffMF3y",
250 "VarCoeffMF3z",
"VarCoeffMF3Div",
"VarCoeffMF3Mag",
251 "VarCoeffMF",
"VarCoeffMFDiv",
"VarCoeffGmat",
252 "VarCoeffGJPNormVel"};
352typedef std::map<StdRegions::VarCoeffType, VarCoeffEntry>
VarCoeffMap;
400 "FactorSVVCutoffRatio",
401 "FactorSVVDiffCoeff",
402 "FactorSVVPowerKerDiffCoeff",
403 "FactorSVVDGKerDiffCoeff",
438 "Dir1FwdDir1_Dir2FwdDir2",
439 "Dir1FwdDir1_Dir2BwdDir2",
440 "Dir1BwdDir1_Dir2FwdDir2",
441 "Dir1BwdDir1_Dir2BwdDir2",
442 "Dir1FwdDir2_Dir2FwdDir1",
443 "Dir1FwdDir2_Dir2BwdDir1",
444 "Dir1BwdDir2_Dir2FwdDir1",
445 "Dir1BwdDir2_Dir2BwdDir1"};
452template <
class InputIterator,
class EqualityComparable>
453InputIterator
find(InputIterator first, InputIterator last,
454 InputIterator startingpoint,
const EqualityComparable &value)
458 if (startingpoint == first)
460 val =
find(first, last, value);
464 val =
find(startingpoint, last, value);
467 val =
find(first, startingpoint, value);
468 if (val == startingpoint)
482 {0, 0.36212, 1, 0, 0, 0, 0, 0, 0, 0, 0},
483 {0, 0.70546, 0.078836, 1, 0, 0, 0, 0, 0, 0, 0},
484 {0, 0, 0.49411, 0.072394, 1, 0, 0, 0, 0, 0, 0},
485 {0, 0, 0.000073566, 0.40506, 0.094122, 1, 0, 0, 0, 0, 0},
486 {0, 0, 0, 0.0001422, 0.36863, 0.11815, 1, 0, 0, 0, 0},
487 {0, 0, 0, 0, 0.00019497, 0.41397, 0.16927, 1, 0, 0, 0},
488 {0, 0, 0, 0, 0, 0.0009762, 0.12747, 0.13763, 1, 0, 0},
489 {0, 0, 0, 0, 0, 0, 0.0023592, 0.23683, 0.17196, 1, 0},
490 {0, 0, 0, 0, 0, 0, 0, 0.0026055, 0.28682, 0.22473, 1}};
@ eFactorSVVDGKerDiffCoeff
@ eFactorSVVPowerKerDiffCoeff
InputIterator find(InputIterator first, InputIterator last, InputIterator startingpoint, const EqualityComparable &value)
const int kSVVDGFiltermodesmin
static FactorMap NullFactorMap
const char *const VarCoeffTypeMap[]
const int kSVVDGFiltermodesmax
const NekDouble kSVVDGFilter[9][11]
const char *const ConstFactorTypeMap[]
const char *const ElementTypeMap[]
@ eLinearAdvectionReaction
@ eLinearAdvectionDiffusionReaction
@ ePhysInterpToEquiSpaced
@ eLinearAdvectionDiffusionReactionGJP
@ eInvLaplacianWithUnityMean
const char *const MatrixTypeMap[]
VarCoeffMap RestrictCoeffMap(const VarCoeffMap &m, size_t offset, size_t cnt)
std::map< ConstFactorType, NekDouble > ConstFactorMap
static ConstFactorMap NullConstFactorMap
const char *const OrientationMap[]
@ eDir1BwdDir2_Dir2BwdDir1
@ eDir1FwdDir1_Dir2FwdDir2
@ eDir1BwdDir1_Dir2BwdDir2
@ eDir1BwdDir2_Dir2FwdDir1
@ eDir1FwdDir1_Dir2BwdDir2
@ eDir1BwdDir1_Dir2FwdDir2
@ eDir1FwdDir2_Dir2FwdDir1
@ eDir1FwdDir2_Dir2BwdDir1
static VarCoeffMap NullVarCoeffMap
std::map< StdRegions::VarCoeffType, VarCoeffEntry > VarCoeffMap
The above copyright notice and this permission notice shall be included.
std::size_t hash_range(Iter first, Iter last)
Representation of a variable coefficient.
Array< OneD, NekDouble > m_coeffs
Storage for the variable coefficient entries.
std::size_t m_hash
Hash of the entries inside m_coeffs.
std::size_t GetHash() const
Returns the hash of this entry.
VarCoeffEntry()=default
Default constructor.
void ComputeHash()
Computes the hash of this entry using hash_range.
void operator=(const Array< OneD, const NekDouble > &rhs)
Assignment operator given an array rhs.
VarCoeffEntry(const Array< OneD, const NekDouble > &input)
Copy an array of values into this entry.
const Array< OneD, const NekDouble > & GetValue() const
Returns a const reference to the coefficients.
const NekDouble & operator[](std::size_t idx) const
Access an entry idx within m_coeffs.