Chombo + EB + MF  3.2
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
NWOQuadCFInterp Class Reference

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

Private Member Functions

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

Detailed Description

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

Constructor & Destructor Documentation

◆ NWOQuadCFInterp() [1/3]

NWOQuadCFInterp::NWOQuadCFInterp ( )
inline

Default constructor.

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

References m_defined.

Referenced by getMixedDerivDirections().

◆ NWOQuadCFInterp() [2/3]

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_thisDisjointBoxLayoutlayout at this level
a_coarserDisjointBoxLayoutlayout at coarser level
a_numStatesnumber of variables
a_coarseDomainproblem domain on the coarser level
a_refineCoarserefinement ratio between this level and the coarser level
a_interpRadiusnumber of layers of ghost cells to fill by interpolation

References define().

◆ ~NWOQuadCFInterp()

NWOQuadCFInterp::~NWOQuadCFInterp ( )
inline

Destructor.

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

References coarseFineInterp(), define(), and homogeneousCoarseFineInterp().

◆ NWOQuadCFInterp() [3/3]

NWOQuadCFInterp::NWOQuadCFInterp ( const NWOQuadCFInterp )
private

Member Function Documentation

◆ homogeneousCoarseFineInterp()

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_fineDatainterpolated solution on this level
a_srcCompsolution on coarser level
a_dstCompstarting fine data component
a_numCompnumber of data components to interpolate

Referenced by ~NWOQuadCFInterp().

◆ define()

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_thisDisjointBoxLayoutlayout at this level
a_coarserDisjointBoxLayoutlayout at coarser level
a_numStatesnumber of variables
a_coarseDomainproblem domain on the coarser level
a_refineCoarserefinement ratio between this level and the coarser level
a_interpRadiusnumber of layers of ghost cells to fill by interpolation

Referenced by NWOQuadCFInterp(), and ~NWOQuadCFInterp().

◆ coarseFineInterp()

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_fineDatainterpolated solution on this level
a_coarseDatasolution on coarser level
a_srcCompstarting coarse data component
a_dstCompstarting fine data component
a_numCompnumber of data components to interpolate

Referenced by ~NWOQuadCFInterp().

◆ interpOnPatch()

void NWOQuadCFInterp::interpOnPatch ( FArrayBox a_fineData,
const FArrayBox a_coarseData,
const DataIndex a_dit,
int  a_srcComp,
int  a_dstComp,
int  a_numComp 
)
protected

◆ extrapolateValue()

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

◆ getDerivs()

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

◆ getMixedIndex()

int NWOQuadCFInterp::getMixedIndex ( int  a_derivDir1,
int  a_derivDir2 
)
inlineprotected

References MayDay::Error().

◆ getMixedDerivDirections()

void NWOQuadCFInterp::getMixedDerivDirections ( int &  a_derivDir1,
int &  a_derivDir2,
const int &  a_index 
)
inlineprotected

◆ operator=()

void NWOQuadCFInterp::operator= ( const NWOQuadCFInterp )
private

Referenced by getMixedDerivDirections().

Member Data Documentation

◆ m_defined

bool NWOQuadCFInterp::m_defined
protected

whether define() has been called

Referenced by NWOQuadCFInterp().

◆ m_layout

DisjointBoxLayout NWOQuadCFInterp::m_layout
protected

box layout for this level

◆ m_coarseLayout

DisjointBoxLayout NWOQuadCFInterp::m_coarseLayout
protected

box layout for the coarse level

◆ m_interpRadius

int NWOQuadCFInterp::m_interpRadius
protected

number of layers of fine ghost cells to fill by interpolation

◆ m_coarseDomain

ProblemDomain NWOQuadCFInterp::m_coarseDomain
protected

problem domain at the coarser level

◆ m_refineCoarse

int NWOQuadCFInterp::m_refineCoarse
protected

refinement ratio between this level and the next coarser

◆ m_refineVect

IntVect NWOQuadCFInterp::m_refineVect
protected

1 in m_fixedDims, m_refineCoarse in other dimensions

◆ m_numStates

int NWOQuadCFInterp::m_numStates
protected

number of variables

◆ m_layoutCoarsened

DisjointBoxLayout NWOQuadCFInterp::m_layoutCoarsened
protected

◆ m_coarsenedFineData

LevelData<FArrayBox> NWOQuadCFInterp::m_coarsenedFineData
protected

data on ghosted coarsened fine grids at intermediate time in fillInterp

◆ m_cfivs

LayoutData<CFIVS> NWOQuadCFInterp::m_cfivs
protected

coarsened ghost cells of fine patches


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