Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

Sundance::Expr Class Reference

Expr represents a mathematical expression. An Expr can be an atomic entity such as a constant, a function, or a differential operator; or an expr can be a compound object such as a sum, project, or list of exprs. More... . More...

#include <Expr.h>

List of all members.

Public Methods

Constructors
Math operations
Listing
Linearization, variations, and substitution
relational operators
Probing at a cell or group of cells
Integrals and Norms
Output
Low-level methods -- not for user-level code

Static Public Methods

Private Methods

Private Attributes

Friends

Related Functions

(Note that these are not member functions.)

Detailed Description

Definition at line 43 of file Expr.h.


Constructor & Destructor Documentation

Sundance::Expr::Expr  
 

Sundance::Expr::Expr ExprBase   ptr
 

Sundance::Expr::Expr const double &    value
 

Sundance::Expr::~Expr  
 

Sundance::Expr::Expr const Expr &    other
 


Member Function Documentation

const Expr& Sundance::Expr::operator= const Expr &    other
 

Expr Sundance::Expr::operator-   const
 

const Expr& Sundance::Expr::operator+= const Expr &    other
 

const Expr& Sundance::Expr::operator-= const Expr &    other
 

const Expr& Sundance::Expr::operator *= const Expr &    other
 

const Expr& Sundance::Expr::operator/= const Expr &    other
 

Expr Sundance::Expr::pow const double &    p const
 

const Expr& Sundance::Expr::operator[] int    i const
 

Expr& Sundance::Expr::operator[] int    i
 

int Sundance::Expr::length   const
 

Referenced by Sundance::cross().

int Sundance::Expr::size   const
 

Expr Sundance::Expr::append const Expr &    other
 

Expr Sundance::Expr::flatten   const
 

Expr Sundance::Expr::variation const Expr &    u const
 

Expr Sundance::Expr::variation   const
 

Returns a test function with the same basis as this function

Expr Sundance::Expr::linearization const Expr &    u,
const Expr &    u0
const
 

Expr Sundance::Expr::directSensitivity const Expr &    u,
const Expr &    u0
const
 

Expr Sundance::Expr::sensitivityEquation const Expr &    u,
const Expr &    alpha,
const Expr &    alpha0
const
 

Expr Sundance::Expr::sensitivity const Expr &    alpha const
 

Expr Sundance::Expr::differential   const
 

Returns an unknown function with the same basis as this function

Expr Sundance::Expr::substitute const Expr &    u,
const Expr &    u0
const
 

Expr Sundance::Expr::differential const Expr &    u,
const Expr &    du
const
 

void Sundance::Expr::setDifferential const Expr &    du
 

void Sundance::Expr::setVariation const Expr &    v
 

void Sundance::Expr::setFunctionValue const Expr &    u0
 

LogicalExpr Sundance::Expr::operator== const Expr &    other const
 

LogicalExpr Sundance::Expr::operator!= const Expr &    other const
 

LogicalExpr Sundance::Expr::operator< const Expr &    other const
 

LogicalExpr Sundance::Expr::operator> const Expr &    other const
 

LogicalExpr Sundance::Expr::operator<= const Expr &    other const
 

LogicalExpr Sundance::Expr::operator>= const Expr &    other const
 

ExprValue Sundance::Expr::average const Cell   cell const
 

ExprValue Sundance::Expr::average const Mesh   mesh,
const CellSet   cellSet
const
 

double Sundance::Expr::probeAtMeshPoint int    localPointIndex const
 

void Sundance::Expr::evaluate const AbstractFunctionSpace   targetSpace,
const TSFArray< Cell > &    cells,
const TSFArray< int > &    cellIndices,
const TSFArray< int > &    dofIndices,
const TSFArray< Point > &    x,
DenseSerialVector &    values
const
 

double Sundance::Expr::evaluateFunctional const Mesh   mesh,
const Expr &    u,
const Expr &    u0
const
 

double Sundance::Expr::evaluateFunctional const Mesh   mesh const
 

const Expr& Sundance::Expr::getRegionalExpr const string &    region const
 

bool Sundance::Expr::isDefinedOnRegion const string &    region const
 

void Sundance::Expr::setRegionalExpr const string &    region,
const Expr &    expr
 

double Sundance::Expr::integral const Mesh   mesh,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::integral const Mesh   mesh,
const CellSet   cellSet,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::integral const QuadratureFamily   quad = Defaults::quadratureFamily() const
 

double Sundance::Expr::integral const CellSet   cellSet,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::norm int    p,
const Mesh   mesh,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::norm int    p,
const Mesh   mesh,
const CellSet   cellSet,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::norm int    p,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::norm int    p,
const CellSet   cellSet,
const QuadratureFamily   quad = Defaults::quadratureFamily()
const
 

double Sundance::Expr::quickNorm   const
 

