Public Member Functions | |
| FunctionIdentifier () | |
| FunctionIdentifier (const AlgebraSpecifier &algSpec) | |
| FunctionIdentifier (const FunctionIdentifier *parent, const AlgebraSpecifier &componentAlgSpec) | |
| std::string | toString () const |
| int | dofID () const |
| int | componentIndex () const |
| const AlgebraSpecifier & | algSpec () const |
| FunctionIdentifier | createComponent (int index) const |
| FunctionIdentifier | createNormal () const |
| bool | operator< (const FunctionIdentifier &other) const |
| bool | operator== (const FunctionIdentifier &other) const |
| bool | operator!= (const FunctionIdentifier &other) const |
| bool | isVector () const |
| bool | isCoordinateComponent () const |
| bool | isNormalComponent () const |
| bool | isScalar () const |
Static Private Member Functions | |
| static int | nextID () |
Private Attributes | |
| int | dofID_ |
| AlgebraSpecifier | algSpec_ |
Related Functions | |
(Note that these are not member functions.) | |
| FunctionIdentifier | makeFuncID (int tensorOrder) |
FunctionIdentifier provides a means for distinguishing between different functions and different vector components of the same function. Functions discretized with vector bases will shared a common dofID, because their vector components are not independent. Functions discretized componentwise will have different IDs for each component.
Definition at line 57 of file SundanceFunctionIdentifier.hpp.
Definition at line 48 of file SundanceFunctionIdentifier.cpp.
Referenced by createComponent(), and createNormal().
| FunctionIdentifier::FunctionIdentifier | ( | const AlgebraSpecifier & | algSpec | ) |
ctor
Definition at line 52 of file SundanceFunctionIdentifier.cpp.
| FunctionIdentifier::FunctionIdentifier | ( | const FunctionIdentifier * | parent, |
| const AlgebraSpecifier & | componentAlgSpec | ||
| ) |
ctor
Definition at line 57 of file SundanceFunctionIdentifier.cpp.
References algSpec(), algSpec_, dofID(), dofID_, Sundance::AlgebraSpecifier::isScalar(), Sundance::AlgebraSpecifier::isVector(), and toString().
| const AlgebraSpecifier& Sundance::FunctionIdentifier::algSpec | ( | ) | const [inline] |
Return a specification of the type of object represented, i.e., a component in a coord direction, a normal component, or a whole vector.
Definition at line 82 of file SundanceFunctionIdentifier.hpp.
References algSpec_.
Referenced by Sundance::Deriv::Deriv(), Sundance::Deriv::funcAlgSpec(), FunctionIdentifier(), isCoordinateComponent(), isNormalComponent(), isScalar(), isVector(), and std::operator<<().
| int FunctionIdentifier::componentIndex | ( | ) | const |
If this FID corresponds to a vector component, return the index of the coordinate direction
Definition at line 77 of file SundanceFunctionIdentifier.cpp.
References algSpec_, Sundance::AlgebraSpecifier::direction(), Sundance::AlgebraSpecifier::isCoordinateComponent(), and Sundance::AlgebraSpecifier::isScalar().
| FunctionIdentifier FunctionIdentifier::createComponent | ( | int | index | ) | const |
Create a new FID representing a component of "this" vector function.
Definition at line 108 of file SundanceFunctionIdentifier.cpp.
References Sundance::coordAlgebraSpec(), FunctionIdentifier(), and isVector().
Referenced by Sundance::DiscreteFunctionStub::initTensor(), Sundance::DiscreteFunctionStub::initTensorSpectral(), Sundance::TestFunctionStub::TestFunctionStub(), and Sundance::UnknownFunctionStub::UnknownFunctionStub().
Create a new FID representing the normal component of "this" vector function.
Definition at line 93 of file SundanceFunctionIdentifier.cpp.
References FunctionIdentifier(), isVector(), and Sundance::normalAlgebraSpec().
| int Sundance::FunctionIdentifier::dofID | ( | ) | const [inline] |
Return the ID number to be used when assigning DOFs for this function
Definition at line 73 of file SundanceFunctionIdentifier.hpp.
References dofID_.
Referenced by Sundance::Deriv::dofID(), FunctionIdentifier(), Sundance::FunctionSupportResolver::FunctionSupportResolver(), Sundance::ExprWithChildren::getTests(), Sundance::Expr::getTests(), Sundance::ExprWithChildren::getUnknowns(), Sundance::Expr::getUnknowns(), Sundance::SymbolicFuncElement::isIndependentOf(), Sundance::SymbolicFuncElement::isLinearForm(), and std::operator<<().
| bool Sundance::FunctionIdentifier::isCoordinateComponent | ( | ) | const [inline] |
Return true if I am a coordinate component
Definition at line 107 of file SundanceFunctionIdentifier.hpp.
References algSpec(), and Sundance::AlgebraSpecifier::isCoordinateComponent().
| bool Sundance::FunctionIdentifier::isNormalComponent | ( | ) | const [inline] |
Return true if I am a normal component
Definition at line 110 of file SundanceFunctionIdentifier.hpp.
References algSpec(), and Sundance::AlgebraSpecifier::isNormal().
| bool Sundance::FunctionIdentifier::isScalar | ( | ) | const [inline] |
Return true if I am a scalar
Definition at line 113 of file SundanceFunctionIdentifier.hpp.
References algSpec(), and Sundance::AlgebraSpecifier::isScalar().
| bool Sundance::FunctionIdentifier::isVector | ( | ) | const [inline] |
Return true if I am a vector
Definition at line 104 of file SundanceFunctionIdentifier.hpp.
References algSpec(), and Sundance::AlgebraSpecifier::isVector().
Referenced by Sundance::Deriv::checkConsistencyOfOperations(), createComponent(), and createNormal().
| static int Sundance::FunctionIdentifier::nextID | ( | ) | [inline, static, private] |
Generate a unique ID
Definition at line 118 of file SundanceFunctionIdentifier.hpp.
| bool Sundance::FunctionIdentifier::operator!= | ( | const FunctionIdentifier & | other | ) | const [inline] |
Inequality test
Definition at line 100 of file SundanceFunctionIdentifier.hpp.
| bool FunctionIdentifier::operator< | ( | const FunctionIdentifier & | other | ) | const |
Comparison operator for storage in sets and maps
Definition at line 101 of file SundanceFunctionIdentifier.cpp.
| bool Sundance::FunctionIdentifier::operator== | ( | const FunctionIdentifier & | other | ) | const [inline] |
Equality test
Definition at line 96 of file SundanceFunctionIdentifier.hpp.
| string FunctionIdentifier::toString | ( | ) | const |
Definition at line 86 of file SundanceFunctionIdentifier.cpp.
Referenced by Sundance::describeFunction(), and FunctionIdentifier().
| FunctionIdentifier makeFuncID | ( | int | tensorOrder | ) | [related] |
Definition at line 119 of file SundanceFunctionIdentifier.cpp.
Definition at line 122 of file SundanceFunctionIdentifier.hpp.
Referenced by algSpec(), componentIndex(), FunctionIdentifier(), and operator<().
int Sundance::FunctionIdentifier::dofID_ [private] |
Definition at line 120 of file SundanceFunctionIdentifier.hpp.
Referenced by dofID(), FunctionIdentifier(), and operator<().