This class is a compact description of type of spatial derivative acting on an operative function: partial derivative, divergence, or normal derivative. More...
Public Member Functions | |
| SpatialDerivSpecifier () | |
| Empty ctor creates an identity operator (zeroth order partial derivative) | |
| SpatialDerivSpecifier (const MultiIndex &mi) | |
| Create a spatial derivative. | |
| SpatialDerivSpecifier (const SpatialDerivType &type, int order=0) | |
| Create a derivative of a specified type and order. | |
| const MultiIndex & | mi () const |
| Return the multiindex of a spatial partial derivative. | |
| bool | isDivergence () const |
| Return true if I am a divergence. | |
| bool | isPartial () const |
| Return true if I am a partial derivative in a coordinate direction. | |
| bool | isNormal () const |
| Return true if I am a normal derivative. | |
| bool | isIdentity () const |
| Return true if I am an identity operator. | |
| int | normalDerivOrder () const |
| Return the order of differentiation in the normal direction. | |
| int | derivOrder () const |
| Return the order of differentiation. | |
| std::string | toString () const |
| Write me to a std::string. | |
| bool | operator< (const SpatialDerivSpecifier &other) const |
| Comparison operator for use in sorted containers. | |
| SpatialDerivSpecifier | derivWrtMultiIndex (const MultiIndex &mi) const |
| Create a new derivative that increments my multiindex by the input multiindex. | |
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 51 of file SundanceSpatialDerivSpecifier.hpp.
| SpatialDerivSpecifier::SpatialDerivSpecifier | ( | ) |
Empty ctor creates an identity operator (zeroth order partial derivative)
Definition at line 38 of file SundanceSpatialDerivSpecifier.cpp.
Referenced by derivWrtMultiIndex().
| SpatialDerivSpecifier::SpatialDerivSpecifier | ( | const MultiIndex & | mi | ) |
Create a spatial derivative.
Definition at line 43 of file SundanceSpatialDerivSpecifier.cpp.
| SpatialDerivSpecifier::SpatialDerivSpecifier | ( | const SpatialDerivType & | type, |
| int | order = 0 |
||
| ) |
Create a derivative of a specified type and order.
Definition at line 48 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 97 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 127 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 69 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 84 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::EdgeLocalizedBasis::refEval(), Sundance::CubicHermite::refEval(), Sundance::Bubble::refEval(), and Sundance::Bernstein::refEval().
| bool SpatialDerivSpecifier::isNormal | ( | ) | const |
Return true if I am a normal derivative.
Definition at line 74 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 79 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::Lagrange::refEval(), Sundance::EdgeLocalizedBasis::refEval(), Sundance::CubicHermite::refEval(), Sundance::Bubble::refEval(), and Sundance::Bernstein::refEval().
| const MultiIndex & SpatialDerivSpecifier::mi | ( | ) | const |
Return the multiindex of a spatial partial derivative.
Definition at line 62 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::RaviartThomas::refEval(), Sundance::Lagrange::refEval(), Sundance::EdgeLocalizedBasis::refEval(), Sundance::CubicHermite::refEval(), Sundance::Bubble::refEval(), Sundance::Bernstein::refEval(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and Sundance::Deriv::toString().
| int SpatialDerivSpecifier::normalDerivOrder | ( | ) | const |
Return the order of differentiation in the normal direction.
Definition at line 91 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 115 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 106 of file SundanceSpatialDerivSpecifier.cpp.
Referenced by Sundance::BasisFamily::refEval().
Definition at line 96 of file SundanceSpatialDerivSpecifier.hpp.
Referenced by derivOrder(), derivWrtMultiIndex(), and mi().
int Sundance::SpatialDerivSpecifier::normalDerivOrder_ [private] |
Definition at line 98 of file SundanceSpatialDerivSpecifier.hpp.
Referenced by derivOrder(), and normalDerivOrder().