This takes no account of cell areas and is therefore not necessarily the L2 norm of the expression. It will suffice for some purposes, however, and is fast because it doesn't have to do any integration.

double Sundance::Expr::maxNorm   const
 

string Sundance::Expr::toString bool    paren = false const
 

Referenced by Sundance::cross(), Sundance::HoldExpr::toString(), and Sundance::toString().

string Sundance::Expr::fullForm   const
 

XMLObject Sundance::Expr::toXML   const
 

Referenced by Sundance::HoldExpr::toXML().

void Sundance::Expr::matlabDump ostream &    os const
 

void Sundance::Expr::printDiscreteFunctions ostream &    os const
 

void Sundance::Expr::differential const Expr &    u,
const Expr &    du,
Expr &    result
const
 

Expr Sundance::Expr::derivative const MultiIndex   d const
 

const MultiIndex& Sundance::Expr::multiIndex   const
 

const Expr& Sundance::Expr::assignUsingLHSPtr const Expr &    other
 

const Expr& Sundance::Expr::assignUsingRHSPtr const Expr &    other
 

double Sundance::Expr::value   const
 

Referenced by Sundance::ParametricVectorElement::coeffVal(), Sundance::ParametricMatrixElement::coeffVal(), and Sundance::HoldExpr::value().

void Sundance::Expr::setParameterValue const double &    alpha
 

const string& Sundance::Expr::name   const
 

Referenced by Sundance::HoldExpr::name(), and Sundance::FieldWriter::writeField().

Expr Sundance::Expr::hold   const
 

This can save computation time in certain contexts, e.g., norms and integrals, by reducing the number of monomials that must be processed.

void Sundance::Expr::evaluate const WorkSet   workSet,
const QuadratureFamily   quadFamily,
DenseSerialVector &    result
const
 

void Sundance::Expr::watchOn  
 

Referenced by Sundance::UnaryExpr::watchOn().

void Sundance::Expr::watchOff  
 

Referenced by Sundance::UnaryExpr::watchOff().

bool Sundance::Expr::watching   const
 

void Sundance::Expr::getVector TSFVector &    vector const
 

void Sundance::Expr::setVector const TSFVector &    vector
 

void Sundance::Expr::readValues const string &    filename
 

void Sundance::Expr::getDOFMap TSFSmartPtr< DOFMapBase > &    map const
 

int Sundance::Expr::getReducedIndex   const
 

bool Sundance::Expr::equals const Expr &    other const
 

bool Sundance::Expr::lessThan const Expr &    other const
 

bool Sundance::Expr::greaterThan const Expr &    other const
 

int Sundance::Expr::sortPriority   const
 

bool Sundance::Expr::isNull   const [inline]
 

Definition at line 323 of file Expr.h.

References handle().

bool Sundance::Expr::isZero   const
 

bool Sundance::Expr::isConstant   const
 

bool Sundance::Expr::isSumExpr   const
 

bool Sundance::Expr::isProductExpr   const
 

bool Sundance::Expr::isTermListExpr   const
 

bool Sundance::Expr::isFuncExpr   const
 

bool Sundance::Expr::isDerivative   const
 

bool Sundance::Expr::isDiffOp   const
 

bool Sundance::Expr::isVariational   const
 

bool Sundance::Expr::isUnknown   const
 

bool Sundance::Expr::isCoordExpr   const
 

bool Sundance::Expr::isDiscreteFunction   const
 

bool Sundance::Expr::isUserFuncExpr   const
 

bool Sundance::Expr::isParameterExpr   const
 

bool Sundance::Expr::isHoldExpr   const
 

bool Sundance::Expr::isRegionalExpr   const
 

bool Sundance::Expr::isCellDiameterExpr   const
 

bool Sundance::Expr::isCellNormalExpr   const
 

bool Sundance::Expr::isIntegralExpr   const
 

bool Sundance::Expr::isTestParameter   const
 

bool Sundance::Expr::isUnknownParameter   const
 

bool Sundance::Expr::isSpatiallyConstant   const
 

Referenced by Sundance::StdFunctionExpr::isSpatiallyConstant(), Sundance::PowerExpr::isSpatiallyConstant(), and Sundance::HoldExpr::isSpatiallyConstant().

bool Sundance::Expr::containsUnknown   const
 

bool Sundance::Expr::containsTest   const
 

bool Sundance::Expr::containsUnknownParameter   const
 

bool Sundance::Expr::containsTestParameter   const
 

bool Sundance::Expr::hasChildren   const
 

void Sundance::Expr::getChildren ExprArray   children const
 

int Sundance::Expr::funcID   const
 

double Sundance::Expr::constant   const
 

const ExprBase* Sundance::Expr::ptr   const [inline]
 

Definition at line 393 of file Expr.h.

References handle(), and Sundance::ExprHandle::ptr().

