29 #include "NamespaceHeader.H" 119 bool a_doingFineRegular);
125 bool a_multByKappaOneMinusKappa =
false);
129 const Interval& a_solutionvariables,
132 bool a_multByKappaOneMinusKappa =
false)
138 reflux(diffCoar, a_fluxvariables, a_scale, a_multByKappaOneMinusKappa);
141 int isrc = a_fluxvariables.
begin();
142 int inco = a_fluxvariables.
size();
143 int idst = a_solutionvariables.
begin();
144 a_uCoarse[dit()].plus(diffCoar[dit()], isrc, idst, inco);
160 const Real& a_scale);
168 const Real& a_newScale,
189 const Real& a_newScale,
226 int iloc =
index(a_idir, a_sd);
246 int iloc =
index(a_idir, a_sd);
271 bool a_multByKappaOneMinusKappa =
false);
276 const Real & a_newScale,
277 bool a_multByOneMinusKappa,
278 bool a_multByKappaOneMinusKappa);
328 #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:281
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:260
EBLevelGrid m_eblgFine
Definition: EBFastFR.H:285
int m_nComp
Definition: EBFastFR.H:290
static int index(int a_dir, Side::LoHiSide a_side)
one dimensional dynamic array
Definition: Vector.H:52
int size() const
Definition: Interval.H:64
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:137
int begin() const
Definition: Interval.H:86
LevelData< EBCellFAB > m_delUCoFi
Definition: EBFastFR.H:311
Real m_nrefdmo
Definition: EBFastFR.H:294
Copier m_reverseCopier
Definition: EBFastFR.H:304
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:110
Definition: DataIterator.H:140
Definition: EBFaceFAB.H:28
virtual void define(const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar)
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:39
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:299
LayoutData< Vector< VoFIterator > > m_vofiCoar[2 *SpaceDim]
Definition: EBFastFR.H:302
bool m_isDefined
Definition: EBFastFR.H:282
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:313
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:287
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:251
LevelFluxRegister-A class to encapsulate a levels worth of flux registers.
Definition: LevelFluxRegister.H:29
static const IntVect Zero
Definition: IntVect.H:627
LevelData< EBCellFAB > m_saveCoar
Definition: EBFastFR.H:308
VoFIterator & getVoFItCoFi(const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd)
Definition: EBFastFR.H:242
bool hasEBCF() const
Definition: EBFastFR.H:202
Definition: DataIndex.H:112
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
EBLevelGrid m_eblgCoar
Definition: EBFastFR.H:286
void clear()
undefines object
bool m_hasEBCF
Definition: EBFastFR.H:295
int m_refRat
Definition: EBFastFR.H:289
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:300
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:319
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:301
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:128
Vector< VoFIterator > & getVoFItCoar(const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd)
Definition: EBFastFR.H:222
LevelData< EBCellFAB > m_delUCoar
Definition: EBFastFR.H:312
EBFastFR(const EBFastFR &out)
Definition: EBFastFR.H:323