FourthOrderFillPatch Class Reference

#include <FourthOrderFillPatch.H>

List of all members.


Detailed Description

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

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.
TimeInterpolatorRK4getTimeInterpolator ()
 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< FArrayBoxm_coarsenedFineData
 data on ghosted coarsened fine grids at intermediate time in fillInterp
LayoutData< IntVectSetm_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 &)

Constructor & Destructor Documentation

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.

Parameters:
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 (  ) 

Destructor.

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

FourthOrderFillPatch::FourthOrderFillPatch ( const FourthOrderFillPatch  )  [private]


Member Function Documentation

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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]


Member Data Documentation

whether define() has been called

whether m_timeInterpolator is defined

box layout for this level

this level's layout coarsened

box layout for the coarse level

number of layers of fine ghost cells to fill by interpolation

problem domain at the coarser level

refinement ratio between this level and the next coarser

dimensions that are fixed, not interpolated

1 in m_fixedDims, m_refineCoarse in other dimensions

number of variables

data on ghosted coarsened fine grids at intermediate time in fillInterp

coarsened ghost cells of fine patches

interpolator in time

interpolator in space


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

Generated on Fri Apr 5 04:25:05 2019 for Chombo + EB by  doxygen 1.5.5