#include <EBPWLFineInterp.H>
Public Member Functions | |
EBPWLFineInterp () | |
~EBPWLFineInterp () | |
EBPWLFineInterp (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 *const a_ebisPtr=Chombo_EBIS::instance()) | |
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 *const a_ebisPtr=Chombo_EBIS::instance()) |
bool | isDefined () const |
void | interpolate (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarseData, const Interval &a_variables) |
Protected Member Functions | |
void | interpolateFAB (EBCellFAB &a_fine, const EBCellFAB &a_coar, const DataIndex &a_datInd, const Interval &a_variables) const |
void | makeDerivStencils () |
void | setDefaultValues () |
Protected Attributes | |
bool | m_isDefined |
DisjointBoxLayout | m_coarsenedFineGrids |
ProblemDomain | m_coarDomain |
EBISLayout | m_coarsenedFineEBISL |
int | m_refRat |
int | m_nComp |
LevelData< EBCellFAB > | m_coarsenedFineData |
LayoutData< IntVectSet > | m_irregRegions |
LayoutData< BaseIVFAB < VoFStencil > > | m_hiStencils [SpaceDim] |
LayoutData< BaseIVFAB < VoFStencil > > | m_loStencils [SpaceDim] |
Private Member Functions | |
EBPWLFineInterp (const EBPWLFineInterp &ebcin) | |
void | operator= (const EBPWLFineInterp &fabin) |
EBPWLFineInterp::EBPWLFineInterp | ( | ) |
Default constructor. User must subsequently call define().
EBPWLFineInterp::~EBPWLFineInterp | ( | ) |
EBPWLFineInterp::EBPWLFineInterp | ( | 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 *const | a_ebisPtr = 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.
EBPWLFineInterp::EBPWLFineInterp | ( | const EBPWLFineInterp & | ebcin | ) | [inline, private] |
References MayDay::Error().
void EBPWLFineInterp::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 *const | a_ebisPtr = 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.
bool EBPWLFineInterp::isDefined | ( | ) | const |
Returns true if this object was created with the defining constructor or if define() has been called.
void EBPWLFineInterp::interpolate | ( | LevelData< EBCellFAB > & | a_fineData, | |
const LevelData< EBCellFAB > & | a_coarseData, | |||
const Interval & | a_variables | |||
) |
Interpolate the fine data from the coarse data over the intersection of the fine layout with the refined coarse layout. \ NOTE: This function sends these arrays to Fortran so you must set the covered cell values to something. Unitialized memory might cause IEEE problems with some compilers. { Arguments:}\ coarData: The data over the coarse layout.\ fineData: The data over the fine layout. \ 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.
void EBPWLFineInterp::interpolateFAB | ( | EBCellFAB & | a_fine, | |
const EBCellFAB & | a_coar, | |||
const DataIndex & | a_datInd, | |||
const Interval & | a_variables | |||
) | const [protected] |
void EBPWLFineInterp::makeDerivStencils | ( | ) | [protected] |
void EBPWLFineInterp::setDefaultValues | ( | ) | [protected] |
void EBPWLFineInterp::operator= | ( | const EBPWLFineInterp & | fabin | ) | [inline, private] |
References MayDay::Error().
bool EBPWLFineInterp::m_isDefined [protected] |
ProblemDomain EBPWLFineInterp::m_coarDomain [protected] |
EBISLayout EBPWLFineInterp::m_coarsenedFineEBISL [protected] |
int EBPWLFineInterp::m_refRat [protected] |
int EBPWLFineInterp::m_nComp [protected] |
LevelData<EBCellFAB> EBPWLFineInterp::m_coarsenedFineData [protected] |
LayoutData<IntVectSet> EBPWLFineInterp::m_irregRegions [protected] |
LayoutData<BaseIVFAB<VoFStencil> > EBPWLFineInterp::m_hiStencils[SpaceDim] [protected] |
LayoutData<BaseIVFAB<VoFStencil> > EBPWLFineInterp::m_loStencils[SpaceDim] [protected] |