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

Fourth-order interpolation in time and space to ghost cells. More...

#include <FourthOrderCFInterp.H>

Public Member Functions

 FourthOrderCFInterp ()
 Default constructor. More...
 
 FourthOrderCFInterp (const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const int &a_numStates, const ProblemDomain &a_coarseDomain, const int &a_refineCoarse, const int &a_interpRadius)
 Full constructor. More...
 
 ~FourthOrderCFInterp ()
 Destructor. More...
 
void homogeneousCoarseFineInterp (LevelData< FArrayBox > &a_fineData, int a_srcComp, int a_dstComp, int a_numComp)
 fill ghostcells as if all the coarse data were zero (useful for multigrid) More...
 
void define (const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const int &a_numStates, const ProblemDomain &a_coarseDomain, const int &a_refineCoarse, const int &a_interpRadius)
 Actual constructor. More...
 
void coarseFineInterp (LevelData< FArrayBox > &a_fineData, const LevelData< FArrayBox > &a_coarseData, int a_srcComp, int a_dstComp, int a_numComp)
 Interpolate in space only. More...
 

Protected Member Functions

void fillInterpSpaceFromCoarsened (LevelData< FArrayBox > &a_fineData, int a_srcComp, int a_dstComp, int a_numComp)
 Interpolate in space only, from coarsened fine grids. More...
 

Protected Attributes

bool m_defined
 whether define() has been called More...
 
DisjointBoxLayout m_layout
 box layout for this level More...
 
DisjointBoxLayout m_layoutCoarsened
 this level's layout coarsened More...
 
DisjointBoxLayout m_coarseLayout
 box layout for the coarse level More...
 
int m_interpRadius
 number of layers of fine ghost cells to fill by interpolation More...
 
ProblemDomain m_coarseDomain
 problem domain at the coarser level More...
 
int m_refineCoarse
 refinement ratio between this level and the next coarser More...
 
IntVect m_refineVect
 1 in m_fixedDims, m_refineCoarse in other dimensions More...
 
int m_numStates
 number of variables More...
 
LevelData< FArrayBoxm_coarsenedFineData
 data on ghosted coarsened fine grids at intermediate time in fillInterp More...
 
LayoutData< IntVectSetm_coarsenedGhosts
 coarsened ghost cells of fine patches More...
 
FourthOrderFineInterp m_spaceInterpolator
 interpolator in space More...
 

Private Member Functions

void operator= (const FourthOrderCFInterp &)
 
 FourthOrderCFInterp (const FourthOrderCFInterp &)
 

Detailed Description

Fourth-order interpolation in time and space to ghost cells.

Constructor & Destructor Documentation

◆ FourthOrderCFInterp() [1/3]

FourthOrderCFInterp::FourthOrderCFInterp ( )
inline

Default constructor.

Object requires define() to be called before all other functions.

References m_defined.

◆ FourthOrderCFInterp() [2/3]

FourthOrderCFInterp::FourthOrderCFInterp ( const DisjointBoxLayout a_thisDisjointBoxLayout,
const DisjointBoxLayout a_coarserDisjointBoxLayout,
const int &  a_numStates,
const ProblemDomain a_coarseDomain,
const int &  a_refineCoarse,
const int &  a_interpRadius 
)
inline

Full constructor.

Parameters
a_thisDisjointBoxLayoutlayout at this level
a_coarserDisjointBoxLayoutlayout at coarser level
a_numStatesnumber of variables
a_coarseDomainproblem domain on the coarser level
a_refineCoarserefinement ratio between this level and the coarser level
a_interpRadiusnumber of layers of ghost cells to fill by interpolation

References define().

◆ ~FourthOrderCFInterp()

FourthOrderCFInterp::~FourthOrderCFInterp ( )
inline

Destructor.

Destroys all objects created by define(). Passed in data references of define() are left alone.

References coarseFineInterp(), define(), and homogeneousCoarseFineInterp().

◆ FourthOrderCFInterp() [3/3]

FourthOrderCFInterp::FourthOrderCFInterp ( const FourthOrderCFInterp )
private

Member Function Documentation

◆ homogeneousCoarseFineInterp()

