00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "SundanceSumOfBCs.hpp"
00032 #include "PlayaTabs.hpp"
00033
00034 using namespace Sundance;
00035 using namespace Teuchos;
00036 using std::endl;
00037
00038 SumOfBCs::SumOfBCs(const RCP<CellFilterStub>& region,
00039 const Expr& expr,
00040 const RCP<QuadratureFamilyStub>& quad,
00041 const ParametrizedCurve& curve,
00042 const WatchFlag& watch)
00043 : SumOfIntegrals(region, expr, quad, curve, watch)
00044 {;}
00045
00046 std::ostream& SumOfBCs::toText(std::ostream& os, bool paren) const
00047 {
00048 os << "Sum of BCs[" << std::endl;
00049 for (Sundance::Map<RegionQuadCombo, Expr>::const_iterator
00050 i=rqcToExprMap().begin(); i!=rqcToExprMap().end(); i++)
00051 {
00052 const RegionQuadCombo& rqc = i->first;
00053 Expr e = i->second;
00054 os << "Integral[" << std::endl;
00055 os << "rqc=" << rqc.toString() << std::endl;
00056 os << "expr=" << e.toString() << std::endl;
00057 os << "]" << std::endl;
00058 }
00059 os << "]" << std::endl;
00060
00061 return os;
00062 }
00063
00064
00065 XMLObject SumOfBCs::toXML() const
00066 {
00067 XMLObject rtn("SumOfBCs");
00068 for (Sundance::Map<RegionQuadCombo, Expr>::const_iterator
00069 i=rqcToExprMap().begin(); i!=rqcToExprMap().end(); i++)
00070 {
00071 const RegionQuadCombo& rqc = i->first;
00072 Expr e = i->second;
00073 XMLObject child("Integral");
00074 rtn.addChild(child);
00075 child.addChild(rqc.quad()->toXML());
00076 child.addChild(rqc.domain()->toXML());
00077 child.addChild(rqc.watch().toXML());
00078 child.addChild(e.toXML());
00079 }
00080 return rtn;
00081 }