Public Member Functions | |
SumOfIntegrals (const RCP< CellFilterStub > ®ion, const Expr &expr, const RCP< QuadratureFamilyStub > &quad, const WatchFlag &watch) | |
SumOfIntegrals (const RCP< CellFilterStub > ®ion, const Expr &expr, const RCP< QuadratureFamilyStub > &quad, const ParametrizedCurve &curve, const WatchFlag &watch) | |
virtual | ~SumOfIntegrals () |
void | addTerm (const RCP< CellFilterStub > ®ion, const Expr &expr, const RCP< QuadratureFamilyStub > &quad, const ParametrizedCurve ¶mCurve, const WatchFlag &watch, int sign) |
void | merge (const SumOfIntegrals *other, int sign) |
void | multiplyByConstant (const SpatiallyConstantExpr *expr) |
void | changeSign () |
int | numRQC () const |
const Sundance::Map < RegionQuadCombo, Expr > & | rqcToExprMap () const |
Set< int > | funcsOnRegion (const OrderedHandle< CellFilterStub > &d, const Set< int > &funcsSet) const |
bool | integralHasTestFunctions (const OrderedHandle< CellFilterStub > &d) const |
RCP< CellFilterStub > | nullRegion () const |
virtual bool | isIndependentOf (const Expr &u) const |
virtual bool | isLinearForm (const Expr &u) const |
virtual bool | isQuadraticForm (const Expr &u) const |
virtual bool | isLinearInTests () const |
virtual bool | everyTermHasTestFunctions () const |
virtual bool | hasTestFunctions () const |
virtual std::ostream & | toText (std::ostream &os, bool paren) const |
virtual XMLObject | toXML () const |
virtual RCP< ExprBase > | getRcp () |
virtual bool | lessThan (const ScalarExpr *other) const |
bool | hasWatchedTerm () const |
int | eqnSetSetupVerb () const |
Protected Member Functions | |
Expr | filterSpectral (const Expr &ex) const |
Private Attributes | |
Sundance::Map< RegionQuadCombo, Expr > | rqcToExprMap_ |
Definition at line 69 of file SundanceSumOfIntegrals.hpp.
SumOfIntegrals::SumOfIntegrals | ( | const RCP< CellFilterStub > & | region, | |
const Expr & | expr, | |||
const RCP< QuadratureFamilyStub > & | quad, | |||
const WatchFlag & | watch | |||
) |
Construct given an integral over a single region
Definition at line 39 of file SundanceSumOfIntegrals.cpp.
References addTerm().
SumOfIntegrals::SumOfIntegrals | ( | const RCP< CellFilterStub > & | region, | |
const Expr & | expr, | |||
const RCP< QuadratureFamilyStub > & | quad, | |||
const ParametrizedCurve & | curve, | |||
const WatchFlag & | watch | |||
) |
Construct given an integral over a single region
Definition at line 48 of file SundanceSumOfIntegrals.cpp.
References addTerm().
virtual Sundance::SumOfIntegrals::~SumOfIntegrals | ( | ) | [inline, virtual] |
Definition at line 86 of file SundanceSumOfIntegrals.hpp.
void SumOfIntegrals::addTerm | ( | const RCP< CellFilterStub > & | region, | |
const Expr & | expr, | |||
const RCP< QuadratureFamilyStub > & | quad, | |||
const ParametrizedCurve & | paramCurve, | |||
const WatchFlag & | watch, | |||
int | sign | |||
) |
Add another term to this integral
Definition at line 65 of file SundanceSumOfIntegrals.cpp.
References Sundance::Map< Key, Value, Compare >::containsKey(), filterSpectral(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Map< Key, Value, Compare >::put(), and rqcToExprMap_.
Referenced by merge(), and SumOfIntegrals().
void SumOfIntegrals::changeSign | ( | ) |
Change the sign of all terms in the sum
Definition at line 111 of file SundanceSumOfIntegrals.cpp.
References Sundance::Map< Key, Value, Compare >::put(), and rqcToExprMap_.
Referenced by Sundance::SumIntegrals::doTransform().
int SumOfIntegrals::eqnSetSetupVerb | ( | ) | const |
Find the maximum setup verbosity of the terms
Definition at line 302 of file SundanceSumOfIntegrals.cpp.
References Sundance::WatchFlag::param(), rqcToExprMap_, and Sundance::RegionQuadCombo::watch().
Referenced by Sundance::FunctionSupportResolver::FunctionSupportResolver(), and Sundance::EquationSet::init().
bool SumOfIntegrals::everyTermHasTestFunctions | ( | ) | const [virtual] |
Indicate whether every term in the expression contains test functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 206 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::everyTermHasTestFunctions(), and rqcToExprMap_.
Set< int > SumOfIntegrals::funcsOnRegion | ( | const OrderedHandle< CellFilterStub > & | d, | |
const Set< int > & | funcsSet | |||
) | const |
Return the set of unknown or variational functions defined on region d
Definition at line 123 of file SundanceSumOfIntegrals.cpp.
References Sundance::RegionQuadCombo::domain(), Playa::Handle< PointerType >::ptr(), and rqcToExprMap_.
Referenced by Sundance::FunctionSupportResolver::FunctionSupportResolver().
virtual RCP<ExprBase> Sundance::SumOfIntegrals::getRcp | ( | ) | [inline, virtual] |
Implements Playa::Handleable< ExprBase >.
Reimplemented in Sundance::SumOfBCs.
Definition at line 160 of file SundanceSumOfIntegrals.hpp.
bool SumOfIntegrals::hasTestFunctions | ( | ) | const [virtual] |
Indicate whether the expression contains test functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 229 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::hasTestFunctions(), and rqcToExprMap_.
bool SumOfIntegrals::hasWatchedTerm | ( | ) | const |
Look for a term with an active watchpoint
Definition at line 289 of file SundanceSumOfIntegrals.cpp.
References Sundance::WatchFlag::isActive(), rqcToExprMap_, and Sundance::RegionQuadCombo::watch().
Referenced by Sundance::FunctionSupportResolver::FunctionSupportResolver(), and Sundance::EquationSet::init().
bool SumOfIntegrals::integralHasTestFunctions | ( | const OrderedHandle< CellFilterStub > & | d | ) | const |
Indicate whether the integral over region d contains any test functions
Definition at line 138 of file SundanceSumOfIntegrals.cpp.
References Sundance::RegionQuadCombo::domain(), Sundance::Expr::hasTestFunctions(), and rqcToExprMap_.
bool SumOfIntegrals::isIndependentOf | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is independent of the given functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 172 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::isIndependentOf(), and rqcToExprMap_.
bool SumOfIntegrals::isLinearForm | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is linear in the given functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 183 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::isLinearForm(), and rqcToExprMap_.
bool SumOfIntegrals::isLinearInTests | ( | ) | const [virtual] |
Indicate whether the expression is nonlinear with respect to test functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 218 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::isLinearInTests(), and rqcToExprMap_.
bool SumOfIntegrals::isQuadraticForm | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is quadratic in the given functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 194 of file SundanceSumOfIntegrals.cpp.
References Sundance::Expr::isQuadraticForm(), and rqcToExprMap_.
bool SumOfIntegrals::lessThan | ( | const ScalarExpr * | other | ) | const [virtual] |
Ordering operator for use in transforming exprs to standard form
Implements Sundance::ScalarExpr.
Definition at line 281 of file SundanceSumOfIntegrals.cpp.
References rqcToExprMap_.
void SumOfIntegrals::merge | ( | const SumOfIntegrals * | other, | |
int | sign | |||
) |
Add this sum of integrals to another sum of integrals
Definition at line 87 of file SundanceSumOfIntegrals.cpp.
References addTerm(), Sundance::RegionQuadCombo::domain(), Sundance::RegionQuadCombo::paramCurve(), Sundance::RegionQuadCombo::quad(), rqcToExprMap_, and Sundance::RegionQuadCombo::watch().
Referenced by Sundance::SumIntegrals::doTransform().
void SumOfIntegrals::multiplyByConstant | ( | const SpatiallyConstantExpr * | expr | ) |
Multiply all terms in the sum by a constant
Definition at line 98 of file SundanceSumOfIntegrals.cpp.
References Sundance::Map< Key, Value, Compare >::put(), rqcToExprMap_, and Sundance::SpatiallyConstantExpr::value().
Referenced by Sundance::TakeConstantUnderIntegralSign::doTransform().
RCP< CellFilterStub > SumOfIntegrals::nullRegion | ( | ) | const |
Return a null cell filter of a type consistent with the other filters in this integral
Definition at line 153 of file SundanceSumOfIntegrals.cpp.
References Sundance::RegionQuadCombo::domain(), and rqcToExprMap_.
Referenced by Sundance::SumIntegrals::doTransform().
int Sundance::SumOfIntegrals::numRQC | ( | ) | const [inline] |
Return the number of subregions
Definition at line 106 of file SundanceSumOfIntegrals.hpp.
References rqcToExprMap_.
const Sundance::Map<RegionQuadCombo, Expr>& Sundance::SumOfIntegrals::rqcToExprMap | ( | ) | const [inline] |
Definition at line 109 of file SundanceSumOfIntegrals.hpp.
References rqcToExprMap_.
Referenced by Sundance::FunctionSupportResolver::FunctionSupportResolver(), Sundance::EquationSet::init(), Sundance::SumOfBCs::toText(), and Sundance::SumOfBCs::toXML().
std::ostream & SumOfIntegrals::toText | ( | std::ostream & | os, | |
bool | paren | |||
) | const [virtual] |
Write a simple text description suitable for output to a terminal
Implements Sundance::ExprBase.
Reimplemented in Sundance::SumOfBCs.
Definition at line 242 of file SundanceSumOfIntegrals.cpp.
References rqcToExprMap_, Sundance::Expr::toString(), and Sundance::RegionQuadCombo::toString().
XMLObject SumOfIntegrals::toXML | ( | ) | const [virtual] |
Write in XML
Implements Sundance::ExprBase.
Reimplemented in Sundance::SumOfBCs.
Definition at line 261 of file SundanceSumOfIntegrals.cpp.
References Sundance::RegionQuadCombo::domain(), Sundance::RegionQuadCombo::quad(), rqcToExprMap_, Sundance::Expr::toXML(), Sundance::WatchFlag::toXML(), and Sundance::RegionQuadCombo::watch().
Definition at line 177 of file SundanceSumOfIntegrals.hpp.
Referenced by addTerm(), changeSign(), eqnSetSetupVerb(), everyTermHasTestFunctions(), funcsOnRegion(), hasTestFunctions(), hasWatchedTerm(), integralHasTestFunctions(), isIndependentOf(), isLinearForm(), isLinearInTests(), isQuadraticForm(), lessThan(), merge(), multiplyByConstant(), nullRegion(), numRQC(), rqcToExprMap(), toText(), and toXML().