Expr Sundance::Expr::extractPrefactor double &    prefactor const
 

Expr Sundance::Expr::clone   const
 

bool Sundance::Expr::lhsAppearsOnRHS const Expr &    lhs const
 

x=x+y

void Sundance::Expr::replaceWithCloneOfAssignmentLHS const Expr &    lhs,
const Expr &    lhsClone
 

void Sundance::Expr::print ostream &    os,
bool    paren = false
const
 

Referenced by Sundance::operator<<(), and Sundance::HoldExpr::print().

BasisFamily Sundance::Expr::getBasis   const
 

Referenced by Sundance::DiscreteFunctionDeriv::getBasis().

int Sundance::Expr::countMonomials   const
 

ExprArray Sundance::Expr::getMonomials   const
 

void Sundance::Expr::getMonomials ExprArray   monomials,
int &    offset
const
 

bool Sundance::Expr::getValidWeakForm Expr &    coeff,
Expr &    var,
Expr &    unk
const
 

If the monomial contains more than one unknown or test function, or if it contains no test function, it is not a valid weak form and this function will return false. If valid, return true.

bool Sundance::Expr::getMesh Mesh   mesh const
 

void Sundance::Expr::getDomain TSFNonDupArray< CellSet > &    domain const
 

int Sundance::Expr::hashCode   const
 

Referenced by Sundance::hashCode().

Expr& Sundance::Expr::dummy   [static]
 

void Sundance::Expr::considerSuicide   [private]
 

bool Sundance::Expr::readyToDie   const [private]
 

void Sundance::Expr::initializeRefCount   [private]
 

void Sundance::Expr::initializeHandle ExprHandle   handlePtr [private]
 

void Sundance::Expr::decrementRefCount   [inline, private]
 

Definition at line 450 of file Expr.h.

void Sundance::Expr::incrementRefCount   [inline, private]
 

Definition at line 451 of file Expr.h.

ExprBase* Sundance::Expr::ptr   [inline, private]
 

Definition at line 452 of file Expr.h.

References handle(), and Sundance::ExprHandle::ptr().

void Sundance::Expr::nullCheck const string &    funcName const [private]
 

ExprHandle* Sundance::Expr::handle   [inline, private]
 

Definition at line 454 of file Expr.h.

References ptrToHandle_.

Referenced by isNull(), and ptr().

const ExprHandle* Sundance::Expr::handle   const [inline, private]
 

Definition at line 455 of file Expr.h.

References ptrToHandle_.


Friends And Related Function Documentation

Expr List const Expr &    a [friend]
 

Expr List const Expr &    a,
const Expr &    b
[friend]
 

Expr List const Expr &    a,
const Expr &    b,
const Expr &    c
[friend]
 

Expr List const Expr &    a,
const Expr &    b,
const Expr &    c,
const Expr &    d
[friend]
 

double definiteIntegral const Mesh   mesh,
const CellSet   subdomain,
const Expr &    integrand,
const QuadratureFamily   quad = new GaussLegendre(4)
[related]
 

double definiteIntegral const Mesh   mesh,
const Expr &    integrand,
const QuadratureFamily   quad = new GaussLegendre(4)
[related]
 

Expr join const Expr &    e1,
const Expr &    e2
[related]
 

Expr operator+ const Expr &    a,
const Expr &    b
[related]
 

Both terms must have the same list structure.

Expr operator- const Expr &    a,
const Expr &    b
[related]
 

Both terms must have the same list structure.

Expr operator * const Expr &    a,
const Expr &    b
[related]
 

Expr operator/ const Expr &    a,
const Expr &    b
[related]
 

The denominator must be a scalar-valued expr.

Expr pow const Expr &    expr,
const double &    p
[related]
 

The expr must be scalar valued.

Expr hold const Expr &    expr [related]
 

Expr sin const Expr &    arg [related]
 

Expr cos const Expr &    arg [related]
 

Expr tan const Expr &    arg [related]
 

Expr asin const Expr &    arg [related]
 

Expr acos const Expr &    arg [related]
 

Expr atan const Expr &    arg [related]
 

Expr exp const Expr &    arg [related]
 

Expr log const Expr &    arg [related]
 

Expr cosh const Expr &    arg [related]
 

Expr sinh const Expr &    arg [related]
 

Expr tanh const Expr &    arg [related]
 

Expr sqrt const Expr &    arg [related]
 

Expr fabs const Expr &    arg [related]
 

Expr sign const Expr &    arg [related]
 


Member Data Documentation

ExprHandle** Sundance::Expr::ptrToHandle_ [private]
 

Definition at line 458 of file Expr.h.

Referenced by handle().

int* Sundance::Expr::refCount_ [private]
 

Definition at line 459 of file Expr.h.


The documentation for this class was generated from the following files:
Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by