
Public Member Functions | |
| SymbolicFuncElement (const std::string &name, const std::string &suffix, const FunctionIdentifier &fid, const RCP< const CommonFuncDataStub > &data) | |
| virtual | ~SymbolicFuncElement () |
| virtual destructor | |
| void | accumulateFuncSet (Set< int > &funcDofIDs, const Set< int > &activeSet) const |
| Append to the set of func IDs present in this expression. | |
| virtual bool | hasTestFunctions () const |
| Indicate whether the expression contains test functions. | |
| void | substituteZero () const |
| Specify that expressions involving this function are to be evaluated with this function set to zero. | |
| void | substituteFunction (const RCP< DiscreteFuncElement > &u0) const |
Specify that expressions involving this function are to be evaluated with this function set to the discrete function (or constant parameter) . | |
| const EvaluatableExpr * | evalPt () const |
| Return the point in function space at which this symbolic function is to be evaluated. | |
| EvaluatableExpr * | evalPt () |
| Return the point in function space at which this symbolic function is to be evaluated. | |
| bool | evalPtIsZero () const |
| const RCP< const CommonFuncDataStub > & | commonData () const |
| virtual bool | isIndependentOf (const Expr &u) const |
| Indicate whether the expression is independent of the given functions. | |
| virtual bool | isLinearForm (const Expr &u) const |
| Indicate whether the expression is linear in the given functions. | |
| virtual RCP< ExprBase > | getRcp () |
| Return a safely-created RefCountPtr to the base type. | |
Preprocessing | |
| virtual Set< MultipleDeriv > | internalFindW (int order, const EvalContext &context) const |
| virtual Set< MultipleDeriv > | internalFindV (int order, const EvalContext &context) const |
| Find spatially-variable functional derivatives. | |
| virtual Set< MultipleDeriv > | internalFindC (int order, const EvalContext &context) const |
| Find spatially-constant functional derivatives. | |
| virtual RCP< Array< Set < MultipleDeriv > > > | internalDetermineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const |
| virtual void | registerSpatialDerivs (const EvalContext &context, const Set< MultiIndex > &miSet) const |
Private Attributes | |
| RCP< const CommonFuncDataStub > | commonData_ |
| RCP< EvaluatableExpr > | evalPt_ |
| Array< int > | evalPtDerivSetIndices_ |
Definition at line 57 of file SundanceSymbolicFuncElement.hpp.
| SymbolicFuncElement::SymbolicFuncElement | ( | const std::string & | name, | |
| const std::string & | suffix, | |||
| const FunctionIdentifier & | fid, | |||
| const RCP< const CommonFuncDataStub > & | data | |||
| ) |
Definition at line 49 of file SundanceSymbolicFuncElement.cpp.
| virtual Sundance::SymbolicFuncElement::~SymbolicFuncElement | ( | ) | [inline, virtual] |
| void SymbolicFuncElement::accumulateFuncSet | ( | Set< int > & | funcDofIDs, | |
| const Set< int > & | activeSet | |||
| ) | const [virtual] |
Append to the set of func IDs present in this expression.
Reimplemented from Sundance::FuncSetAccumulator.
Definition at line 66 of file SundanceSymbolicFuncElement.cpp.
References Sundance::Set< Key, Compare >::contains(), Sundance::FunctionWithID::fid(), and Sundance::Set< Key, Compare >::put().
| const RCP<const CommonFuncDataStub>& Sundance::SymbolicFuncElement::commonData | ( | ) | const [inline] |
Definition at line 109 of file SundanceSymbolicFuncElement.hpp.
References commonData_.
Referenced by Sundance::Deriv::data(), Sundance::UnknownFunctionData::getData(), Sundance::TestFunctionData::getData(), and Sundance::getSharedFunctionData().
| EvaluatableExpr* Sundance::SymbolicFuncElement::evalPt | ( | ) | [inline] |
Return the point in function space at which this symbolic function is to be evaluated.
Definition at line 102 of file SundanceSymbolicFuncElement.hpp.
References evalPt_.
| const EvaluatableExpr* Sundance::SymbolicFuncElement::evalPt | ( | ) | const [inline] |
Return the point in function space at which this symbolic function is to be evaluated.
Definition at line 98 of file SundanceSymbolicFuncElement.hpp.
References evalPt_.
Referenced by Sundance::DerivOfSymbFuncEvaluator::DerivOfSymbFuncEvaluator(), Sundance::DiffOpEvaluator::DiffOpEvaluator(), evalPtIsZero(), internalFindC(), internalFindV(), internalFindW(), Sundance::UnknownParameterElement::parameterValue(), registerSpatialDerivs(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and Sundance::SymbolicFuncElementEvaluator::SymbolicFuncElementEvaluator().
| bool SymbolicFuncElement::evalPtIsZero | ( | ) | const |
Definition at line 197 of file SundanceSymbolicFuncElement.cpp.
References evalPt(), and evalPt_.
Referenced by Sundance::UnknownParameterElement::internalFindC(), internalFindV(), Sundance::UnknownParameterElement::internalFindW(), and internalFindW().
| virtual RCP<ExprBase> Sundance::SymbolicFuncElement::getRcp | ( | ) | [inline, virtual] |
Return a safely-created RefCountPtr to the base type.
Implements Playa::Handleable< ExprBase >.
Reimplemented in Sundance::TestFuncElement, Sundance::UnknownFuncElement, and Sundance::UnknownParameterElement.
Definition at line 146 of file SundanceSymbolicFuncElement.hpp.
| virtual bool Sundance::SymbolicFuncElement::hasTestFunctions | ( | ) | const [inline, virtual] |
Indicate whether the expression contains test functions.
Reimplemented from Sundance::ScalarExpr.
Reimplemented in Sundance::TestFuncElement.
Definition at line 77 of file SundanceSymbolicFuncElement.hpp.
| RCP< Array< Set< MultipleDeriv > > > SymbolicFuncElement::internalDetermineR | ( | const EvalContext & | context, | |
| const Array< Set< MultipleDeriv > > & | RInput | |||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 179 of file SundanceSymbolicFuncElement.cpp.
References Sundance::EvaluatableExpr::internalDetermineR(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG3, and Sundance::toString().
| Set< MultipleDeriv > SymbolicFuncElement::internalFindC | ( | int | order, | |
| const EvalContext & | context | |||
| ) | const [virtual] |
Find spatially-constant functional derivatives.
Default implementation returns the empty set
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::UnknownParameterElement.
Definition at line 149 of file SundanceSymbolicFuncElement.cpp.
References evalPt(), Sundance::EvaluatableExpr::findC(), Sundance::EvaluatableExpr::findR(), Sundance::funcDeriv(), Sundance::Set< Key, Compare >::intersection(), Sundance::Set< Key, Compare >::put(), Sundance::MultiSet< Key >::put(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::verb().
| Set< MultipleDeriv > SymbolicFuncElement::internalFindV | ( | int | order, | |
| const EvalContext & | context | |||
| ) | const [virtual] |
Find spatially-variable functional derivatives.
Default implementation returns R
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::UnknownParameterElement.
Definition at line 120 of file SundanceSymbolicFuncElement.cpp.
References evalPt(), evalPtIsZero(), Sundance::EvaluatableExpr::findR(), Sundance::EvaluatableExpr::findV(), Sundance::Set< Key, Compare >::intersection(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG5, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::verb().
| Set< MultipleDeriv > SymbolicFuncElement::internalFindW | ( | int | order, | |
| const EvalContext & | context | |||
| ) | const [virtual] |
Implements Sundance::EvaluatableExpr.
Reimplemented in Sundance::UnknownParameterElement.
Definition at line 77 of file SundanceSymbolicFuncElement.cpp.
References evalPt(), evalPtIsZero(), Sundance::EvaluatableExpr::findW(), Sundance::funcDeriv(), Sundance::MultiSet< Key >::put(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG5, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::verb().
| bool SymbolicFuncElement::isIndependentOf | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is independent of the given functions.
Reimplemented from Sundance::ScalarExpr.
Definition at line 219 of file SundanceSymbolicFuncElement.cpp.
References Sundance::FunctionIdentifier::dofID(), Sundance::FunctionWithID::fid(), Sundance::Expr::flatten(), Playa::Handle< PointerType >::ptr(), and Sundance::Expr::size().
| bool SymbolicFuncElement::isLinearForm | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is linear in the given functions.
Reimplemented from Sundance::ScalarExpr.
Definition at line 234 of file SundanceSymbolicFuncElement.cpp.
References Sundance::FunctionIdentifier::dofID(), Sundance::FunctionWithID::fid(), Sundance::Expr::flatten(), Playa::Handle< PointerType >::ptr(), and Sundance::Expr::size().
| void SymbolicFuncElement::registerSpatialDerivs | ( | const EvalContext & | context, | |
| const Set< MultiIndex > & | miSet | |||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 59 of file SundanceSymbolicFuncElement.cpp.
References evalPt(), and Sundance::EvaluatableExpr::registerSpatialDerivs().
| void SymbolicFuncElement::substituteFunction | ( | const RCP< DiscreteFuncElement > & | u0 | ) | const |
Specify that expressions involving this function are to be evaluated with this function set to the discrete function (or constant parameter)
.
This is appropriate for computing the functional derivatives that arise in a nonlinear expression being linearized about
.
Definition at line 212 of file SundanceSymbolicFuncElement.cpp.
Referenced by Sundance::SymbolicFunc::substituteFunction().
| void SymbolicFuncElement::substituteZero | ( | ) | const |
Specify that expressions involving this function are to be evaluated with this function set to zero.
Test functions should always be evaluated at zero. For unknown functions, substituting zero is appropriate for computing the functional derivatives that arise in a linear problem.
Definition at line 206 of file SundanceSymbolicFuncElement.cpp.
References evalPt_.
Referenced by Sundance::SymbolicFunc::substituteZero().
RCP<const CommonFuncDataStub> Sundance::SymbolicFuncElement::commonData_ [private] |
RCP<EvaluatableExpr> Sundance::SymbolicFuncElement::evalPt_ [mutable, private] |
Definition at line 151 of file SundanceSymbolicFuncElement.hpp.
Referenced by evalPt(), evalPtIsZero(), and substituteZero().
Array<int> Sundance::SymbolicFuncElement::evalPtDerivSetIndices_ [mutable, private] |
Definition at line 153 of file SundanceSymbolicFuncElement.hpp.