Chombo + EB + MF
3.2
|
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< FArrayBox > | m_coarsenedFineData |
data on ghosted coarsened fine grids at intermediate time in fillInterp More... | |
LayoutData< IntVectSet > | m_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 &) | |
Fourth-order interpolation in time and space to ghost cells.
|
inline |
|
inline |
Full constructor.
a_thisDisjointBoxLayout | layout at this level |
a_coarserDisjointBoxLayout | layout at coarser level |
a_numStates | number of variables |
a_coarseDomain | problem domain on the coarser level |
a_refineCoarse | refinement ratio between this level and the coarser level |
a_interpRadius | number of layers of ghost cells to fill by interpolation |
References define().
|
inline |
Destructor.
Destroys all objects created by define(). Passed in data references of define() are left alone.
References coarseFineInterp(), define(), and homogeneousCoarseFineInterp().
|
private |
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)
a_fineData | interpolated solution on this level |
a_srcComp | solution on coarser level |
a_dstComp | starting fine data component |
a_numComp | number of data components to interpolate |
Referenced by ~FourthOrderCFInterp().
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.
a_thisDisjointBoxLayout | layout at this level |
a_coarserDisjointBoxLayout | layout at coarser level |
a_numStates | number of variables |
a_coarseDomain | problem domain on the coarser level |
a_refineCoarse | refinement ratio between this level and the coarser level |
a_interpRadius | number of layers of ghost cells to fill by interpolation |
Referenced by FourthOrderCFInterp(), and ~FourthOrderCFInterp().
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.
a_fineData | interpolated solution on this level |
a_coarseData | solution on coarser level |
a_srcComp | starting coarse data component |
a_dstComp | starting fine data component |
a_numComp | number of data components to interpolate |
Referenced by ~FourthOrderCFInterp().
|
protected |
Interpolate in space only, from coarsened fine grids.
a_fineData | interpolated solution on this level |
a_srcComp | starting coarse data component |
a_dstComp | starting fine data component |
a_numComp | number of data components to interpolate |
|
private |
|
protected |
whether define() has been called
Referenced by FourthOrderCFInterp().
|
protected |
box layout for this level
|
protected |
this level's layout coarsened
|
protected |
box layout for the coarse level
|
protected |
number of layers of fine ghost cells to fill by interpolation
|
protected |
problem domain at the coarser level
|
protected |
refinement ratio between this level and the next coarser
|
protected |
1 in m_fixedDims, m_refineCoarse in other dimensions
|
protected |
number of variables
data on ghosted coarsened fine grids at intermediate time in fillInterp
|
protected |
coarsened ghost cells of fine patches
|
protected |
interpolator in space