NWOQuadCFInterp Class Reference

#include <NWOQuadCFInterp.H>

List of all members.


Detailed Description

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

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< FArrayBoxm_coarsenedFineData
 data on ghosted coarsened fine grids at intermediate time in fillInterp
LayoutData< CFIVSm_cfivs
 coarsened ghost cells of fine patches

Private Member Functions

void operator= (const NWOQuadCFInterp &)
 NWOQuadCFInterp (const NWOQuadCFInterp &)

Constructor & Destructor Documentation

NWOQuadCFInterp::NWOQuadCFInterp (  )  [inline]

Default constructor.

Object requires define() to be called before all other functions.

References m_defined.

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.

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

References define().

NWOQuadCFInterp::~NWOQuadCFInterp (  )  [inline]

Destructor.

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

NWOQuadCFInterp::NWOQuadCFInterp ( const NWOQuadCFInterp  )  [private]


Member Function Documentation

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)

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

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

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.

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

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]


Member Data Documentation

bool NWOQuadCFInterp::m_defined [protected]

whether define() has been called

Referenced by NWOQuadCFInterp().

box layout for this level

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

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


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

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