void FourthOrderCFInterp::homogeneousCoarseFineInterp ( LevelData< FArrayBox > &  a_fineData,
int  a_srcComp,
int  a_dstComp,
int  a_numComp 
)

fill ghostcells as if all the coarse data were zero (useful for multigrid)

Parameters
a_fineDatainterpolated solution on this level
a_srcCompsolution on coarser level
a_dstCompstarting fine data component
a_numCompnumber of data components to interpolate

Referenced by ~FourthOrderCFInterp().

◆ define()

void FourthOrderCFInterp::define ( const DisjointBoxLayout a_thisDisjointBoxLayout,
const DisjointBoxLayout a_coarserDisjointBoxLayout,
const int &  a_numStates,
const ProblemDomain a_coarseDomain,
const int &  a_refineCoarse,
const int &  a_interpRadius 
)

Actual constructor.

Set up object.

Parameters
a_thisDisjointBoxLayoutlayout at this level
a_coarserDisjointBoxLayoutlayout at coarser level
a_numStatesnumber of variables
a_coarseDomainproblem domain on the coarser level
a_refineCoarserefinement ratio between this level and the coarser level
a_interpRadiusnumber of layers of ghost cells to fill by interpolation

Referenced by FourthOrderCFInterp(), and ~FourthOrderCFInterp().

◆ coarseFineInterp()

void FourthOrderCFInterp::coarseFineInterp ( LevelData< FArrayBox > &  a_fineData,
const LevelData< FArrayBox > &  a_coarseData,
int  a_srcComp,
int  a_dstComp,
int  a_numComp 
)

Interpolate in space only.

At a fixed time, interpolate in space to ghost cells of a_fine from a_coarse.

Parameters
a_fineDatainterpolated solution on this level
a_coarseDatasolution on coarser level
a_srcCompstarting coarse data component
a_dstCompstarting fine data component
a_numCompnumber of data components to interpolate

Referenced by ~FourthOrderCFInterp().

◆ fillInterpSpaceFromCoarsened()

void FourthOrderCFInterp::fillInterpSpaceFromCoarsened ( LevelData< FArrayBox > &  a_fineData,
int  a_srcComp,
int  a_dstComp,
int  a_numComp 
)
protected

Interpolate in space only, from coarsened fine grids.

Parameters
a_fineDatainterpolated solution on this level
a_srcCompstarting coarse data component
a_dstCompstarting fine data component
a_numCompnumber of data components to interpolate

◆ operator=()

void FourthOrderCFInterp::operator= ( const FourthOrderCFInterp )
private

Member Data Documentation

◆ m_defined

bool FourthOrderCFInterp::m_defined
protected

whether define() has been called

Referenced by FourthOrderCFInterp().

◆ m_layout

DisjointBoxLayout FourthOrderCFInterp::m_layout
protected

box layout for this level

◆ m_layoutCoarsened

DisjointBoxLayout FourthOrderCFInterp::m_layoutCoarsened
protected

this level's layout coarsened

◆ m_coarseLayout

DisjointBoxLayout FourthOrderCFInterp::m_coarseLayout
protected

box layout for the coarse level

◆ m_interpRadius

int FourthOrderCFInterp::m_interpRadius
protected

number of layers of fine ghost cells to fill by interpolation

◆ m_coarseDomain

ProblemDomain FourthOrderCFInterp::m_coarseDomain
protected

problem domain at the coarser level

◆ m_refineCoarse

int FourthOrderCFInterp::m_refineCoarse
protected

refinement ratio between this level and the next coarser

◆ m_refineVect

IntVect FourthOrderCFInterp::m_refineVect
protected

1 in m_fixedDims, m_refineCoarse in other dimensions

◆ m_numStates

int FourthOrderCFInterp::m_numStates
protected

number of variables

◆ m_coarsenedFineData

LevelData<FArrayBox> FourthOrderCFInterp::m_coarsenedFineData
protected

data on ghosted coarsened fine grids at intermediate time in fillInterp

◆ m_coarsenedGhosts

LayoutData<IntVectSet> FourthOrderCFInterp::m_coarsenedGhosts
protected

coarsened ghost cells of fine patches

◆ m_spaceInterpolator

FourthOrderFineInterp FourthOrderCFInterp::m_spaceInterpolator
protected

interpolator in space


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