EBPWLFillPatch Class Reference

#include <EBPWLFillPatch.H>

List of all members.


Detailed Description

Fills one layer of fine level ghost cells by piecewise linear interpolation from the coarse level.

Public Member Functions

 EBPWLFillPatch ()
virtual ~EBPWLFillPatch ()
 EBPWLFillPatch (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 bool &a_forceNoEBCF=false, const EBIndexSpace *const a_eb=Chombo_EBIS::instance())
virtual 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 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)
virtual void pwConstInterp (Real &a_fineValOld, Real &a_fineValNew, const VolIndex &a_fineVof, const int &a_ivar, const Real &a_coarDataOld, const Real &a_coarDataNew, const VolIndex &a_coarseVof) const
virtual void incrementLinearInterp (Real &a_fineValOld, Real &a_fineValNew, const VolIndex &a_fineVof, const int &a_ivar, const Real &a_deltaOldOld, const Real &a_deltaNew, const Real &a_differenceFineLocCoarseLoc, const VolIndex &a_coarseVof) const
virtual void definePieceWiseLinearFillPatch (const DisjointBoxLayout &a_dblfine, const DisjointBoxLayout &a_dblCoar)

Protected Member Functions

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 getIVS ()
void getLoHiCenIVS ()
void getSten ()
void setDefaultValues ()
bool extractFromSten (Real &a_value, const VoFStencil &a_vofsten, const EBCellFAB &a_coarData, const int &ivar) const
virtual Real computeDMinMod (const BaseIVFAB< VoFStencil > &a_lostenBF, const BaseIVFAB< VoFStencil > &a_histenBF, const VolIndex &a_coarVoF, const EBCellFAB &a_coarData, const int &ivar, const IntVectSet &loInterpSet, const IntVectSet &hiInterpSet, const IntVectSet &ceInterpSet) const

Protected Attributes

bool m_isDefined
bool m_forceNoEBCF
PiecewiseLinearFillPatchm_patcher
ProblemDomain m_coarDomain
DisjointBoxLayout m_coarsenedFineGrids
DisjointBoxLayout m_fineGrids
DisjointBoxLayout m_coarGrids
EBISLayout m_coarsenedFineEBISL
EBISLayout m_fineEBISL
LevelData< EBCellFABm_coarOnFDataOld
LevelData< EBCellFABm_coarOnFDataNew
int m_refRat
int m_nComp
int m_radius
int m_coarGhostRad
LayoutData< IntVectSetm_irregRegionsFine
LayoutData< BaseIVFAB
< VoFStencil > > 
m_hiStencils [SpaceDim]
LayoutData< BaseIVFAB
< VoFStencil > > 
m_loStencils [SpaceDim]
LayoutData< IntVectSetm_coarCeInterp [SpaceDim]
LayoutData< IntVectSetm_coarLoInterp [SpaceDim]
LayoutData< IntVectSetm_coarHiInterp [SpaceDim]

Private Member Functions

 EBPWLFillPatch (const EBPWLFillPatch &ebcin)
void operator= (const EBPWLFillPatch &fabin)

Constructor & Destructor Documentation

EBPWLFillPatch::EBPWLFillPatch (  ) 

Default constructor. User must subsequently call define().

virtual EBPWLFillPatch::~EBPWLFillPatch (  )  [virtual]

EBPWLFillPatch::EBPWLFillPatch ( 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 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.

EBPWLFillPatch::EBPWLFillPatch ( const EBPWLFillPatch ebcin  )  [inline, private]

References MayDay::Error().


Member Function Documentation

virtual void EBPWLFillPatch::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 bool &  a_forceNoEBCF = false,
const EBIndexSpace *const   a_eb = Chombo_EBIS::instance() 
) [virtual]

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.

bool EBPWLFillPatch::isDefined (  )  const

Returns true if this object was created with the defining constructor or if define() has been called.

virtual void EBPWLFillPatch::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 
) [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 EBPWLFillPatch::pwConstInterp ( Real a_fineValOld,
Real a_fineValNew,
const VolIndex a_fineVof,
const int &  a_ivar,
const Real a_coarDataOld,
const Real a_coarDataNew,
const VolIndex a_coarseVof 
) const [virtual]

virtual void EBPWLFillPatch::incrementLinearInterp ( Real a_fineValOld,
Real a_fineValNew,
const VolIndex a_fineVof,
const int &  a_ivar,
const Real a_deltaOldOld,
const Real a_deltaNew,
const Real a_differenceFineLocCoarseLoc,
const VolIndex a_coarseVof 
) const [virtual]

virtual void EBPWLFillPatch::definePieceWiseLinearFillPatch ( const DisjointBoxLayout a_dblfine,
const DisjointBoxLayout a_dblCoar 
) [virtual]

void EBPWLFillPatch::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 EBPWLFillPatch::makeStencils (  )  [protected]

void EBPWLFillPatch::getIVS (  )  [protected]

void EBPWLFillPatch::getLoHiCenIVS (  )  [protected]

void EBPWLFillPatch::getSten (  )  [protected]

void EBPWLFillPatch::setDefaultValues (  )  [protected]

bool EBPWLFillPatch::extractFromSten ( Real a_value,
const VoFStencil a_vofsten,
const EBCellFAB a_coarData,
const int &  ivar 
) const [protected]

virtual Real EBPWLFillPatch::computeDMinMod ( const BaseIVFAB< VoFStencil > &  a_lostenBF,
const BaseIVFAB< VoFStencil > &  a_histenBF,
const VolIndex a_coarVoF,
const EBCellFAB a_coarData,
const int &  ivar,
const IntVectSet loInterpSet,
const IntVectSet hiInterpSet,
const IntVectSet ceInterpSet 
) const [protected, virtual]

void EBPWLFillPatch::operator= ( const EBPWLFillPatch fabin  )  [inline, private]

References MayDay::Error().


Member Data Documentation

bool EBPWLFillPatch::m_isDefined [protected]

int EBPWLFillPatch::m_refRat [protected]

int EBPWLFillPatch::m_nComp [protected]

int EBPWLFillPatch::m_radius [protected]


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:25:03 2019 for Chombo + EB by  doxygen 1.5.5