Chombo + EB
3.2
|
#include <AggEBPWLFillPatch.H>
Classes | |
struct | access_t |
struct | coar_logic_t |
struct | fine_logic_t |
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 More... | |
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 () |
Private Member Functions | |
AggEBPWLFillPatch (const AggEBPWLFillPatch &ebcin) | |
void | operator= (const AggEBPWLFillPatch &fabin) |
Fills one layer of fine level ghost cells by piecewise linear interpolation from the coarse level.
AggEBPWLFillPatch::AggEBPWLFillPatch | ( | ) |
Default constructor. User must subsequently call define().
|
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.
|
inline |
saner interface
References define(), EBLevelGrid::getDBL(), EBLevelGrid::getDomain(), EBLevelGrid::getEBISL(), Chombo_EBIS::instance(), and setDefaultValues().
|
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().
|
inline |
Returns true if this object was created with the defining constructor or if define() has been called.
References defineAggStencils(), definePieceWiseLinearFillPatch(), defineSlopeHolders(), deltaMinMod(), getIVS(), getLoHiCenIVS(), getOffsets(), getSlopes(), getSten(), interpolate(), interpolateFAB(), m_isDefined, makeStencils(), setDefaultValues(), and SpaceDim.
|
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.
Referenced by isDefined().
|
protectedvirtual |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by isDefined().
|
protected |
Referenced by AggEBPWLFillPatch(), and isDefined().
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by isDefined().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |