#include <EBFastFR.H>

A EBFastFR handles all the data choreography necessary to create a levels worth of flux registers. This only does the elliptic flux register stuff for now (no interacting with redistribution, no RZ, no regular and regular separate).
Public Member Functions | |
| EBFastFR () | |
| EBFastFR (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar) | |
| ~EBFastFR () | |
| void | define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar) |
| void | setToZero () |
| 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) |
| 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 | reflux (LevelData< EBCellFAB > &a_uCoarse, const Interval &a_variables, const Real &a_scale) |
| void | incrementDensityArray (LevelData< EBCellFAB > &a_coarMass, const Interval &a_variables, const Real &a_scale) |
| bool | isDefined () const |
Protected Member Functions | |
| 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 | irregSetToZero () |
| void | cacheOldSolution (const LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables) |
| void | restoreOldSolution (LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables) |
| void | irregReflux (LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables, const Real &a_scale) |
Static Protected Member Functions | |
| static int | index (int a_dir, Side::LoHiSide a_side) |
Protected Attributes | |
| LevelFluxRegister | m_levelFluxReg |
| bool | m_isDefined |
| EBLevelGrid | m_eblgFine |
| EBLevelGrid | m_eblgCoar |
| int | m_refRat |
| int | m_nComp |
| EBISLayout | m_ebislBufCoar [2 *SpaceDim] |
| EBISLayout | m_ebislBufFine [2 *SpaceDim] |
| LayoutData< Vector< DataIndex > > | m_coarIndexMap [SpaceDim *2] |
| LayoutData< bool > | m_noEBCFine [SpaceDim *2] |
| LayoutData< bool > | m_noEBCCoar [SpaceDim *2] |
| DisjointBoxLayout | m_bufGridsFine [SpaceDim *2] |
| DisjointBoxLayout | m_bufGridsCoar [SpaceDim *2] |
| LevelData< BaseIVFAB< Real > > | m_regsCoar [SpaceDim *2] |
| LevelData< BaseIVFAB< Real > > | m_regsFine [SpaceDim *2] |
| LayoutData< IntVectSet > | m_cfivsFine [SpaceDim *2] |
| LayoutData< IntVectSet > | m_cfivsCoar [SpaceDim *2] |
| LayoutData< VoFIterator > | m_vofitBufCoar [SpaceDim *2] |
| LayoutData< VoFIterator > | m_vofitBufFine [SpaceDim *2] |
| LayoutData< VoFIterator > | m_vofitCoar |
| LevelData< BaseIVFAB< Real > > | m_scratchc [SpaceDim *2] |
| LayoutData< BaseIVFAB< Real > > | m_saveoldc |
| Real | m_nrefdmo |
| bool | m_hasEBCF |
Private Member Functions | |
| void | operator= (const EBFastFR &out) |
| EBFastFR (const EBFastFR &out) | |
| EBFastFR::EBFastFR | ( | ) |
Default constructor. Leaves object undefined.
| EBFastFR::EBFastFR | ( | const EBLevelGrid & | a_eblgFine, | |
| const EBLevelGrid & | a_eblgCoar, | |||
| const int & | a_nref, | |||
| const int & | a_nvar | |||
| ) |
Full constructor. Calls the define function which creates a levels worth of flux registers.
| EBFastFR::~EBFastFR | ( | ) |
| EBFastFR::EBFastFR | ( | const EBFastFR & | out | ) | [inline, private] |
References MayDay::Error().
| void EBFastFR::define | ( | const EBLevelGrid & | a_eblgFine, | |
| const EBLevelGrid & | a_eblgCoar, | |||
| const int & | a_nref, | |||
| const int & | a_nvar | |||
| ) |
Full define function. Creates a levels worth of flux registers.
| void EBFastFR::setToZero | ( | ) |
Initialize values of registers to zero.
| void EBFastFR::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 | |||
| ) |
| void EBFastFR::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 EBFastFR::reflux | ( | LevelData< EBCellFAB > & | a_uCoarse, | |
| const Interval & | a_variables, | |||
| const Real & | a_scale | |||
| ) |
| void EBFastFR::incrementDensityArray | ( | LevelData< EBCellFAB > & | a_coarMass, | |
| const Interval & | a_variables, | |||
| const Real & | a_scale | |||
| ) |
Increments mass array with left-over mass from reflux divergence. this is to test this pig. Ordinarily this mass would go into redistribution. this is used in the test suite to check whether a constant flux refluxed and then unrefluxed (this function) ends up with a constant solution. Correction at each cell = (1-kappa)refluxCorrection.
| bool EBFastFR::isDefined | ( | ) | const |
| static int EBFastFR::index | ( | int | a_dir, | |
| Side::LoHiSide | a_side | |||
| ) | [static, protected] |
| void EBFastFR::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 | |||
| ) | [protected] |
| void EBFastFR::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 | |||
| ) | [protected] |
| void EBFastFR::irregSetToZero | ( | ) | [protected] |
| void EBFastFR::cacheOldSolution | ( | const LevelData< EBCellFAB > & | a_uCoar, | |
| const Interval & | a_variables | |||
| ) | [protected] |
| void EBFastFR::restoreOldSolution | ( | LevelData< EBCellFAB > & | a_uCoar, | |
| const Interval & | a_variables | |||
| ) | [protected] |
| void EBFastFR::irregReflux | ( | LevelData< EBCellFAB > & | a_uCoar, | |
| const Interval & | a_variables, | |||
| const Real & | a_scale | |||
| ) | [protected] |
| void EBFastFR::operator= | ( | const EBFastFR & | out | ) | [inline, private] |
References MayDay::Error().
LevelFluxRegister EBFastFR::m_levelFluxReg [protected] |
bool EBFastFR::m_isDefined [protected] |
EBLevelGrid EBFastFR::m_eblgFine [protected] |
EBLevelGrid EBFastFR::m_eblgCoar [protected] |
int EBFastFR::m_refRat [protected] |
int EBFastFR::m_nComp [protected] |
EBISLayout EBFastFR::m_ebislBufCoar[2 *SpaceDim] [protected] |
EBISLayout EBFastFR::m_ebislBufFine[2 *SpaceDim] [protected] |
LayoutData<Vector<DataIndex> > EBFastFR::m_coarIndexMap[SpaceDim *2] [protected] |
LayoutData<bool> EBFastFR::m_noEBCFine[SpaceDim *2] [protected] |
LayoutData<bool> EBFastFR::m_noEBCCoar[SpaceDim *2] [protected] |
DisjointBoxLayout EBFastFR::m_bufGridsFine[SpaceDim *2] [protected] |
DisjointBoxLayout EBFastFR::m_bufGridsCoar[SpaceDim *2] [protected] |
LevelData<BaseIVFAB<Real> > EBFastFR::m_regsCoar[SpaceDim *2] [protected] |
LevelData<BaseIVFAB<Real> > EBFastFR::m_regsFine[SpaceDim *2] [protected] |
LayoutData<IntVectSet> EBFastFR::m_cfivsFine[SpaceDim *2] [protected] |
LayoutData<IntVectSet> EBFastFR::m_cfivsCoar[SpaceDim *2] [protected] |
LayoutData<VoFIterator> EBFastFR::m_vofitBufCoar[SpaceDim *2] [protected] |
LayoutData<VoFIterator> EBFastFR::m_vofitBufFine[SpaceDim *2] [protected] |
LayoutData<VoFIterator> EBFastFR::m_vofitCoar [protected] |
LevelData<BaseIVFAB<Real> > EBFastFR::m_scratchc[SpaceDim *2] [protected] |
LayoutData<BaseIVFAB<Real> > EBFastFR::m_saveoldc [protected] |
Real EBFastFR::m_nrefdmo [protected] |
bool EBFastFR::m_hasEBCF [protected] |
1.5.5