29 #include "NamespaceHeader.H" 59 bool a_forceNoEBCF =
false);
73 bool a_forceNoEBCF =
false);
122 bool a_doingFineRegular);
128 bool a_multByKappaOneMinusKappa =
false);
132 const Interval& a_solutionvariables,
135 bool a_multByKappaOneMinusKappa =
false)
141 reflux(diffCoar, a_fluxvariables, a_scale, a_multByKappaOneMinusKappa);
144 int isrc = a_fluxvariables.
begin();
145 int inco = a_fluxvariables.
size();
146 int idst = a_solutionvariables.
begin();
147 a_uCoarse[dit()].plus(diffCoar[dit()], isrc, idst, inco);
163 const Real& a_scale);
171 const Real& a_newScale,
192 const Real& a_newScale,
229 int iloc =
index(a_idir, a_sd);
249 int iloc =
index(a_idir, a_sd);
274 bool a_multByKappaOneMinusKappa =
false);
279 const Real & a_newScale,
280 bool a_multByOneMinusKappa,
281 bool a_multByKappaOneMinusKappa);
331 #include "NamespaceFooter.H" void incrementDensityArray(LevelData< EBCellFAB > &a_coarMass, const Interval &a_variables, const Real &a_scale)
EBFastFR-A class to encapsulate a levels worth of flux registers.
Definition: EBFastFR.H:39
LevelFluxRegister * m_levelFluxReg
Definition: EBFastFR.H:284
EBISLayout getEBISL() const
Definition: EBLevelGrid.H:93
void irregReflux(LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables, const Real &a_scale, bool a_multByKappaOneMinusKappa=false)
#define CH_assert(cond)
Definition: CHArray.H:37
Definition: EBIndexSpace.H:50
EBLevelGrid m_eblgFine
Definition: EBFastFR.H:288
int m_nComp
Definition: EBFastFR.H:293
static int index(int a_dir, Side::LoHiSide a_side)
one dimensional dynamic array
Definition: Vector.H:53
int size() const
Definition: Interval.H:75
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:145
int begin() const
Definition: Interval.H:97
LevelData< EBCellFAB > m_delUCoFi
Definition: EBFastFR.H:314
Real m_nrefdmo
Definition: EBFastFR.H:297
Copier m_reverseCopier
Definition: EBFastFR.H:307
Factory class to produce EBCellFABs.
Definition: EBCellFactory.H:29
Definition: EBLevelGrid.H:30
DisjointBoxLayout getDBL() const
Definition: EBLevelGrid.H:86
virtual bool ok() const
return true if this iterator is still in its Layout
Definition: LayoutIterator.H:117
Definition: DataIterator.H:190
Definition: EBFaceFAB.H:28
virtual void incrementFineSparse(const EBFaceFAB &a_fineFlux, const Real &a_scale, const DataIndex &a_fineDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd, bool a_doingFineRegular)
to support baseiffab approach
void restoreOldSolution(LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables)
const int SpaceDim
Definition: SPACE.H:38
void compareFineSparse(const EBFaceFAB &a_fluxOld, const EBFaceFAB &a_fluxNew, const DataIndex &a_fineDatInd, const int &a_dir, const Side::LoHiSide &a_sd)
LayoutData< VoFIterator > m_vofiCoFi[2 *SpaceDim]
Definition: EBFastFR.H:302
LayoutData< Vector< VoFIterator > > m_vofiCoar[2 *SpaceDim]
Definition: EBFastFR.H:305
bool m_isDefined
Definition: EBFastFR.H:285
static bool s_verbose
Definition: EBFastFR.H:42
Structure for passing component ranges in code.
Definition: Interval.H:23
virtual void incrementCoarseBoth(const EBFaceFAB &a_coarseFlux, const Real &a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
virtual void incrementFineBoth(const EBFaceFAB &a_fineFlux, const Real &a_scale, const DataIndex &a_fineDataIndex, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
LevelData< EBCellFAB > m_delUDiff
Definition: EBFastFR.H:316
static void setToZero(LevelData< EBCellFAB > &a_result)
double Real
Definition: REAL.H:33
void incrementFineRegul(const EBFaceFAB &a_fineFlux, const Real &a_newScale, const DataIndex &a_fineDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
EBLevelGrid m_eblgCoFi
Definition: EBFastFR.H:290
void incrementCoarRegul(const EBFaceFAB &a_coarFlux, const Real &a_scale, const DataIndex &a_coarDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
LoHiSide
Definition: LoHiSide.H:27
void defineSetsAndIterators()
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
const EBLevelGrid & getEBLGCoFi() const
Definition: EBFastFR.H:254
LevelFluxRegister-A class to encapsulate a levels worth of flux registers.
Definition: LevelFluxRegister.H:29
static const IntVect Zero
Definition: IntVect.H:654
LevelData< EBCellFAB > m_saveCoar
Definition: EBFastFR.H:311
VoFIterator & getVoFItCoFi(const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd)
Definition: EBFastFR.H:245
bool hasEBCF() const
Definition: EBFastFR.H:205
Definition: DataIndex.H:112
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
EBLevelGrid m_eblgCoar
Definition: EBFastFR.H:289
void clear()
undefines object
bool m_hasEBCF
Definition: EBFastFR.H:298
int m_refRat
Definition: EBFastFR.H:292
void incrementByRefluxDivergence(LevelData< EBCellFAB > &a_uCoar, LevelData< EBCellFAB > &a_fluxDiff, const Interval &a_variables, const Real &a_newScale, bool a_multByOneMinusKappa, bool a_multByKappaOneMinusKappa)
LayoutData< IntVectSet > m_setsCoFi[2 *SpaceDim]
Definition: EBFastFR.H:303
void incrementFineIrreg(const EBFaceFAB &a_fineFlux, const Real &a_newScale, const DataIndex &a_fineDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
DataIterator dataIterator() const
Parallel iterator.
void cacheOldSolution(const LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables)
void operator=(const EBFastFR &out)
Definition: EBFastFR.H:322
virtual void reflux(LevelData< EBCellFAB > &a_uCoarse, const Interval &a_variables, const Real &a_scale, bool a_multByKappaOneMinusKappa=false)
LayoutData< Vector< IntVectSet > > m_setsCoar[2 *SpaceDim]
Definition: EBFastFR.H:304
void incrementCoarIrreg(const EBFaceFAB &a_coarFlux, const Real &a_scale, const DataIndex &a_coarDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
virtual void reflux(LevelData< EBCellFAB > &a_uCoarse, const Interval &a_solutionvariables, const Interval &a_fluxvariables, const Real &a_scale, bool a_multByKappaOneMinusKappa=false)
Definition: EBFastFR.H:131
Vector< VoFIterator > & getVoFItCoar(const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd)
Definition: EBFastFR.H:225
virtual void define(const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar, bool a_forceNoEBCF=false)
LevelData< EBCellFAB > m_delUCoar
Definition: EBFastFR.H:315
EBFastFR(const EBFastFR &out)
Definition: EBFastFR.H:326