Sundance::DiffOp Class Reference

Inheritance diagram for Sundance::DiffOp:

Sundance::UnaryExpr Sundance::ExprWithChildren Sundance::EvaluatableExpr Sundance::ScalarExpr Sundance::EvaluatorFactory Sundance::FuncSetAccumulator Sundance::ObjectWithClassVerbosity< EvaluatableExpr > Sundance::ExprBase Playa::ObjectWithVerbosity Playa::Handleable< ExprBase > Sundance::DerivOfSymbFunc

List of all members.

Public Member Functions

 DiffOp (const MultiIndex &op, const RCP< ScalarExpr > &arg)
virtual ~DiffOp ()
virtual bool isLinearInTests () const
virtual bool isLinearForm (const Expr &u) const
virtual bool isQuadraticForm (const Expr &u) const
virtual int maxDiffOrderOnDiscreteFunctions () const
virtual std::ostream & toText (std::ostream &os, bool paren) const
virtual XMLObject toXML () const
virtual Set< MultipleDerivinternalFindW (int order, const EvalContext &context) const
virtual Set< MultipleDerivinternalFindV (int order, const EvalContext &context) const
virtual Set< MultipleDerivinternalFindC (int order, const EvalContext &context) const
virtual RCP< Array< Set
< MultipleDeriv > > > 
internalDetermineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const
void requestMultiIndexAtEvalPoint (const MultiIndex &mi, const MultipleDeriv &u, const EvalContext &context) const
const DerivmyCoordDeriv () const
const MultiIndexmi () const
const Sundance::Set< Deriv > & requiredFunctions (const MultipleDeriv &d) const
bool requiresFunctionsToEval (const MultipleDeriv &d) const
virtual RCP< ExprBasegetRcp ()
virtual EvaluatorcreateEvaluator (const EvaluatableExpr *expr, const EvalContext &context) const
virtual void registerSpatialDerivs (const EvalContext &context, const Set< MultiIndex > &miSet) const
virtual bool lessThan (const ScalarExpr *other) const

Private Attributes

MultiIndex mi_
Deriv myCoordDeriv_
Map< MultipleDeriv,
Sundance::Set< Deriv >
, increasingOrder
< MultipleDeriv > > 
requiredFunctions_
bool ignoreFuncTerms_


Detailed Description

Definition at line 57 of file SundanceDiffOp.hpp.


Constructor & Destructor Documentation

DiffOp::DiffOp ( const MultiIndex op,
const RCP< ScalarExpr > &  arg 
)

ctor

Definition at line 48 of file SundanceDiffOp.cpp.

virtual Sundance::DiffOp::~DiffOp (  )  [inline, virtual]

virtual destructor

Definition at line 64 of file SundanceDiffOp.hpp.


Member Function Documentation

Evaluator * DiffOp::createEvaluator ( const EvaluatableExpr expr,
const EvalContext context 
) const [virtual]

Implements Sundance::EvaluatorFactory.

Reimplemented in Sundance::DerivOfSymbFunc.

Definition at line 85 of file SundanceDiffOp.cpp.

virtual RCP<ExprBase> Sundance::DiffOp::getRcp (  )  [inline, virtual]

Implements Playa::Handleable< ExprBase >.

Reimplemented in Sundance::DerivOfSymbFunc.

Definition at line 159 of file SundanceDiffOp.hpp.

RCP< Array< Set< MultipleDeriv > > > DiffOp::internalDetermineR ( const EvalContext context,
const Array< Set< MultipleDeriv > > &  RInput 
) const [virtual]

Set< MultipleDeriv > DiffOp::internalFindC ( int  order,
const EvalContext context 
) const [virtual]

Set< MultipleDeriv > DiffOp::internalFindV ( int  order,
const EvalContext context 
) const [virtual]

Set< MultipleDeriv > DiffOp::internalFindW ( int  order,
const EvalContext context 
) const [virtual]

virtual bool Sundance::DiffOp::isLinearForm ( const Expr u  )  const [inline, virtual]

Indicate whether the expression is linear in the given functions

