Public Member Functions | Private Attributes
Sundance::DiscreteFuncElement Class Reference

DiscreteFuncElement represents a scalar-valued element of a (possibly) vector-valued discrete function. More...

Inheritance diagram for Sundance::DiscreteFuncElement:
Sundance::EvaluatableExpr Sundance::FuncElementBase Sundance::GenericEvaluatorFactory< DiscreteFuncElement, DiscreteFuncElementEvaluator > Sundance::ScalarExpr Sundance::EvaluatorFactory Sundance::FuncSetAccumulator Sundance::ObjectWithClassVerbosity< EvaluatableExpr > Sundance::ScalarExpr Sundance::FunctionWithID Sundance::EvaluatorFactory Sundance::ExprBase Sundance::DefaultObjectWithVerbosity Sundance::ExprBase Sundance::FuncSetAccumulator Sundance::Handleable< ExprBase > Sundance::ObjectWithVerbosityBase Sundance::Handleable< ExprBase > Sundance::Parameter

List of all members.

Public Member Functions

 DiscreteFuncElement (const RCP< DiscreteFuncDataStub > &data, const std::string &name, const std::string &suffix, const FunctionIdentifier &fid, int myIndexIntoVector)
virtual ~DiscreteFuncElement ()
 virtual destructor
RCP< const DiscreteFuncDataStubcommonData () const
 Get the data associated with the vector-valued function that contains this function element.
DiscreteFuncDataStubcommonData ()
 Get the data associated with the vector-valued function that contains this function element.
int myIndex () const
 Get my index into the master's list of elements.
void addMultiIndex (const MultiIndex &newMi) const
 Inform this function that it will need to be evaluated using the specified multiIndex.
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 hasTestFunctions () const
 Indicate whether this expression contains test functions.
virtual Set< MultipleDerivinternalFindW (int order, const EvalContext &context) const
virtual Set< MultipleDerivinternalFindV (int order, const EvalContext &context) const
 Find spatially-variable functional derivatives.
virtual Set< MultipleDerivinternalFindC (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 XMLObject toXML () const
 Write in XML.
const Set< MultiIndex > & multiIndexSet () const
virtual RCP< ExprBasegetRcp ()
 Return a safely-created RefCountPtr to the base type.
bool lessThan (const ScalarExpr *other) const
 Ordering operator for use in transforming exprs to standard form.

Private Attributes

RCP< DiscreteFuncDataStubcommonData_
Set< MultiIndexmiSet_
int myIndex_

Detailed Description

DiscreteFuncElement represents a scalar-valued element of a (possibly) vector-valued discrete function.

DiscreteFuncElement is framework-independent. Any framework-specific information should go in a subclass of DiscreteFuncDataStub. The DiscreteFuncDataStub object can be accessed through the master() method of this class.

Definition at line 59 of file SundanceDiscreteFuncElement.hpp.


Constructor & Destructor Documentation

DiscreteFuncElement::DiscreteFuncElement ( const RCP< DiscreteFuncDataStub > &  data,
const std::string &  name,
const std::string &  suffix,
const FunctionIdentifier fid,
int  myIndexIntoVector 
)

Definition at line 45 of file SundanceDiscreteFuncElement.cpp.

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

virtual destructor

Definition at line 72 of file SundanceDiscreteFuncElement.hpp.


Member Function Documentation

void DiscreteFuncElement::addMultiIndex ( const MultiIndex newMi) const

Inform this function that it will need to be evaluated using the specified multiIndex.

Definition at line 148 of file SundanceDiscreteFuncElement.cpp.

References miSet_, and Sundance::Set< Key, Compare >::put().

Referenced by Sundance::DiffOp::requestMultiIndexAtEvalPoint().

RCP<const DiscreteFuncDataStub> Sundance::DiscreteFuncElement::commonData ( ) const [inline]

Get the data associated with the vector-valued function that contains this function element.

Definition at line 77 of file SundanceDiscreteFuncElement.hpp.

References commonData_.

Referenced by Sundance::DiscreteFunctionData::getData().

DiscreteFuncDataStub* Sundance::DiscreteFuncElement::commonData ( ) [inline]

Get the data associated with the vector-valued function that contains this function element.

Definition at line 81 of file SundanceDiscreteFuncElement.hpp.

References commonData_.

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

Return a safely-created RefCountPtr to the base type.

Implements Sundance::Handleable< ExprBase >.

Reimplemented in Sundance::Parameter.

Definition at line 130 of file SundanceDiscreteFuncElement.hpp.

virtual bool Sundance::DiscreteFuncElement::hasDiscreteFunctions ( ) const [inline, virtual]

Indicate whether this expression contains discrete functions.

This object is a discrete function, so return true.

Reimplemented from Sundance::EvaluatableExpr.

Definition at line 100 of file SundanceDiscreteFuncElement.hpp.

virtual bool Sundance::DiscreteFuncElement::hasTestFunctions ( ) const [inline, virtual]

Indicate whether this expression contains test functions.

This object is a discrete function, so return false.

Reimplemented from Sundance::ScalarExpr.

Definition at line 106 of file SundanceDiscreteFuncElement.hpp.

RCP< Array< Set< MultipleDeriv > > > DiscreteFuncElement::internalDetermineR ( const EvalContext context,
const Array< Set< MultipleDeriv > > &  RInput 
) const [virtual]
Set< MultipleDeriv > DiscreteFuncElement::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::Parameter.

Definition at line 139 of file SundanceDiscreteFuncElement.cpp.

References Sundance::EvalContext::setupVerbosity(), and SUNDANCE_MSG5.

Set< MultipleDeriv > DiscreteFuncElement::internalFindV ( int  order,
const EvalContext context 
) const [virtual]
Set< MultipleDeriv > DiscreteFuncElement::internalFindW ( int  order,
const EvalContext context 
) const [virtual]
bool DiscreteFuncElement::lessThan ( const ScalarExpr other) const [virtual]

Ordering operator for use in transforming exprs to standard form.

Reimplemented from Sundance::FuncElementBase.

Definition at line 161 of file SundanceDiscreteFuncElement.cpp.

References Sundance::FunctionWithID::fid().

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

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

Reimplemented from Sundance::EvaluatableExpr.

Definition at line 94 of file SundanceDiscreteFuncElement.hpp.

const Set<MultiIndex>& Sundance::DiscreteFuncElement::multiIndexSet ( ) const [inline]

Definition at line 127 of file SundanceDiscreteFuncElement.hpp.

References miSet_.

int Sundance::DiscreteFuncElement::myIndex ( ) const [inline]
XMLObject DiscreteFuncElement::toXML ( ) const [virtual]

Write in XML.

Implements Sundance::ExprBase.

Reimplemented in Sundance::Parameter.

Definition at line 153 of file SundanceDiscreteFuncElement.cpp.

References Sundance::FuncElementBase::name().

Referenced by Sundance::DiscreteFunctionData::getData().


Member Data Documentation

Definition at line 137 of file SundanceDiscreteFuncElement.hpp.

Referenced by commonData().

Definition at line 139 of file SundanceDiscreteFuncElement.hpp.

Referenced by addMultiIndex(), and multiIndexSet().

Definition at line 141 of file SundanceDiscreteFuncElement.hpp.

Referenced by myIndex().

Site Contact