Public Member Functions | |
| SpatialDerivSpecifier () | |
| SpatialDerivSpecifier (const MultiIndex &mi) | |
| SpatialDerivSpecifier (const SpatialDerivType &type, int order=0) | |
| const MultiIndex & | mi () const |
| bool | isDivergence () const |
| bool | isPartial () const |
| bool | isNormal () const |
| bool | isIdentity () const |
| int | normalDerivOrder () const |
| int | derivOrder () const |
| std::string | toString () const |
| bool | operator< (const SpatialDerivSpecifier &other) const |
| SpatialDerivSpecifier | derivWrtMultiIndex (const MultiIndex &mi) const |
Private Attributes | |
| MultiIndex | mi_ |
| int | normalDerivOrder_ |
This class is a compact description of type of spatial derivative acting on an operative function: partial derivative, divergence, or normal derivative.
Definition at line 62 of file SundanceSpatialDerivSpecifier.hpp.
Empty ctor creates an identity operator (zeroth order partial derivative)
Definition at line 49 of file SundanceSpatialDerivSpecifier.cpp.
Referenced by derivWrtMultiIndex().
| SpatialDerivSpecifier::SpatialDerivSpecifier | ( | const MultiIndex & | mi | ) |
Create a spatial derivative
Definition at line 54 of file SundanceSpatialDerivSpecifier.cpp.
| SpatialDerivSpecifier::SpatialDerivSpecifier | ( | const SpatialDerivType & | type, |
| int | order = 0 |
||
| ) |
Create a derivative of a specified type and order.
Definition at line 59 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::EnumTypeField< SpatialDerivType >::assertNotType(), Sundance::DivSDT, and Sundance::PartialSDT.
| int SpatialDerivSpecifier::derivOrder | ( | ) | const |
Return the order of differentiation
Definition at line 108 of file SundanceSpatialDerivSpecifier.cpp.
References isDivergence(), isNormal(), isPartial(), mi_, normalDerivOrder_, and Sundance::MultiIndex::order().
Referenced by Sundance::Deriv::derivAlgSpec().
| SpatialDerivSpecifier SpatialDerivSpecifier::derivWrtMultiIndex | ( | const MultiIndex & | mi | ) | const |
Create a new derivative that increments my multiindex by the input multiindex
Definition at line 138 of file SundanceSpatialDerivSpecifier.cpp.
References isIdentity(), isPartial(), mi_, Sundance::MultiIndex::order(), and SpatialDerivSpecifier().
Referenced by Sundance::Deriv::derivWrtMultiIndex().
| bool SpatialDerivSpecifier::isDivergence | ( | ) | const |
Return true if I am a divergence
Definition at line 80 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::DivSDT, and Sundance::EnumTypeField< SpatialDerivType >::isType().
Referenced by Sundance::Deriv::checkConsistencyOfOperations(), Sundance::Deriv::derivAlgSpec(), derivOrder(), Sundance::Deriv::derivWrtMultiIndex(), and Sundance::DiffOp::requestMultiIndexAtEvalPoint().
| bool SpatialDerivSpecifier::isIdentity | ( | ) | const |
Return true if I am an identity operator
Definition at line 95 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::IdentitySDT, isNormal(), isPartial(), Sundance::EnumTypeField< SpatialDerivType >::isType(), mi(), normalDerivOrder(), and Sundance::MultiIndex::order().
Referenced by Sundance::Deriv::canBeDifferentiated(), derivWrtMultiIndex(), Sundance::DiffOpEvaluator::DiffOpEvaluator(), Sundance::Lagrange::refEval(), Sundance::Fourier::refEval(), Sundance::EdgeLocalizedBasis::refEval(), Sundance::Bernstein::refEval(), Sundance::Bubble::refEval(), Sundance::CubicHermite::refEval(), and Sundance::Legendre::refEval().
| bool SpatialDerivSpecifier::isNormal | ( | ) | const |
Return true if I am a normal derivative
Definition at line 85 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::EnumTypeField< SpatialDerivType >::isType(), and Sundance::NormalSDT.
Referenced by Sundance::Deriv::checkConsistencyOfOperations(), Sundance::Deriv::derivAlgSpec(), derivOrder(), isIdentity(), operator<(), and Sundance::DiffOp::requestMultiIndexAtEvalPoint().
| bool SpatialDerivSpecifier::isPartial | ( | ) | const |
Return true if I am a partial derivative in a coordinate direction
Definition at line 90 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::EnumTypeField< SpatialDerivType >::isType(), and Sundance::PartialSDT.
Referenced by Sundance::Deriv::canBeDifferentiated(), Sundance::Deriv::checkConsistencyOfOperations(), Sundance::Deriv::derivAlgSpec(), derivOrder(), derivWrtMultiIndex(), Sundance::DiffOpEvaluator::DiffOpEvaluator(), isIdentity(), operator<(), Sundance::EdgeLocalizedBasis::refEval(), Sundance::Lagrange::refEval(), Sundance::CubicHermite::refEval(), Sundance::Bernstein::refEval(), Sundance::Bubble::refEval(), Sundance::Fourier::refEval(), and Sundance::Legendre::refEval().
| const MultiIndex & SpatialDerivSpecifier::mi | ( | ) | const |
Return the multiindex of a spatial partial derivative
Definition at line 73 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::EnumTypeField< SpatialDerivType >::assertNotType(), Sundance::DivSDT, mi_, and Sundance::NormalSDT.
Referenced by Sundance::applyTx(), Sundance::DiffOpEvaluator::backedDerivs(), Sundance::Deriv::derivAlgSpec(), Sundance::DiffOpEvaluator::DiffOpEvaluator(), Sundance::GrouperBase::extractWeakForm(), isIdentity(), operator<(), Sundance::Bubble::refEval(), Sundance::CubicHermite::refEval(), Sundance::EdgeLocalizedBasis::refEval(), Sundance::Fourier::refEval(), Sundance::Bernstein::refEval(), Sundance::Legendre::refEval(), Sundance::Lagrange::refEval(), Sundance::RaviartThomas::refEval(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and Sundance::Deriv::toString().
| int SpatialDerivSpecifier::normalDerivOrder | ( | ) | const |
Return the order of differentiation in the normal direction
Definition at line 102 of file SundanceSpatialDerivSpecifier.cpp.
References Sundance::EnumTypeField< SpatialDerivType >::assertType(), normalDerivOrder_, and Sundance::NormalSDT.
Referenced by isIdentity(), and operator<().
| bool SpatialDerivSpecifier::operator< | ( | const SpatialDerivSpecifier & | other | ) | const |
Comparison operator for use in sorted containers
Definition at line 126 of file SundanceSpatialDerivSpecifier.cpp.
References isNormal(), isPartial(), mi(), normalDerivOrder(), Sundance::EnumTypeField< T >::type(), and Sundance::EnumTypeField< SpatialDerivType >::type().
| std::string SpatialDerivSpecifier::toString | ( | ) | const |
Write me to a std::string
Definition at line 117 of file SundanceSpatialDerivSpecifier.cpp.
Referenced by Sundance::BasisFamily::refEval().
Definition at line 107 of file SundanceSpatialDerivSpecifier.hpp.
Referenced by derivOrder(), derivWrtMultiIndex(), and mi().
int Sundance::SpatialDerivSpecifier::normalDerivOrder_ [private] |
Definition at line 109 of file SundanceSpatialDerivSpecifier.hpp.
Referenced by derivOrder(), and normalDerivOrder().