#include <FourthOrderFillPatch.H>
Public Member Functions | |
FourthOrderFillPatch () | |
Default constructor. | |
FourthOrderFillPatch (const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const int &a_numStates, const ProblemDomain &a_coarseDomain, const int &a_refineCoarse, const int &a_interpRadius, bool a_fixedTime=false, Interval a_fixedDims=Interval()) | |
Full constructor. | |
~FourthOrderFillPatch () | |
Destructor. | |
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, bool a_fixedTime=false, Interval a_fixedDims=Interval()) |
Actual constructor. | |
void | fillInterp (LevelData< FArrayBox > &a_fineData, Real a_timeInterpCoeff, int a_srcComp, int a_dstComp, int a_numComp) |
Interpolate in time and space. | |
void | fillRK4Intermediate (LevelData< FArrayBox > &a_fineData, Real a_timeInterpCoeff, int a_stage, int a_srcComp, int a_dstComp, int a_numComp) |
Fill RK4 intermediate in time and space. | |
void | fillInterp (LevelData< FArrayBox > &a_fineData, const LevelData< FArrayBox > &a_coarseData, int a_srcComp, int a_dstComp, int a_numComp) |
Interpolate in space only. | |
TimeInterpolatorRK4 & | getTimeInterpolator () |
Return time interpolator object. | |
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. | |
Protected Attributes | |
bool | m_defined |
whether define() has been called | |
bool | m_timeInterpDefined |
whether m_timeInterpolator is defined | |
DisjointBoxLayout | m_layout |
box layout for this level | |
DisjointBoxLayout | m_layoutCoarsened |
this level's layout coarsened | |
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 | |
Interval | m_fixedDims |
dimensions that are fixed, not interpolated | |
IntVect | m_refineVect |
1 in m_fixedDims, m_refineCoarse in other dimensions | |
int | m_numStates |
number of variables | |
LevelData< FArrayBox > | m_coarsenedFineData |
data on ghosted coarsened fine grids at intermediate time in fillInterp | |
LayoutData< IntVectSet > | m_coarsenedGhosts |
coarsened ghost cells of fine patches | |
TimeInterpolatorRK4 | m_timeInterpolator |
interpolator in time | |
FourthOrderFineInterp | m_spaceInterpolator |
interpolator in space | |
Private Member Functions | |
void | operator= (const FourthOrderFillPatch &) |
FourthOrderFillPatch (const FourthOrderFillPatch &) |
FourthOrderFillPatch::FourthOrderFillPatch | ( | ) |
Default constructor.
Object requires define() to be called before all other functions.
FourthOrderFillPatch::FourthOrderFillPatch | ( | const DisjointBoxLayout & | a_thisDisjointBoxLayout, | |
const DisjointBoxLayout & | a_coarserDisjointBoxLayout, | |||
const int & | a_numStates, | |||
const ProblemDomain & | a_coarseDomain, | |||
const int & | a_refineCoarse, | |||
const int & | a_interpRadius, | |||
bool | a_fixedTime = false , |
|||
Interval | a_fixedDims = Interval() | |||
) | [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 |
a_fixedTime | whether this object is for a fixed time |
a_fixedDims | dimensions that are fixed, not interpolated |
References define().
FourthOrderFillPatch::~FourthOrderFillPatch | ( | ) |
FourthOrderFillPatch::FourthOrderFillPatch | ( | const FourthOrderFillPatch & | ) | [private] |
void FourthOrderFillPatch::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, | |||
bool | a_fixedTime = false , |
|||
Interval | a_fixedDims = Interval() | |||
) |
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 |
a_fixedTime | whether this object is for a fixed time |
a_fixedDims | dimensions that are fixed, not interpolated |
Referenced by FourthOrderFillPatch().
void FourthOrderFillPatch::fillInterp | ( | LevelData< FArrayBox > & | a_fineData, | |
Real | a_timeInterpCoeff, | |||
int | a_srcComp, | |||
int | a_dstComp, | |||
int | a_numComp | |||
) |
Interpolate in time and space.
Interpolate in time and space to ghost cells of a_fine from coarse data. The time interpolator must already contain the full Taylor polynomial calculated from data at the coarser level.
a_fineData | interpolated solution on this level |
a_timeInterpCoeff | time interpolation coefficient, in [0:1] |
a_srcComp | starting coarse data component |
a_dstComp | starting fine data component |
a_numComp | number of data components to interpolate |
void FourthOrderFillPatch::fillRK4Intermediate | ( | LevelData< FArrayBox > & | a_fineData, | |
Real | a_timeInterpCoeff, | |||
int | a_stage, | |||
int | a_srcComp, | |||
int | a_dstComp, | |||
int | a_numComp | |||
) |
Fill RK4 intermediate in time and space.
Set RK4 intermediate interpolating in time and space to ghost cells of a_fine from coarse data. The time interpolator must already contain the full Taylor polynomial calculated from data at the coarser level.
a_fineData | interpolated solution on this level |
a_timeInterpCoeff | time interpolation coefficient, in [0:1] |
a_stage | RK4 stage, in 0:3 |
a_srcComp | starting coarse data component |
a_dstComp | starting fine data component |
a_numComp | number of data components to interpolate |
void FourthOrderFillPatch::fillInterp | ( | 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 |
TimeInterpolatorRK4& FourthOrderFillPatch::getTimeInterpolator | ( | ) |
Return time interpolator object.
Return m_timeInterpolator.
void FourthOrderFillPatch::fillInterpSpaceFromCoarsened | ( | LevelData< FArrayBox > & | a_fineData, | |
int | a_srcComp, | |||
int | a_dstComp, | |||
int | a_numComp | |||
) | [protected] |
Interpolate in space only, from coarsened fine grids.
At a fixed time, interpolate in space to ghost cells of a_fine from m_coarseFineData.
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 |
void FourthOrderFillPatch::operator= | ( | const FourthOrderFillPatch & | ) | [private] |
bool FourthOrderFillPatch::m_defined [protected] |
whether define() has been called
bool FourthOrderFillPatch::m_timeInterpDefined [protected] |
whether m_timeInterpolator is defined
DisjointBoxLayout FourthOrderFillPatch::m_layout [protected] |
box layout for this level
this level's layout coarsened
box layout for the coarse level
int FourthOrderFillPatch::m_interpRadius [protected] |
number of layers of fine ghost cells to fill by interpolation
ProblemDomain FourthOrderFillPatch::m_coarseDomain [protected] |
problem domain at the coarser level
int FourthOrderFillPatch::m_refineCoarse [protected] |
refinement ratio between this level and the next coarser
Interval FourthOrderFillPatch::m_fixedDims [protected] |
dimensions that are fixed, not interpolated
IntVect FourthOrderFillPatch::m_refineVect [protected] |
1 in m_fixedDims, m_refineCoarse in other dimensions
int FourthOrderFillPatch::m_numStates [protected] |
number of variables
LevelData<FArrayBox> FourthOrderFillPatch::m_coarsenedFineData [protected] |
data on ghosted coarsened fine grids at intermediate time in fillInterp
LayoutData<IntVectSet> FourthOrderFillPatch::m_coarsenedGhosts [protected] |
coarsened ghost cells of fine patches
interpolator in time
interpolator in space