#include <AggEBPWLFillPatch.H>
Public Member Functions | |
| AggEBPWLFillPatch () | |
| virtual | ~AggEBPWLFillPatch () |
| AggEBPWLFillPatch (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 int &a_radius, const IntVect &a_ghost, const bool &a_forceNoEBCF=false, const EBIndexSpace *const a_eb=Chombo_EBIS::instance()) | |
| AggEBPWLFillPatch (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar, const int &a_radius, const IntVect &a_ghost, const bool &a_forceNoEBCF=false, const EBIndexSpace *const a_eb=Chombo_EBIS::instance()) | |
| saner interface | |
| 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 int &a_radius, const IntVect &a_ghost, const bool &a_forceNoEBCF=false, const EBIndexSpace *const a_eb=Chombo_EBIS::instance()) |
| bool | isDefined () const |
| virtual void | interpolate (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarDataOld, const LevelData< EBCellFAB > &a_coarDataNew, const Real &a_coarTimeOld, const Real &a_coarTimeNew, const Real &a_fineTime, const Interval &a_variables) const |
Protected Member Functions | |
| virtual void | definePieceWiseLinearFillPatch (const DisjointBoxLayout &a_dblfine, const DisjointBoxLayout &a_dblCoar) |
| void | getOffsets (const LayoutData< Vector< VolIndex > > &a_srcVoFsCoar, const LayoutData< IntVectSet > &a_irregRegionsFine, const LayoutData< Vector< VoFStencil > > a_loStencils[SpaceDim], const LayoutData< Vector< VoFStencil > > a_hiStencils[SpaceDim], const LayoutData< IntVectSet > a_coarLoInterp[SpaceDim], const LayoutData< IntVectSet > a_coarHiInterp[SpaceDim], const LayoutData< IntVectSet > a_coarCeInterp[SpaceDim]) |
| void | interpolateFAB (EBCellFAB &a_fine, const EBCellFAB &a_coarOld, const EBCellFAB &a_coarNew, const Real &a_coarTimeOld, const Real &a_coarTimeNew, const Real &a_fineTime, const DataIndex &a_datInd, const Interval &a_variables) const |
| void | makeStencils () |
| void | defineSlopeHolders (const LayoutData< IntVectSet > &a_irregRegionsCoFi) |
| void | getIVS (LayoutData< IntVectSet > &a_irregRegionsFine, LayoutData< IntVectSet > &a_irregRegionsCoFi, LayoutData< Vector< VolIndex > > &a_srcVoFs) |
| void | defineAggStencils (LayoutData< Vector< VoFStencil > > a_loStencils[SpaceDim], LayoutData< Vector< VoFStencil > > a_hiStencils[SpaceDim], const LayoutData< Vector< VolIndex > > &a_srcVoFs) |
| void | getLoHiCenIVS (LayoutData< IntVectSet > a_coarLoInterp[SpaceDim], LayoutData< IntVectSet > a_coarHiInterp[SpaceDim], LayoutData< IntVectSet > a_coarCeInterp[SpaceDim]) |
| void | getSten (LayoutData< Vector< VoFStencil > > a_loStencils[SpaceDim], LayoutData< Vector< VoFStencil > > a_hiStencils[SpaceDim], LayoutData< IntVectSet > a_coarLoInterp[SpaceDim], LayoutData< IntVectSet > a_coarHiInterp[SpaceDim], LayoutData< IntVectSet > a_coarCeInterp[SpaceDim], const LayoutData< Vector< VolIndex > > &a_srcVoFs) |
| void | getSlopes (const EBCellFAB &a_coarDataOld, const EBCellFAB &a_coarDataNew, const DataIndex &a_dit, const Interval &a_variables) const |
| void | deltaMinMod (Real &a_slope, Real &a_slopeLo, Real &a_slopeHi) const |
| void | setDefaultValues () |
Protected Attributes | |
| LayoutData< Vector < fine_logic_t > > | m_fineOffsets |
| LayoutData< Vector < coar_logic_t > > | m_coarOffsets |
| bool | m_forceNoEBCF |
| bool | m_isDefined |
| PiecewiseLinearFillPatch * | m_patcher |
| IntVect | m_ghost |
| ProblemDomain | m_coarDomain |
| DisjointBoxLayout | m_coarsenedFineGrids |
| DisjointBoxLayout | m_fineGrids |
| DisjointBoxLayout | m_coarGrids |
| EBISLayout | m_coarsenedFineEBISL |
| EBISLayout | m_fineEBISL |
| LevelData< EBCellFAB > | m_coarOnFDataOld |
| LevelData< EBCellFAB > | m_coarOnFDataNew |
| int | m_refRat |
| int | m_nComp |
| int | m_radius |
| int | m_coarGhostRad |
| LayoutData< BaseIVFAB< Real > > | m_slopeLoOld [SpaceDim] |
| LayoutData< BaseIVFAB< Real > > | m_slopeHiOld [SpaceDim] |
| LayoutData< BaseIVFAB< Real > > | m_slopeCeOld [SpaceDim] |
| LayoutData< BaseIVFAB< Real > > | m_slopeLoNew [SpaceDim] |
| LayoutData< BaseIVFAB< Real > > | m_slopeHiNew [SpaceDim] |
| LayoutData< BaseIVFAB< Real > > | m_slopeCeNew [SpaceDim] |
| LayoutData< RefCountedPtr < AggStencil< EBCellFAB, BaseIVFAB< Real > > > > | m_stenLo [SpaceDim] |
| LayoutData< RefCountedPtr < AggStencil< EBCellFAB, BaseIVFAB< Real > > > > | m_stenHi [SpaceDim] |
Private Member Functions | |
| AggEBPWLFillPatch (const AggEBPWLFillPatch &ebcin) | |
| void | operator= (const AggEBPWLFillPatch &fabin) |
Classes | |
| struct | access_t |
| struct | coar_logic_t |
| struct | fine_logic_t |
| AggEBPWLFillPatch::AggEBPWLFillPatch | ( | ) |
Default constructor. User must subsequently call define().
| virtual AggEBPWLFillPatch::~AggEBPWLFillPatch | ( | ) | [virtual] |
| AggEBPWLFillPatch::AggEBPWLFillPatch | ( | 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 int & | a_radius, | |||
| const IntVect & | a_ghost, | |||
| const bool & | a_forceNoEBCF = false, |
|||
| const EBIndexSpace *const | a_eb = Chombo_EBIS::instance() | |||
| ) |
Defining constructor. Constructs a valid object. Equivalent to default construction followed by define().
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF.\ radius: the total number of ghost cells filled. forceNoEBCF = true promises that the embedded boundary will not cross the coarse-fine interface. This will save you a lot of compute time if you are certain you are tagging all irregulkar cells.
| AggEBPWLFillPatch::AggEBPWLFillPatch | ( | const EBLevelGrid & | a_eblgFine, | |
| const EBLevelGrid & | a_eblgCoar, | |||
| const int & | a_nref, | |||
| const int & | a_nvar, | |||
| const int & | a_radius, | |||
| const IntVect & | a_ghost, | |||
| const bool & | a_forceNoEBCF = false, |
|||
| const EBIndexSpace *const | a_eb = Chombo_EBIS::instance() | |||
| ) | [inline] |
saner interface
References define(), EBLevelGrid::getDBL(), EBLevelGrid::getDomain(), EBLevelGrid::getEBISL(), and setDefaultValues().
| AggEBPWLFillPatch::AggEBPWLFillPatch | ( | const AggEBPWLFillPatch & | ebcin | ) | [private] |
| void AggEBPWLFillPatch::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 int & | a_radius, | |||
| const IntVect & | a_ghost, | |||
| const bool & | a_forceNoEBCF = false, |
|||
| const EBIndexSpace *const | a_eb = Chombo_EBIS::instance() | |||
| ) |
Defines this object. Existing information is overriden.
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF. radius: the total number of ghost cells filled. forceNoEBCF = true promises that the embedded boundary will not cross the coarse-fine interface. This will save you a lot of compute time if you are certain you are tagging all irregulkar cells.
Referenced by AggEBPWLFillPatch().
| bool AggEBPWLFillPatch::isDefined | ( | ) | const [inline] |
Returns true if this object was created with the defining constructor or if define() has been called.
References m_isDefined.
| virtual void AggEBPWLFillPatch::interpolate | ( | LevelData< EBCellFAB > & | a_fineData, | |
| const LevelData< EBCellFAB > & | a_coarDataOld, | |||
| const LevelData< EBCellFAB > & | a_coarDataNew, | |||
| const Real & | a_coarTimeOld, | |||
| const Real & | a_coarTimeNew, | |||
| const Real & | a_fineTime, | |||
| const Interval & | a_variables | |||
| ) | const [virtual] |
Interpolate the fine data from the coarse data over the intersection of the fine layout with the refined coarse layout. \ { Arguments:}\ coarDataOld: The data over the coarse layout at coarse time old.\ coarDatanew: The data over the coarse layout at coarse time new.\ fineData: The data over the fine layout. \ Error occurs unless coarTimeOld <= fineTime <= coarTimeNew \ Fine and coarse data must have the same number of variables.\ variables: The variables to interpolate. Those not in this range will be left alone. This range of variables must be in both the coarse and fine data.
| virtual void AggEBPWLFillPatch::definePieceWiseLinearFillPatch | ( | const DisjointBoxLayout & | a_dblfine, | |
| const DisjointBoxLayout & | a_dblCoar | |||
| ) | [protected, virtual] |
| void AggEBPWLFillPatch::getOffsets | ( | const LayoutData< Vector< VolIndex > > & | a_srcVoFsCoar, | |
| const LayoutData< IntVectSet > & | a_irregRegionsFine, | |||
| const LayoutData< Vector< VoFStencil > > | a_loStencils[SpaceDim], | |||
| const LayoutData< Vector< VoFStencil > > | a_hiStencils[SpaceDim], | |||
| const LayoutData< IntVectSet > | a_coarLoInterp[SpaceDim], | |||
| const LayoutData< IntVectSet > | a_coarHiInterp[SpaceDim], | |||
| const LayoutData< IntVectSet > | a_coarCeInterp[SpaceDim] | |||
| ) | [protected] |
| void AggEBPWLFillPatch::interpolateFAB | ( | EBCellFAB & | a_fine, | |
| const EBCellFAB & | a_coarOld, | |||
| const EBCellFAB & | a_coarNew, | |||
| const Real & | a_coarTimeOld, | |||
| const Real & | a_coarTimeNew, | |||
| const Real & | a_fineTime, | |||
| const DataIndex & | a_datInd, | |||
| const Interval & | a_variables | |||
| ) | const [protected] |
| void AggEBPWLFillPatch::makeStencils | ( | ) | [protected] |
| void AggEBPWLFillPatch::defineSlopeHolders | ( | const LayoutData< IntVectSet > & | a_irregRegionsCoFi | ) | [protected] |
| void AggEBPWLFillPatch::getIVS | ( | LayoutData< IntVectSet > & | a_irregRegionsFine, | |
| LayoutData< IntVectSet > & | a_irregRegionsCoFi, | |||
| LayoutData< Vector< VolIndex > > & | a_srcVoFs | |||
| ) | [protected] |
| void AggEBPWLFillPatch::defineAggStencils | ( | LayoutData< Vector< VoFStencil > > | a_loStencils[SpaceDim], | |
| LayoutData< Vector< VoFStencil > > | a_hiStencils[SpaceDim], | |||
| const LayoutData< Vector< VolIndex > > & | a_srcVoFs | |||
| ) | [protected] |
| void AggEBPWLFillPatch::getLoHiCenIVS | ( | LayoutData< IntVectSet > | a_coarLoInterp[SpaceDim], | |
| LayoutData< IntVectSet > | a_coarHiInterp[SpaceDim], | |||
| LayoutData< IntVectSet > | a_coarCeInterp[SpaceDim] | |||
| ) | [protected] |
| void AggEBPWLFillPatch::getSten | ( | LayoutData< Vector< VoFStencil > > | a_loStencils[SpaceDim], | |
| LayoutData< Vector< VoFStencil > > | a_hiStencils[SpaceDim], | |||
| LayoutData< IntVectSet > | a_coarLoInterp[SpaceDim], | |||
| LayoutData< IntVectSet > | a_coarHiInterp[SpaceDim], | |||
| LayoutData< IntVectSet > | a_coarCeInterp[SpaceDim], | |||
| const LayoutData< Vector< VolIndex > > & | a_srcVoFs | |||
| ) | [protected] |
| void AggEBPWLFillPatch::getSlopes | ( | const EBCellFAB & | a_coarDataOld, | |
| const EBCellFAB & | a_coarDataNew, | |||
| const DataIndex & | a_dit, | |||
| const Interval & | a_variables | |||
| ) | const [protected] |
| void AggEBPWLFillPatch::deltaMinMod | ( | Real & | a_slope, | |
| Real & | a_slopeLo, | |||
| Real & | a_slopeHi | |||
| ) | const [protected] |
| void AggEBPWLFillPatch::setDefaultValues | ( | ) | [protected] |
Referenced by AggEBPWLFillPatch().
| void AggEBPWLFillPatch::operator= | ( | const AggEBPWLFillPatch & | fabin | ) | [private] |
LayoutData< Vector<fine_logic_t> > AggEBPWLFillPatch::m_fineOffsets [protected] |
LayoutData< Vector<coar_logic_t> > AggEBPWLFillPatch::m_coarOffsets [protected] |
bool AggEBPWLFillPatch::m_forceNoEBCF [protected] |
bool AggEBPWLFillPatch::m_isDefined [protected] |
Referenced by isDefined().
PiecewiseLinearFillPatch* AggEBPWLFillPatch::m_patcher [protected] |
IntVect AggEBPWLFillPatch::m_ghost [protected] |
ProblemDomain AggEBPWLFillPatch::m_coarDomain [protected] |
DisjointBoxLayout AggEBPWLFillPatch::m_fineGrids [protected] |
DisjointBoxLayout AggEBPWLFillPatch::m_coarGrids [protected] |
EBISLayout AggEBPWLFillPatch::m_coarsenedFineEBISL [protected] |
EBISLayout AggEBPWLFillPatch::m_fineEBISL [protected] |
LevelData<EBCellFAB> AggEBPWLFillPatch::m_coarOnFDataOld [mutable, protected] |
LevelData<EBCellFAB> AggEBPWLFillPatch::m_coarOnFDataNew [mutable, protected] |
int AggEBPWLFillPatch::m_refRat [protected] |
int AggEBPWLFillPatch::m_nComp [protected] |
int AggEBPWLFillPatch::m_radius [protected] |
int AggEBPWLFillPatch::m_coarGhostRad [protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeLoOld[SpaceDim] [mutable, protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeHiOld[SpaceDim] [mutable, protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeCeOld[SpaceDim] [mutable, protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeLoNew[SpaceDim] [mutable, protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeHiNew[SpaceDim] [mutable, protected] |
LayoutData< BaseIVFAB<Real> > AggEBPWLFillPatch::m_slopeCeNew[SpaceDim] [mutable, protected] |
LayoutData< RefCountedPtr<AggStencil <EBCellFAB, BaseIVFAB<Real> > > > AggEBPWLFillPatch::m_stenLo[SpaceDim] [protected] |
LayoutData< RefCountedPtr<AggStencil <EBCellFAB, BaseIVFAB<Real> > > > AggEBPWLFillPatch::m_stenHi[SpaceDim] [protected] |
1.5.5