#include <NWOQuadCFInterp.H>
Public Member Functions | |
NWOQuadCFInterp () | |
Default constructor. | |
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. | |
~NWOQuadCFInterp () | |
Destructor. | |
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) | |
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. | |
void | coarseFineInterp (LevelData< FArrayBox > &a_fineData, const LevelData< FArrayBox > &a_coarseData, int a_srcComp, int a_dstComp, int a_numComp) |
Interpolate in space only. | |
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 | |
DisjointBoxLayout | m_layout |
box layout for this level | |
DisjointBoxLayout | m_coarseLayout |
box layout for the coarse level | |
int | m_interpRadius |
number of layers of fine ghost cells to fill by interpolation | |
ProblemDomain | m_coarseDomain |
problem domain at the coarser level | |
int | m_refineCoarse |
refinement ratio between this level and the next coarser | |
IntVect | m_refineVect |
1 in m_fixedDims, m_refineCoarse in other dimensions | |
int | m_numStates |
number of variables | |
DisjointBoxLayout | m_layoutCoarsened |
LevelData< FArrayBox > | m_coarsenedFineData |
data on ghosted coarsened fine grids at intermediate time in fillInterp | |
LayoutData< CFIVS > | m_cfivs |
coarsened ghost cells of fine patches | |
Private Member Functions | |
void | operator= (const NWOQuadCFInterp &) |
NWOQuadCFInterp (const NWOQuadCFInterp &) |
NWOQuadCFInterp::NWOQuadCFInterp | ( | ) | [inline] |
NWOQuadCFInterp::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 | |||
) | [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().
NWOQuadCFInterp::~NWOQuadCFInterp | ( | ) | [inline] |
NWOQuadCFInterp::NWOQuadCFInterp | ( | const NWOQuadCFInterp & | ) | [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 |
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().
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 |
void NWOQuadCFInterp::interpOnPatch | ( | FArrayBox & | a_fineData, | |
const FArrayBox & | a_coarseData, | |||
const DataIndex & | a_dit, | |||
int | a_srcComp, | |||
int | a_dstComp, | |||
int | a_numComp | |||
) | [protected] |
void NWOQuadCFInterp::extrapolateValue | ( | Real & | a_fineValue, | |
const Real & | a_coarValue, | |||
const RealVect & | a_firstDerivs, | |||
const RealVect & | a_secondDerivs, | |||
const RealVect & | a_mixedDerivs, | |||
const RealVect & | a_distance | |||
) | [protected] |
void NWOQuadCFInterp::getDerivs | ( | RealVect & | firstDerivs, | |
RealVect & | secondDerivs, | |||
RealVect & | mixedDerivs, | |||
const FArrayBox & | a_data, | |||
const IntVect & | a_ivCoar, | |||
const Real & | a_dx, | |||
const int & | a_icomp | |||
) | [protected] |
int NWOQuadCFInterp::getMixedIndex | ( | int | a_derivDir1, | |
int | a_derivDir2 | |||
) | [inline, protected] |
References MayDay::Error().
void NWOQuadCFInterp::getMixedDerivDirections | ( | int & | a_derivDir1, | |
int & | a_derivDir2, | |||
const int & | a_index | |||
) | [inline, protected] |
References MayDay::Error().
void NWOQuadCFInterp::operator= | ( | const NWOQuadCFInterp & | ) | [private] |
bool NWOQuadCFInterp::m_defined [protected] |
DisjointBoxLayout NWOQuadCFInterp::m_layout [protected] |
box layout for this level
DisjointBoxLayout NWOQuadCFInterp::m_coarseLayout [protected] |
box layout for the coarse level
int NWOQuadCFInterp::m_interpRadius [protected] |
number of layers of fine ghost cells to fill by interpolation
ProblemDomain NWOQuadCFInterp::m_coarseDomain [protected] |
problem domain at the coarser level
int NWOQuadCFInterp::m_refineCoarse [protected] |
refinement ratio between this level and the next coarser
IntVect NWOQuadCFInterp::m_refineVect [protected] |
1 in m_fixedDims, m_refineCoarse in other dimensions
int NWOQuadCFInterp::m_numStates [protected] |
number of variables
DisjointBoxLayout NWOQuadCFInterp::m_layoutCoarsened [protected] |
LevelData<FArrayBox> NWOQuadCFInterp::m_coarsenedFineData [protected] |
data on ghosted coarsened fine grids at intermediate time in fillInterp
LayoutData<CFIVS> NWOQuadCFInterp::m_cfivs [protected] |
coarsened ghost cells of fine patches