Chombo + EB + MF  3.2
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
EBPWLFineInterp Class Reference

#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< EBCellFABm_coarsenedFineData
 
LayoutData< IntVectSetm_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)
 

Constructor & Destructor Documentation

◆ EBPWLFineInterp() [1/3]

EBPWLFineInterp::EBPWLFineInterp ( )

Default constructor. User must subsequently call define().

◆ ~EBPWLFineInterp()

EBPWLFineInterp::~EBPWLFineInterp ( )

◆ EBPWLFineInterp() [2/3]

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() [3/3]

EBPWLFineInterp::EBPWLFineInterp ( const EBPWLFineInterp ebcin)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ define()

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.

◆ isDefined()

bool EBPWLFineInterp::isDefined ( ) const

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

◆ interpolate()

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.

◆ interpolateFAB()

void EBPWLFineInterp::interpolateFAB ( EBCellFAB a_fine,
const EBCellFAB a_coar,
const DataIndex a_datInd,
const Interval a_variables 
) const
protected

◆ makeDerivStencils()

void EBPWLFineInterp::makeDerivStencils ( )
protected

◆ setDefaultValues()

void EBPWLFineInterp::setDefaultValues ( )
protected

◆ operator=()

void EBPWLFineInterp::operator= ( const EBPWLFineInterp fabin)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_isDefined

bool EBPWLFineInterp::m_isDefined
protected

◆ m_coarsenedFineGrids

DisjointBoxLayout EBPWLFineInterp::m_coarsenedFineGrids
protected

◆ m_coarDomain

ProblemDomain EBPWLFineInterp::m_coarDomain
protected

◆ m_coarsenedFineEBISL

EBISLayout EBPWLFineInterp::m_coarsenedFineEBISL
protected

◆ m_refRat

int EBPWLFineInterp::m_refRat
protected

◆ m_nComp

int EBPWLFineInterp::m_nComp
protected

◆ m_coarsenedFineData

LevelData<EBCellFAB> EBPWLFineInterp::m_coarsenedFineData
protected

◆ m_irregRegions

LayoutData<IntVectSet> EBPWLFineInterp::m_irregRegions
protected

◆ m_hiStencils

LayoutData<BaseIVFAB<VoFStencil> > EBPWLFineInterp::m_hiStencils[SpaceDim]
protected

◆ m_loStencils

LayoutData<BaseIVFAB<VoFStencil> > EBPWLFineInterp::m_loStencils[SpaceDim]
protected

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