Public Member Functions | |
| EvaluatableExpr () | |
| virtual | ~EvaluatableExpr () |
| const RCP< Evaluator > & | evaluator (const EvalContext &context) const |
| virtual void | showSparsity (std::ostream &os, const EvalContext &context) const |
| virtual int | countNodes () const |
| virtual int | maxDiffOrderOnDiscreteFunctions () const |
| virtual bool | hasDiscreteFunctions () const |
| 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 |
| virtual Set< MultipleDeriv > | internalFindC (int order, const EvalContext &context) const |
| 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 |
Preprocessing | |
| virtual void | setupEval (const EvalContext &context) const |
| RCP< SparsitySuperset > | sparsitySuperset (const EvalContext &context) const |
Static Public Member Functions | |
| static const EvaluatableExpr * | getEvalExpr (const Expr &expr) |
| static int | maxFuncDiffOrder () |
| static Time & | evaluationTimer () |
Protected Member Functions | |
| void | registerEvaluator (const EvalContext &context, const RCP< Evaluator > &evaluator) const |
| 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 |
| void | printR (int verb, const RCP< Array< Set< MultipleDeriv > > > &R) 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_ |
| Map< EvalContext, RCP < SparsitySuperset > > | sparsity_ |
| Array< int > | orderOfDependency_ |
| Set< MultiSet< int > > | funcIDSet_ |
| 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 86 of file SundanceEvaluatableExpr.hpp.
typedef Array<Map<EvalContext, Set<MultipleDeriv> > > Sundance::EvaluatableExpr::contextToDSSMap_ele_t [private] |
Definition at line 324 of file SundanceEvaluatableExpr.hpp.
typedef OrderedQuartet<EvalContext, Set<MultiIndex>, Set<MultiSet<int> >, bool> Sundance::EvaluatableExpr::NonzeroSpecifier [private] |
Definition at line 94 of file SundanceEvaluatableExpr.hpp.
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 103 of file SundanceEvaluatableExpr.hpp.
| const Set< MultiIndex > & EvaluatableExpr::activeSpatialDerivs | ( | const EvalContext & | context | ) | const [protected] |
Definition at line 107 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 430 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), Sundance::MultipleDeriv::isInRequiredSet(), Sundance::EvalContext::setupVerbosity(), and SUNDANCE_MSG2.
Referenced by Sundance::SymbPreprocessor::setupVariations().
| int EvaluatableExpr::countNodes | ( | ) | const [virtual] |
Reimplemented in Sundance::ExprWithChildren.
Definition at line 243 of file SundanceEvaluatableExpr.cpp.
References nodesHaveBeenCounted_.
Referenced by Sundance::ExprWithChildren::countNodes().
| string EvaluatableExpr::derivType | ( | const DerivSubsetSpecifier & | dss | ) | const [protected] |
Definition at line 75 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 380 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 506 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 162 of file SundanceEvaluatableExpr.cpp.
References evaluator(), and Sundance::EvalManager::getRegion().
| Time & EvaluatableExpr::evaluationTimer | ( | ) | [static] |
Definition at line 70 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 155 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 279 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 266 of file SundanceEvaluatableExpr.cpp.
References Sundance::ConstantNonzeros, and findDerivSubset().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), displayNonzeros(), Sundance::ChainRuleEvaluator::init(), Sundance::DiffOp::internalFindC(), Sundance::SymbolicFuncElement::internalFindC(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findC | ( | const EvalContext & | context | ) | const |
Definition at line 479 of file SundanceEvaluatableExpr.cpp.
References Sundance::ConstantNonzeros, and findDerivSubset().
| const Set< MultipleDeriv > & EvaluatableExpr::findDerivSubset | ( | int | order, |
| const DerivSubsetSpecifier & | dss, | ||
| const EvalContext & | context | ||
| ) | const |
Definition at line 284 of file SundanceEvaluatableExpr.cpp.
References Sundance::AllNonzeros, Sundance::ConstantNonzeros, contextToDSSMap_, derivType(), internalFindC(), internalFindV(), internalFindW(), Sundance::RequiredNonzeros, Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::ExprBase::toString(), Sundance::VariableNonzeros, and Playa::ObjectWithVerbosity::verb().
Referenced by findC(), findDerivSubset(), findR(), findV(), findW(), and Sundance::ExprWithChildren::product().
| const Set< MultipleDeriv > & EvaluatableExpr::findDerivSubset | ( | const DerivSubsetSpecifier & | dss, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 490 of file SundanceEvaluatableExpr.cpp.
References allOrdersMap_, findDerivSubset(), and Sundance::Set< Key, Compare >::merge().
| const Set< MultipleDeriv > & EvaluatableExpr::findR | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 273 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::ConstantExpr::internalFindC(), Sundance::UnknownParameterElement::internalFindC(), Sundance::ExprWithChildren::internalFindC(), Sundance::SymbolicFuncElement::internalFindC(), Sundance::DiffOp::internalFindC(), Sundance::ExprWithChildren::internalFindV(), Sundance::DiscreteFuncElement::internalFindV(), Sundance::DiffOp::internalFindV(), Sundance::SymbolicFuncElement::internalFindV(), internalFindV(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findR | ( | const EvalContext & | context | ) | const |
Definition at line 474 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), and Sundance::RequiredNonzeros.
| const Set< MultipleDeriv > & EvaluatableExpr::findV | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 259 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::ExprWithChildren::internalFindV(), Sundance::DiffOp::internalFindV(), Sundance::SymbolicFuncElement::internalFindV(), Sundance::DiffOp::requestMultiIndexAtEvalPoint(), and sparsitySuperset().
| const Set< MultipleDeriv > & EvaluatableExpr::findV | ( | const EvalContext & | context | ) | const |
Definition at line 484 of file SundanceEvaluatableExpr.cpp.
References findDerivSubset(), and Sundance::VariableNonzeros.
| const Set< MultipleDeriv > & EvaluatableExpr::findW | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 252 of file SundanceEvaluatableExpr.cpp.
References Sundance::AllNonzeros, and findDerivSubset().
Referenced by Sundance::ExprWithChildren::displayNonzeros(), displayNonzeros(), Sundance::DiffOp::internalDetermineR(), Sundance::ProductExpr::internalFindQ_W(), Sundance::UnaryMinus::internalFindQ_W(), Sundance::DiffOp::internalFindV(), Sundance::DiffOp::internalFindW(), Sundance::SymbolicFuncElement::internalFindW(), and Sundance::DiffOp::requestMultiIndexAtEvalPoint().
| const Set< MultipleDeriv > & EvaluatableExpr::findW | ( | const EvalContext & | context | ) | const |
Definition at line 469 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 222 of file SundanceEvaluatableExpr.cpp.
References Playa::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 164 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::ExprWithChildren, Sundance::DiffOp, Sundance::SymbolicFuncElement, Sundance::DiscreteFuncElement, Sundance::Parameter, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 404 of file SundanceEvaluatableExpr.cpp.
References Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG3, and Sundance::toString().
Referenced by determineR(), Sundance::DiscreteFuncElement::internalDetermineR(), and Sundance::SymbolicFuncElement::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::DiffOp, Sundance::SymbolicFuncElement, Sundance::DiscreteFuncElement, Sundance::ExprWithChildren, Sundance::Parameter, Sundance::UnknownParameterElement, Sundance::ExplicitFunctionalDerivativeElement, Sundance::CoordExpr, Sundance::ConstantExpr, and Sundance::ZeroExpr.
Definition at line 186 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::SymbolicFuncElement, Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::ExprWithChildren, Sundance::UnknownParameterElement, Sundance::Parameter, Sundance::CoordExpr, Sundance::ConstantExpr, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 180 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::SymbolicFuncElement, Sundance::DiffOp, Sundance::DiscreteFuncElement, Sundance::CellVectorExpr, Sundance::ExprWithChildren, Sundance::Parameter, Sundance::UnknownParameterElement, Sundance::CurveNormExpr, Sundance::CoordExpr, Sundance::ExplicitFunctionalDerivativeElement, Sundance::ConstantExpr, Sundance::CellDiameterExpr, Sundance::FunctionalPolynomial, and Sundance::ZeroExpr.
Referenced by findDerivSubset().
| bool EvaluatableExpr::isEvaluatable | ( | const ExprBase * | expr | ) | [static, protected] |
Definition at line 237 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 159 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 170 of file SundanceEvaluatableExpr.hpp.
| int EvaluatableExpr::maxOrder | ( | const Set< MultiIndex > & | m | ) | const [protected] |
Definition at line 212 of file SundanceEvaluatableExpr.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), and Playa::max().
Referenced by Sundance::UserDefOpElement::getArgDerivIndices().
| virtual bool Sundance::EvaluatableExpr::nodesHaveBeenCounted | ( | ) | const [inline, virtual] |
Definition at line 167 of file SundanceEvaluatableExpr.hpp.
References nodesHaveBeenCounted_.
Referenced by Sundance::ExprWithChildren::countNodes().
| static int Sundance::EvaluatableExpr::numDerivSubsetTypes | ( | ) | [inline, static, private] |
Definition at line 298 of file SundanceEvaluatableExpr.hpp.
| void EvaluatableExpr::printR | ( | int | verb, |
| const RCP< Array< Set< MultipleDeriv > > > & | R | ||
| ) | const [protected] |
Definition at line 529 of file SundanceEvaluatableExpr.cpp.
References SUNDANCE_MSG2.
Referenced by Sundance::DiffOp::internalDetermineR().
| 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 271 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::ExprWithChildren, Sundance::DiffOp, and Sundance::SymbolicFuncElement.
Definition at line 90 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::DiffOp::registerSpatialDerivs(), Sundance::ExprWithChildren::registerSpatialDerivs(), and Sundance::SymbPreprocessor::setupVariations().
| Set< MultipleDeriv > EvaluatableExpr::setDivision | ( | const Set< MultipleDeriv > & | a, |
| const Set< MultipleDeriv > & | b | ||
| ) | const |
Definition at line 364 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 345 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 331 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 170 of file SundanceEvaluatableExpr.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::EvaluatorFactory::createEvaluator(), Sundance::EvalContext::evalSetupVerbosity(), evaluators_, Sundance::Map< Key, Value, Compare >::put(), sparsitySuperset(), SUNDANCE_MSG1, SUNDANCE_MSG2, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::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 202 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 116 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(), Playa::Out::os(), 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(), showSparsity(), Sundance::ExprWithChildren::showSparsity(), and Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator().
Map<EvalContext, Set<MultiIndex> > Sundance::EvaluatableExpr::activeSpatialDerivMap_ [mutable, private] |
Definition at line 331 of file SundanceEvaluatableExpr.hpp.
Referenced by registerSpatialDerivs().
Array<Map<EvalContext, Set<MultipleDeriv> > > Sundance::EvaluatableExpr::allOrdersMap_ [mutable, private] |
Definition at line 329 of file SundanceEvaluatableExpr.hpp.
Referenced by findDerivSubset().
Array<contextToDSSMap_ele_t> Sundance::EvaluatableExpr::contextToDSSMap_ [mutable, private] |
Definition at line 325 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 303 of file SundanceEvaluatableExpr.hpp.
Referenced by evaluator(), evaluators(), registerEvaluator(), and setupEval().
Set<int> Sundance::EvaluatableExpr::funcDependencies_ [private] |
Definition at line 318 of file SundanceEvaluatableExpr.hpp.
Set<MultiSet<int> > Sundance::EvaluatableExpr::funcIDSet_ [private] |
Set of function combinations appearing in nonzero mixed partials
Definition at line 315 of file SundanceEvaluatableExpr.hpp.
Set<NonzeroSpecifier> Sundance::EvaluatableExpr::knownNonzeros_ [mutable, private] |
Definition at line 320 of file SundanceEvaluatableExpr.hpp.
bool Sundance::EvaluatableExpr::nodesHaveBeenCounted_ [mutable, private] |
Definition at line 322 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 312 of file SundanceEvaluatableExpr.hpp.
bool Sundance::EvaluatableExpr::rIsReady_ [mutable, private] |
Definition at line 327 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 309 of file SundanceEvaluatableExpr.hpp.
Referenced by sparsitySuperset().