
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().