Chombo + EB + MF
3.2
|
Fourth-order interpolation in time and space to ghost cells. More...
#include <NWOQuadCFInterp.H>
Public Member Functions | |
NWOQuadCFInterp () | |
Default constructor. More... | |
NWOQuadCFInterp (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... | |
~NWOQuadCFInterp () | |
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 | interpOnPatch (FArrayBox &a_fineData, const FArrayBox &a_coarseData, const DataIndex &a_dit, int a_srcComp, int a_dstComp, int a_numComp) |
void | extrapolateValue (Real &a_fineValue, const Real &a_coarValue, const RealVect &a_firstDerivs, const RealVect &a_secondDerivs, const RealVect &a_mixedDerivs, const RealVect &a_distance) |
void | getDerivs (RealVect &firstDerivs, RealVect &secondDerivs, RealVect &mixedDerivs, const FArrayBox &a_data, const IntVect &a_ivCoar, const Real &a_dx, const int &a_icomp) |
int | getMixedIndex (int a_derivDir1, int a_derivDir2) |
void | getMixedDerivDirections (int &a_derivDir1, int &a_derivDir2, const int &a_index) |
Protected Attributes | |
bool | m_defined |
whether define() has been called More... | |
DisjointBoxLayout | m_layout |
box layout for this level 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... | |
DisjointBoxLayout | m_layoutCoarsened |
LevelData< FArrayBox > | m_coarsenedFineData |
data on ghosted coarsened fine grids at intermediate time in fillInterp More... | |
LayoutData< CFIVS > | m_cfivs |
coarsened ghost cells of fine patches More... | |
Private Member Functions | |
void | operator= (const NWOQuadCFInterp &) |
NWOQuadCFInterp (const NWOQuadCFInterp &) | |
Fourth-order interpolation in time and space to ghost cells.
|
inline |
Default constructor.
Object requires define() to be called before all other functions.
References m_defined.
Referenced by getMixedDerivDirections().
|
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 NWOQuadCFInterp::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 ~NWOQuadCFInterp().
void NWOQuadCFInterp::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 NWOQuadCFInterp(), and ~NWOQuadCFInterp().
void NWOQuadCFInterp::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 ~NWOQuadCFInterp().
|
protected |
|
protected |
|
protected |
|
inlineprotected |
References MayDay::Error().
|
inlineprotected |
References MayDay::Error(), NWOQuadCFInterp(), and operator=().
|
private |
Referenced by getMixedDerivDirections().
|
protected |
whether define() has been called
Referenced by NWOQuadCFInterp().
|
protected |
box layout for this level
|
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
|
protected |
data on ghosted coarsened fine grids at intermediate time in fillInterp
|
protected |
coarsened ghost cells of fine patches