Public Member Functions | |
| EvaluatableExpr () | |
| Ctor is empty, but has some internal initialization to do and so must be called by all subclasses. | |
| virtual | ~EvaluatableExpr () |
| virtual dtor | |
| const RCP< Evaluator > & | evaluator (const EvalContext &context) const |
| Return the evaluator to be used for the given context. | |
| virtual void | showSparsity (std::ostream &os, const EvalContext &context) const |
| virtual int | countNodes () const |
| virtual int | maxDiffOrderOnDiscreteFunctions () const |
| Find the maximum differentiation order acting on discrete functions in this expression. | |
| virtual bool | hasDiscreteFunctions () const |
| Indicate whether this expression contains discrete functions. | |
| virtual bool | nodesHaveBeenCounted () const |
| virtual Set< MultipleDeriv > | internalFindW (int order, const EvalContext &context) const =0 |
| 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. | |
| const Set< MultipleDeriv > & | findDerivSubset (int order, const DerivSubsetSpecifier &dss, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findDerivSubset (const DerivSubsetSpecifier &dss, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findW (int order, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findR (int order, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findV (int order, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findC (int order, const EvalContext &context) const |
| const Set< MultipleDeriv > & | findW (const EvalContext &context) const |
| const Set< MultipleDeriv > & | findR (const EvalContext &context) const |
| const Set< MultipleDeriv > & | findV (const EvalContext &context) const |
| const Set< MultipleDeriv > & | findC (const EvalContext &context) const |
| virtual void | displayNonzeros (std::ostream &os, const EvalContext &context) const |
| Set< MultipleDeriv > | setProduct (const Set< MultipleDeriv > &a, const Set< MultipleDeriv > &b) const |
| Set< MultipleDeriv > | setDivision (const Set< MultipleDeriv > &a, const Set< MultipleDeriv > &b) const |
| Set< MultiSet< int > > | setDivision (const Set< MultiSet< int > > &s, int index) const |
| void | determineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const |
| virtual RCP< Array< Set < MultipleDeriv > > > | internalDetermineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const |
| const Set< MultipleDeriv > & | getR (int order, const EvalContext &context) const |
| Array< Set< MultipleDeriv > > | computeInputR (const EvalContext &context, const Array< Set< MultiSet< int > > > &funcIDCombinations, const Array< Set< MultiIndex > > &spatialDerivs) const |
| virtual void | registerSpatialDerivs (const EvalContext &context, const Set< MultiIndex > &miSet) const |
Evaluation | |
| void | evaluate (const EvalManager &mgr, Array< double > &constantResults, Array< RCP< EvalVector > > &vectorResults) const |
| Evaluate this expression in the given region, putting the results of the evaluation in the results argument. | |
Preprocessing | |
| virtual void | setupEval (const EvalContext &context) const |
| RCP< SparsitySuperset > | sparsitySuperset (const EvalContext &context) const |
| Return the set of all nonzero derivatives required in the given context. | |
Static Public Member Functions | |
| static const EvaluatableExpr * | getEvalExpr (const Expr &expr) |
| Utility to downcast an expression to an evaluatable expr. | |
| static int | maxFuncDiffOrder () |
| static Time & | evaluationTimer () |
Protected Member Functions | |
| void | registerEvaluator (const EvalContext &context, const RCP< Evaluator > &evaluator) const |
| Record the evaluator to be used for the given context. | |
| Map< EvalContext, RCP < Evaluator > > & | evaluators () const |
| int | maxOrder (const Set< MultiIndex > &m) const |
| const Set< MultiIndex > & | activeSpatialDerivs (const EvalContext &context) const |
| std::string | derivType (const DerivSubsetSpecifier &dss) const |
Static Protected Member Functions | |
| static bool | isEvaluatable (const ExprBase *expr) |
Private Types | |
| typedef OrderedQuartet < EvalContext, Set< MultiIndex > , Set< MultiSet< int > >, bool > | NonzeroSpecifier |
| typedef Array< Map < EvalContext, Set < MultipleDeriv > > > | contextToDSSMap_ele_t |
Static Private Member Functions | |
| static int | numDerivSubsetTypes () |
Private Attributes | |
| Map< EvalContext, RCP < Evaluator > > | evaluators_ |
| evaluators, indexed by context | |
| Map< EvalContext, RCP < SparsitySuperset > > | sparsity_ |
| supersets of nonzero derivatives to be computed, index by context | |
| Array< int > | orderOfDependency_ |
| Polynomial order of the dependency upon each coordinate direction. | |
| Set< MultiSet< int > > | funcIDSet_ |
| Set of function combinations appearing in nonzero mixed partials. | |
| Set< int > | funcDependencies_ |
| Set< NonzeroSpecifier > | knownNonzeros_ |
| bool | nodesHaveBeenCounted_ |
| Array< contextToDSSMap_ele_t > | contextToDSSMap_ |
| bool | rIsReady_ |
| Array< Map< EvalContext, Set < MultipleDeriv > > > | allOrdersMap_ |
| Map< EvalContext, Set < MultiIndex > > | activeSpatialDerivMap_ |
Definition at line 75 of file SundanceEvaluatableExpr.hpp.
typedef Array<Map<EvalContext, Set<MultipleDeriv> > > Sundance::EvaluatableExpr::contextToDSSMap_ele_t [private] |
Definition at line 310 of file SundanceEvaluatableExpr.hpp.
typedef OrderedQuartet<EvalContext, Set<MultiIndex>, Set<MultiSet<int> >, bool> Sundance::EvaluatableExpr::NonzeroSpecifier [private] |
Definition at line 83 of file SundanceEvaluatableExpr.hpp.
| Sundance::EvaluatableExpr::EvaluatableExpr | ( | ) |
Ctor is empty, but has some internal initialization to do and so must be called by all subclasses.
| virtual Sundance::EvaluatableExpr::~EvaluatableExpr | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 92 of file SundanceEvaluatableExpr.hpp.
| const Set< MultiIndex > & EvaluatableExpr::activeSpatialDerivs | ( | const EvalContext & | context | ) | const [protected] |
Definition at line 97 of file SundanceEvaluatableExpr.cpp.
Referenced by Sundance::DiscreteFuncElement::internalFindV(), and Sundance::DiscreteFuncElement::internalFindW().
| Array< Set< MultipleDeriv > > EvaluatableExpr::computeInputR | ( | const EvalContext & | context, |
| const Array< Set< MultiSet< int > > > & | funcIDCombinations, | ||
| const Array< Set< MultiIndex > > & | spatialDerivs | ||
| ) | const |
Definition at line 414 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), Sundance::MultipleDeriv::isInRequiredSet(), Sundance::EvalContext::setupVerbosity(), and SUNDANCE_MSG4.
Referenced by Sundance::SymbPreprocessor::setupVariations().
| int EvaluatableExpr::countNodes | ( | ) | const [virtual] |
Reimplemented in Sundance::ExprWithChildren.
Definition at line 227 of file SundanceEvaluatableExpr.cpp.
References nodesHaveBeenCounted_.
Referenced by Sundance::ExprWithChildren::countNodes().
| string EvaluatableExpr::derivType | ( | const DerivSubsetSpecifier & | dss | ) | const [protected] |
Definition at line 65 of file SundanceEvaluatableExpr.cpp.
References Sundance::ConstantNonzeros, Sundance::RequiredNonzeros, and Sundance::VariableNonzeros.
Referenced by findDerivSubset().
| void EvaluatableExpr::determineR | ( | const EvalContext & | context, |
| const Array< Set< MultipleDeriv > > & | RInput | ||
| ) | const |
Definition at line 364 of file SundanceEvaluatableExpr.cpp.
References contextToDSSMap_, internalDetermineR(), Sundance::RequiredNonzeros, and rIsReady_.
Referenced by Sundance::DiffOp::internalDetermineR(), and Sundance::SymbPreprocessor::setupVariations().
| void EvaluatableExpr::displayNonzeros | ( | std::ostream & | os, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented in Sundance::ExprWithChildren.
Definition at line 489 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::contains(), Sundance::Set< Key, Compare >::end(), findC(), findR(), findV(), findW(), Sundance::Set< Key, Compare >::intersection(), and Sundance::ExprBase::toString().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), and Sundance::SymbPreprocessor::setupVariations().
| void EvaluatableExpr::evaluate | ( | const EvalManager & | mgr, |
| Array< double > & | constantResults, | ||
| Array< RCP< EvalVector > > & | vectorResults | ||
| ) | const |
Evaluate this expression in the given region, putting the results of the evaluation in the results argument.
Definition at line 146 of file SundanceEvaluatableExpr.cpp.
References evaluator(), and Sundance::EvalManager::getRegion().
| Time & EvaluatableExpr::evaluationTimer | ( | ) | [static] |
Definition at line 60 of file SundanceEvaluatableExpr.cpp.
| const RCP< Evaluator > & EvaluatableExpr::evaluator | ( | const EvalContext & | context | ) | const |
Return the evaluator to be used for the given context.
Definition at line 139 of file SundanceEvaluatableExpr.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), evaluators_, and Sundance::Map< Key, Value, Compare >::get().
Referenced by Sundance::ChainRuleEvaluator::ChainRuleEvaluator(), Sundance::DerivOfSymbFuncEvaluator::DerivOfSymbFuncEvaluator(), Sundance::DiffOpEvaluator::DiffOpEvaluator(), and evaluate().
| Map<EvalContext, RCP<Evaluator> >& Sundance::EvaluatableExpr::evaluators | ( | ) | const [inline, protected] |
Definition at line 268 of file SundanceEvaluatableExpr.hpp.
References evaluators_.
Referenced by Sundance::ExprWithChildren::setupEval().
| const Set< MultipleDeriv > & EvaluatableExpr::findC | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 250 of file SundanceEvaluatableExpr.cpp.
References Sundance::ConstantNonzeros, and findDerivSubset().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), displayNonzeros(), Sundance::ChainRuleEvaluator::init(), Sundance::SymbolicFuncElement::internalFindC(), Sundance::DiffOp::internalFindC(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findC | ( | const EvalContext & | context | ) | const |
Definition at line 462 of file SundanceEvaluatableExpr.cpp.
References Sundance::ConstantNonzeros, and findDerivSubset().
| const Set< MultipleDeriv > & EvaluatableExpr::findDerivSubset | ( | const DerivSubsetSpecifier & | dss, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 473 of file SundanceEvaluatableExpr.cpp.
References allOrdersMap_, findDerivSubset(), and Sundance::Set< Key, Compare >::merge().
| const Set< MultipleDeriv > & EvaluatableExpr::findDerivSubset | ( | int | order, |
| const DerivSubsetSpecifier & | dss, | ||
| const EvalContext & | context | ||
| ) | const |
Definition at line 268 of file SundanceEvaluatableExpr.cpp.
References Sundance::AllNonzeros, Sundance::ConstantNonzeros, contextToDSSMap_, derivType(), internalFindC(), internalFindV(), internalFindW(), Sundance::RequiredNonzeros, Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG3, Sundance::ExprBase::toString(), Sundance::VariableNonzeros, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by findC(), findDerivSubset(), findR(), findV(), findW(), and Sundance::ExprWithChildren::product().
| const Set< MultipleDeriv > & EvaluatableExpr::findR | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 257 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), Sundance::RequiredNonzeros, rIsReady_, and Sundance::ExprBase::toString().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), displayNonzeros(), Sundance::UserDefOpEvaluator::findRequiredOrders(), Sundance::ChainRuleEvaluator::init(), Sundance::DiffOp::internalDetermineR(), Sundance::UnknownParameterElement::internalFindC(), Sundance::SymbolicFuncElement::internalFindC(), Sundance::ExprWithChildren::internalFindC(), Sundance::DiffOp::internalFindC(), Sundance::ConstantExpr::internalFindC(), Sundance::SymbolicFuncElement::internalFindV(), Sundance::ExprWithChildren::internalFindV(), internalFindV(), Sundance::DiscreteFuncElement::internalFindV(), Sundance::DiffOp::internalFindV(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findR | ( | const EvalContext & | context | ) | const |
Definition at line 457 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), and Sundance::RequiredNonzeros.
| const Set< MultipleDeriv > & EvaluatableExpr::findV | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 243 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), and Sundance::VariableNonzeros.
Referenced by displayNonzeros(), Sundance::ChainRuleEvaluator::init(), Sundance::ExprWithChildren::internalFindC(), Sundance::DiffOp::internalFindC(), Sundance::ProductExpr::internalFindQ_V(), Sundance::ExprWithChildren::internalFindQ_V(), Sundance::SymbolicFuncElement::internalFindV(), Sundance::ExprWithChildren::internalFindV(), Sundance::DiffOp::internalFindV(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findV | ( | const EvalContext & | context | ) | const |
Definition at line 467 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), and Sundance::VariableNonzeros.
| const Set< MultipleDeriv > & EvaluatableExpr::findW | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 236 of file SundanceEvaluatableExpr.cpp.
References Sundance::AllNonzeros, and findDerivSubset().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), displayNonzeros(), Sundance::DiffOp::internalDetermineR(), Sundance::UnaryMinus::internalFindQ_W(), Sundance::ProductExpr::internalFindQ_W(), Sundance::DiffOp::internalFindV(), Sundance::SymbolicFuncElement::internalFindW(), Sundance::DiffOp::internalFindW(), and Sundance::DiffOp::requestMultiIndexAtEvalPoint().
| const Set< MultipleDeriv > & EvaluatableExpr::findW | ( | const EvalContext & | context | ) | const |
Definition at line 452 of file SundanceEvaluatableExpr.cpp.
References Sundance::AllNonzeros, and findDerivSubset().
| const EvaluatableExpr * EvaluatableExpr::getEvalExpr | ( | const Expr & | expr | ) | [static] |
Utility to downcast an expression to an evaluatable expr.
Throws an exception if the cast fails.
Definition at line 206 of file SundanceEvaluatableExpr.cpp.
References Sundance::Handle< PointerType >::ptr(), and Sundance::Expr::size().
Referenced by Sundance::Assembler::init().
| const Set<MultipleDeriv>& Sundance::EvaluatableExpr::getR | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
| virtual bool Sundance::EvaluatableExpr::hasDiscreteFunctions | ( | ) | const [inline, virtual] |
Indicate whether this expression contains discrete functions.
Reimplemented in Sundance::DiscreteFuncElement, and Sundance::ExprWithChildren.
Definition at line 153 of file SundanceEvaluatableExpr.hpp.
Referenced by Sundance::ExprWithChildren::hasDiscreteFunctions().
| RCP< Array< Set< MultipleDeriv > > > EvaluatableExpr::internalDetermineR | ( | const EvalContext & | context, |
| const Array< Set< MultipleDeriv > > & | RInput | ||
| ) | const [virtual] |
Reimplemented in Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::ExplicitFunctionalDerivativeElement, Sundance::ExprWithChildren, Sundance::SymbolicFuncElement, and Sundance::Parameter.
Definition at line 388 of file SundanceEvaluatableExpr.cpp.
References SUNDANCE_VERB_EXTREME, SUNDANCE_VERB_HIGH, and Sundance::toString().
Referenced by determineR(), Sundance::SymbolicFuncElement::internalDetermineR(), and Sundance::DiscreteFuncElement::internalDetermineR().
| virtual Set<MultipleDeriv> Sundance::EvaluatableExpr::internalFindC | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [inline, virtual] |
Find spatially-constant functional derivatives.
Default implementation returns the empty set
Reimplemented in Sundance::ConstantExpr, Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::ExplicitFunctionalDerivativeElement, Sundance::ExprWithChildren, Sundance::SymbolicFuncElement, Sundance::UnknownParameterElement, Sundance::ZeroExpr, Sundance::CoordExpr, and Sundance::Parameter.
Definition at line 175 of file SundanceEvaluatableExpr.hpp.
Referenced by findDerivSubset().
| virtual Set<MultipleDeriv> Sundance::EvaluatableExpr::internalFindV | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [inline, virtual] |
Find spatially-variable functional derivatives.
Default implementation returns R
Reimplemented in Sundance::ConstantExpr, Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::ExplicitFunctionalDerivativeElement, Sundance::ExprWithChildren, Sundance::SymbolicFuncElement, Sundance::UnknownParameterElement, Sundance::CoordExpr, and Sundance::Parameter.
Definition at line 169 of file SundanceEvaluatableExpr.hpp.
References findR().
Referenced by findDerivSubset().
| virtual Set<MultipleDeriv> Sundance::EvaluatableExpr::internalFindW | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [pure virtual] |
Implemented in Sundance::ConstantExpr, Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::ExplicitFunctionalDerivativeElement, Sundance::ExprWithChildren, Sundance::FunctionalPolynomial, Sundance::SymbolicFuncElement, Sundance::UnknownParameterElement, Sundance::ZeroExpr, Sundance::CellDiameterExpr, Sundance::CellVectorExpr, Sundance::CoordExpr, Sundance::CurveNormExpr, and Sundance::Parameter.
Referenced by findDerivSubset().
| bool EvaluatableExpr::isEvaluatable | ( | const ExprBase * | expr | ) | [static, protected] |
Definition at line 221 of file SundanceEvaluatableExpr.cpp.
| virtual int Sundance::EvaluatableExpr::maxDiffOrderOnDiscreteFunctions | ( | ) | const [inline, virtual] |
Find the maximum differentiation order acting on discrete functions in this expression.
This is needed to identify expressions where cofacet Jacobians are needed to transform discrete function derivatives.
The base class implementation is a no-op.
Reimplemented in Sundance::DiffOp, Sundance::DiscreteFuncElement, and Sundance::ExprWithChildren.
Definition at line 148 of file SundanceEvaluatableExpr.hpp.
Referenced by Sundance::ExprWithChildren::maxDiffOrderOnDiscreteFunctions(), Sundance::DiffOp::maxDiffOrderOnDiscreteFunctions(), and Sundance::Assembler::whetherToUseCofacets().
| static int Sundance::EvaluatableExpr::maxFuncDiffOrder | ( | ) | [inline, static] |
Definition at line 159 of file SundanceEvaluatableExpr.hpp.
| int EvaluatableExpr::maxOrder | ( | const Set< MultiIndex > & | m | ) | const [protected] |
Definition at line 196 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), and Sundance::Set< Key, Compare >::end().
Referenced by Sundance::UserDefOpElement::getArgDerivIndices().
| virtual bool Sundance::EvaluatableExpr::nodesHaveBeenCounted | ( | ) | const [inline, virtual] |
Definition at line 156 of file SundanceEvaluatableExpr.hpp.
References nodesHaveBeenCounted_.
Referenced by Sundance::ExprWithChildren::countNodes().
| static int Sundance::EvaluatableExpr::numDerivSubsetTypes | ( | ) | [inline, static, private] |
Definition at line 284 of file SundanceEvaluatableExpr.hpp.
| void Sundance::EvaluatableExpr::registerEvaluator | ( | const EvalContext & | context, |
| const RCP< Evaluator > & | evaluator | ||
| ) | const [inline, protected] |
Record the evaluator to be used for the given context.
Definition at line 260 of file SundanceEvaluatableExpr.hpp.
References evaluators_, and Sundance::Map< Key, Value, Compare >::put().
| void EvaluatableExpr::registerSpatialDerivs | ( | const EvalContext & | context, |
| const Set< MultiIndex > & | miSet | ||
| ) | const [virtual] |
Reimplemented in Sundance::DiffOp, Sundance::ExprWithChildren, and Sundance::SymbolicFuncElement.
Definition at line 80 of file SundanceEvaluatableExpr.cpp.
References activeSpatialDerivMap_, Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Set< Key, Compare >::merge(), and Sundance::Map< Key, Value, Compare >::put().
Referenced by Sundance::SymbolicFuncElement::registerSpatialDerivs(), Sundance::ExprWithChildren::registerSpatialDerivs(), Sundance::DiffOp::registerSpatialDerivs(), and Sundance::SymbPreprocessor::setupVariations().
| Set< MultipleDeriv > EvaluatableExpr::setDivision | ( | const Set< MultipleDeriv > & | a, |
| const Set< MultipleDeriv > & | b | ||
| ) | const |
Definition at line 348 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), Sundance::MultipleDeriv::factorOutDeriv(), and Sundance::Set< Key, Compare >::put().
Referenced by Sundance::DiffOp::internalFindV(), and Sundance::DiffOp::internalFindW().
| Set< MultiSet< int > > EvaluatableExpr::setDivision | ( | const Set< MultiSet< int > > & | s, |
| int | index | ||
| ) | const |
Definition at line 329 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::put().
| Set< MultipleDeriv > EvaluatableExpr::setProduct | ( | const Set< MultipleDeriv > & | a, |
| const Set< MultipleDeriv > & | b | ||
| ) | const |
Definition at line 315 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), and Sundance::Set< Key, Compare >::put().
Referenced by Sundance::DiffOp::internalDetermineR(), and Sundance::ExprWithChildren::product().
| void EvaluatableExpr::setupEval | ( | const EvalContext & | context | ) | const [virtual] |
Reimplemented in Sundance::ExprWithChildren.
Definition at line 154 of file SundanceEvaluatableExpr.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::EvaluatorFactory::createEvaluator(), evaluators_, Sundance::Map< Key, Value, Compare >::put(), Sundance::EvalContext::setupVerbosity(), sparsitySuperset(), SUNDANCE_MSG1, SUNDANCE_MSG2, Sundance::ExprBase::toString(), and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by Sundance::DerivOfSymbFuncEvaluator::DerivOfSymbFuncEvaluator(), Sundance::ExprWithChildren::setupEval(), and Sundance::SymbPreprocessor::setupVariations().
| void EvaluatableExpr::showSparsity | ( | std::ostream & | os, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented in Sundance::ExprWithChildren.
Definition at line 186 of file SundanceEvaluatableExpr.cpp.
References sparsitySuperset(), and Sundance::ExprBase::toString().
Referenced by Sundance::ExprWithChildren::showSparsity().
| RCP< SparsitySuperset > EvaluatableExpr::sparsitySuperset | ( | const EvalContext & | context | ) | const |
Return the set of all nonzero derivatives required in the given context.
Definition at line 106 of file SundanceEvaluatableExpr.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), findC(), findR(), findV(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Set< Key, Compare >::intersection(), Sundance::Map< Key, Value, Compare >::put(), Sundance::EvalContext::setupVerbosity(), sparsity_, SUNDANCE_MSG2, and Sundance::ExprBase::toString().
Referenced by Sundance::ChainRuleEvaluator::ChainRuleEvaluator(), Sundance::Assembler::displayEvaluationResults(), Sundance::Assembler::init(), Sundance::NonlinearUnaryOpEvaluator::NonlinearUnaryOpEvaluator(), Sundance::ExprWithChildren::setupEval(), setupEval(), Sundance::SymbPreprocessor::setupVariations(), Sundance::ExprWithChildren::showSparsity(), showSparsity(), and Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator().
Map<EvalContext, Set<MultiIndex> > Sundance::EvaluatableExpr::activeSpatialDerivMap_ [mutable, private] |
Definition at line 317 of file SundanceEvaluatableExpr.hpp.
Referenced by registerSpatialDerivs().
Array<Map<EvalContext, Set<MultipleDeriv> > > Sundance::EvaluatableExpr::allOrdersMap_ [mutable, private] |
Definition at line 315 of file SundanceEvaluatableExpr.hpp.
Referenced by findDerivSubset().
Array<contextToDSSMap_ele_t> Sundance::EvaluatableExpr::contextToDSSMap_ [mutable, private] |
Definition at line 311 of file SundanceEvaluatableExpr.hpp.
Referenced by determineR(), and findDerivSubset().
Map<EvalContext, RCP<Evaluator> > Sundance::EvaluatableExpr::evaluators_ [mutable, private] |
evaluators, indexed by context
Definition at line 289 of file SundanceEvaluatableExpr.hpp.
Referenced by evaluator(), evaluators(), registerEvaluator(), and setupEval().
Set<int> Sundance::EvaluatableExpr::funcDependencies_ [private] |
Definition at line 304 of file SundanceEvaluatableExpr.hpp.
Set<MultiSet<int> > Sundance::EvaluatableExpr::funcIDSet_ [private] |
Set of function combinations appearing in nonzero mixed partials.
Definition at line 301 of file SundanceEvaluatableExpr.hpp.
Set<NonzeroSpecifier> Sundance::EvaluatableExpr::knownNonzeros_ [mutable, private] |
Definition at line 306 of file SundanceEvaluatableExpr.hpp.
bool Sundance::EvaluatableExpr::nodesHaveBeenCounted_ [mutable, private] |
Definition at line 308 of file SundanceEvaluatableExpr.hpp.
Referenced by countNodes(), and nodesHaveBeenCounted().
Array<int> Sundance::EvaluatableExpr::orderOfDependency_ [private] |
Polynomial order of the dependency upon each coordinate direction.
Definition at line 298 of file SundanceEvaluatableExpr.hpp.
bool Sundance::EvaluatableExpr::rIsReady_ [mutable, private] |
Definition at line 313 of file SundanceEvaluatableExpr.hpp.
Referenced by determineR(), and findR().
Map<EvalContext, RCP<SparsitySuperset> > Sundance::EvaluatableExpr::sparsity_ [mutable, private] |
supersets of nonzero derivatives to be computed, index by context
Definition at line 295 of file SundanceEvaluatableExpr.hpp.
Referenced by sparsitySuperset().