Reimplemented from Sundance::ScalarExpr.

Definition at line 77 of file SundanceDiffOp.hpp.

References Sundance::UnaryExpr::evaluatableArg(), and Sundance::ScalarExpr::isLinearForm().

virtual bool Sundance::DiffOp::isLinearInTests (  )  const [inline, virtual]

Indicate whether the expression is linear with respect to test functions

Reimplemented from Sundance::ScalarExpr.

Definition at line 71 of file SundanceDiffOp.hpp.

References Sundance::UnaryExpr::evaluatableArg(), and Sundance::ScalarExpr::isLinearInTests().

virtual bool Sundance::DiffOp::isQuadraticForm ( const Expr u  )  const [inline, virtual]

Indicate whether the expression is at most quadratic in the given functions

Reimplemented from Sundance::ScalarExpr.

Definition at line 84 of file SundanceDiffOp.hpp.

References Sundance::UnaryExpr::evaluatableArg(), and Sundance::ScalarExpr::isQuadraticForm().

bool DiffOp::lessThan ( const ScalarExpr other  )  const [virtual]

Ordering operator for use in transforming exprs to standard form

Reimplemented from Sundance::ExprWithChildren.

Reimplemented in Sundance::DerivOfSymbFunc.

Definition at line 321 of file SundanceDiffOp.cpp.

References myCoordDeriv_.

virtual int Sundance::DiffOp::maxDiffOrderOnDiscreteFunctions (  )  const [inline, virtual]

Find the maximum differentiation order acting on discrete functions in this expression.

Reimplemented from Sundance::ExprWithChildren.

Definition at line 93 of file SundanceDiffOp.hpp.

References Sundance::UnaryExpr::evaluatableArg(), Sundance::ExprWithChildren::hasDiscreteFunctions(), Sundance::EvaluatableExpr::maxDiffOrderOnDiscreteFunctions(), mi_, and Sundance::MultiIndex::order().

const MultiIndex& Sundance::DiffOp::mi (  )  const [inline]

const Deriv& Sundance::DiffOp::myCoordDeriv (  )  const [inline]

Definition at line 140 of file SundanceDiffOp.hpp.

References myCoordDeriv_.

void DiffOp::registerSpatialDerivs ( const EvalContext context,
const Set< MultiIndex > &  miSet 
) const [virtual]

void DiffOp::requestMultiIndexAtEvalPoint ( const MultiIndex mi,
const MultipleDeriv u,
const EvalContext context 
) const

const Sundance::Set<Deriv>& Sundance::DiffOp::requiredFunctions ( const MultipleDeriv d  )  const [inline]

Get the functions that are required in the evaluation of the multiple deriv d

Definition at line 147 of file SundanceDiffOp.hpp.

References requiredFunctions_.

bool Sundance::DiffOp::requiresFunctionsToEval ( const MultipleDeriv d  )  const [inline]

std::ostream & DiffOp::toText ( std::ostream &  os,
bool  paren 
) const [virtual]

Write a simple text description suitable for output to a terminal

Implements Sundance::ExprBase.

Definition at line 68 of file SundanceDiffOp.cpp.

References Sundance::UnaryExpr::arg(), Sundance::CoordExpr::coordName(), Sundance::MultiIndex::firstOrderDirection(), mi_, and Sundance::Expr::toString().

XMLObject DiffOp::toXML (  )  const [virtual]

Write in XML

Implements Sundance::ExprBase.

Definition at line 75 of file SundanceDiffOp.cpp.

References Sundance::UnaryExpr::arg(), mi_, and Sundance::MultiIndex::toString().


Member Data Documentation

bool Sundance::DiffOp::ignoreFuncTerms_ [mutable, private]

Definition at line 188 of file SundanceDiffOp.hpp.

Definition at line 183 of file SundanceDiffOp.hpp.

Referenced by lessThan(), and myCoordDeriv().

Definition at line 186 of file SundanceDiffOp.hpp.

Referenced by requiredFunctions(), and requiresFunctionsToEval().

Site Contact