|
Chombo + EB
3.2
|
EBFluxRegister-A class to encapsulate a levels worth of flux registers. More...
#include <EBFluxRegister.H>

Public Member Functions | |
| EBFluxRegister () | |
| EBFluxRegister (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const Box &a_domainCoar, const int &a_nref, const int &a_nvar, const EBIndexSpace *ebisPtr, bool a_forceNoEBCF=false) | |
| virtual | ~EBFluxRegister () |
| void | define (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domainCoar, const int &a_nref, const int &a_nvar, const EBIndexSpace *ebisPtr, bool a_forceNoEBCF=false) |
| void | incrementCoarseRegular (const EBFaceFAB &a_coarseFlux, const Real &a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_variables, const int &a_dir) |
| void | incrementCoarse (const EBFaceFAB &a_coarseFlux, const Real &a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_varSrc, const Interval &a_varDst, const int &a_dir) |
| void | incrementCoarseIrregular (const BaseIFFAB< Real > &a_coarseFlux, const Real &a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_variables, const int &a_dir) |
| void | incrementCoarseIrregular (const EBFaceFAB &a_coarFlux, const Real &a_scale, const DataIndex &a_coarDatInd, const Interval &a_variables, const int &a_dir) |
| void | incrementFineRegular (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) |
| void | incrementFine (const EBFaceFAB &a_fineFlux, const Real &a_scale, const DataIndex &a_fineDataIndex, const Interval &a_varSrc, const Interval &a_varDst, const int &a_dir) |
| void | incrementFineIrregular (const BaseIFFAB< Real > &a_fineFlux, const Real &a_scale, const DataIndex &a_fineDataIndex, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd) |
| void | incrementFineIrregular (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) |
| void | incrementRedistRegister (EBCoarToFineRedist &a_register, const Interval &a_variables, const Real &a_scale) |
| void | incrementRedistRegister (EBCoarToCoarRedist &a_register, const Interval &a_variables, const Real &a_scale) |
| bool | isDefined () const |
Public Member Functions inherited from EBFastFR | |
| EBFastFR () | |
| EBFastFR (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar, bool a_forceNoEBCF=false) | |
| virtual | ~EBFastFR () |
| virtual void | define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar, bool a_forceNoEBCF=false) |
| virtual void | setToZero () |
| 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) |
| void | compareFineSparse (const EBFaceFAB &a_fluxOld, const EBFaceFAB &a_fluxNew, const DataIndex &a_fineDatInd, const int &a_dir, const Side::LoHiSide &a_sd) |
| 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 More... | |
| virtual void | reflux (LevelData< EBCellFAB > &a_uCoarse, const Interval &a_variables, const Real &a_scale, bool a_multByKappaOneMinusKappa=false) |
| virtual void | reflux (LevelData< EBCellFAB > &a_uCoarse, const Interval &a_solutionvariables, const Interval &a_fluxvariables, const Real &a_scale, bool a_multByKappaOneMinusKappa=false) |
| void | incrementDensityArray (LevelData< EBCellFAB > &a_coarMass, const Interval &a_variables, const Real &a_scale) |
| bool | isDefined () const |
| 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) |
| 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) |
| 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) |
| 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) |
| bool | hasEBCF () const |
| void | clear () |
| undefines object More... | |
| Vector< VoFIterator > & | getVoFItCoar (const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd) |
| VoFIterator & | getVoFItCoFi (const DataIndex &a_dit, const int &a_idir, const Side::LoHiSide &a_sd) |
| const EBLevelGrid & | getEBLGCoFi () const |
Private Member Functions | |
| bool | copyBIFFToEBFF (EBFaceFAB &a_dst, const BaseIFFAB< Real > &a_src, const Box &a_box, const EBISBox &a_ebisBox) |
| void | operator= (const EBFluxRegister &) |
| EBFluxRegister (const EBFluxRegister &) | |
EBFluxRegister-A class to encapsulate a levels worth of flux registers.
A EBFluxRegister handles all the data choreography necessary to create a levels worth of flux registers.
|
inline |
Default constructor. Leaves object undefined.
References define(), and ~EBFluxRegister().
| EBFluxRegister::EBFluxRegister | ( | const DisjointBoxLayout & | a_dblFine, |
| const DisjointBoxLayout & | a_dblCoar, | ||
| const EBISLayout & | a_ebislFine, | ||
| const EBISLayout & | a_ebislCoar, | ||
| const Box & | a_domainCoar, | ||
| const int & | a_nref, | ||
| const int & | a_nvar, | ||
| const EBIndexSpace * | ebisPtr, | ||
| bool | a_forceNoEBCF = false |
||
| ) |
Full constructor. Calls the define function which creates a levels worth of flux registers.
|
virtual |
Referenced by EBFluxRegister().
|
inlineprivate |
References MayDay::Error().
| void EBFluxRegister::define | ( | const DisjointBoxLayout & | a_dblFine, |
| const DisjointBoxLayout & | a_dblCoar, | ||
| const EBISLayout & | a_ebislFine, | ||
| const EBISLayout & | a_ebislCoar, | ||
| const ProblemDomain & | a_domainCoar, | ||
| const int & | a_nref, | ||
| const int & | a_nvar, | ||
| const EBIndexSpace * | ebisPtr, | ||
| bool | a_forceNoEBCF = false |
||
| ) |
Full define function. Creates a levels worth of flux registers.
Referenced by EBFluxRegister().
|
inline |
increments the register with data from coarseFlux, multiplied by scale. Increment coarse buffer with the area-weighted sum of the fluxes on the faces. buf += -scale*sum(areaFrac*flux) CoarseFlux must contain the coarse fluxes in the dir direction for the grid m_coarseLayout[coarseDataIndex].
References EBFastFR::incrementCoarRegul(), and SideIterator::ok().
|
inline |
References CH_assert, EBFastFR::incrementCoarseBoth(), incrementCoarseIrregular(), and SideIterator::ok().
| void EBFluxRegister::incrementCoarseIrregular | ( | const BaseIFFAB< Real > & | a_coarseFlux, |
| const Real & | a_scale, | ||
| const DataIndex & | a_coarseDataIndex, | ||
| const Interval & | a_variables, | ||
| const int & | a_dir | ||
| ) |
increments the register with data from coarseFlux, multiplied by scale. Increment coarse buffer with the area-weighted sum of the fluxes on the faces. buf += -scale*sum(areaFrac*flux) CoarseFlux must contain the coarse fluxes in the dir direction for the grid m_coarseLayout[coarseDataIndex].
Referenced by incrementCoarse().
|
inline |
For when you have an EBFaceFAB lying around instead of a BaseIFFAB
References EBFastFR::incrementCoarIrreg(), and SideIterator::ok().
|
inline |
increments the register with data from fineFlux, multiplied by scale. fineFlux must contain the coarse fluxes in the dir direction for the grid m_fineLayout[fineDataIndex]. This operation is local.
References EBFastFR::incrementFineRegul().
|
inline |
References CH_assert, EBFastFR::incrementFineBoth(), incrementFineIrregular(), and SideIterator::ok().
| void EBFluxRegister::incrementFineIrregular | ( | const BaseIFFAB< Real > & | a_fineFlux, |
| const Real & | a_scale, | ||
| const DataIndex & | a_fineDataIndex, | ||
| const Interval & | a_variables, | ||
| const int & | a_dir, | ||
| const Side::LoHiSide & | a_sd | ||
| ) |
increments the register with data from fineFlux, multiplied by scale. fineFlux must contain the coarse fluxes in the dir direction for the grid m_fineLayout[fineDataIndex]. This operation is local.
Referenced by incrementFine().
|
inline |
For when you have a EBFaceFAB lying around instead of a BaseIFFAB
References copyBIFFToEBFF(), EBFastFR::incrementFineIrreg(), incrementRedistRegister(), and isDefined().
| void EBFluxRegister::incrementRedistRegister | ( | EBCoarToFineRedist & | a_register, |
| const Interval & | a_variables, | ||
| const Real & | a_scale | ||
| ) |
Increments redistribution register with left-over mass from reflux divergence.
Referenced by incrementFineIrregular().
| void EBFluxRegister::incrementRedistRegister | ( | EBCoarToCoarRedist & | a_register, |
| const Interval & | a_variables, | ||
| const Real & | a_scale | ||
| ) |
Increments redistribution register with left-over mass from reflux divergence.
| bool EBFluxRegister::isDefined | ( | ) | const |
Referenced by incrementFineIrregular().
|
private |
Referenced by incrementFineIrregular().
|
inlineprivate |
References MayDay::Error().
1.8.13