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

Fourth-order interpolation in space. More...

#include <FourthOrderFineInterp.H>

Public Member Functions

 FourthOrderFineInterp ()
 Default constructor. More...
 
 ~FourthOrderFineInterp ()
 Destructor. More...
 
void define (const DisjointBoxLayout &a_layout, const int &a_numStates, const int &a_refineCoarse, const ProblemDomain &a_domain, const int &a_coarseGhostsFill=0, Interval a_fixedDims=Interval())
 Actual constructor. More...
 
const BaseFab< IntVect > & getStencil (const DataIterator &a_dit) const
 return stencil indices More...
 
const BaseFab< IntVect > & getStencil (const DataIndex &a_dind) const
 return stencil indices More...
 
LevelData< FArrayBox > & coarsenedFineData ()
 return reference to coarse data More...
 
FourthOrderPatchInterppatchInterp ()
 return patch interpolator More...
 
void interpToFine (LevelData< FArrayBox > &a_fine, const LevelData< FArrayBox > &a_coarse)
 Interpolate in space. More...
 
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIterator &a_dit)
 Interpolate in space on a single patch. More...
 
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIndex &a_dind)
 Interpolate in space on a single patch. More...
 
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIterator &a_dit, const IntVectSet &a_ivs)
 Interpolate in space on a single patch, to a set of cells. More...
 
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIndex &a_dind, const IntVectSet &a_ivs)
 Interpolate in space on a single patch. More...
 

Protected Attributes

DisjointBoxLayout m_layout
 Box layout for this level. More...
 
DisjointBoxLayout m_layoutCoarsened
 Box layout for the coarse level: m_layout coarsened by m_refineCoarse. More...
 
FourthOrderPatchInterp m_patchInterp
 object for patch-based operations More...
 
LevelData< BaseFab< IntVect > > m_stencilHere
 on m_layoutCoarsened; which stencil to use at each coarse point More...
 
IntVect m_ghostVect
 ghost vector on m_coarseData More...
 
LevelData< FArrayBoxm_coarseData
 copied coarse data in interpToFine, lives on m_layoutCoarsened More...
 
ProblemDomain m_domain
 Problem domain - index space for this level. More...
 
int m_refineCoarse
 Refinement ratio between this level and the next coarser. More...
 
Interval m_fixedDims
 dimensions that are fixed, not interpolated More...
 
IntVect m_refineVect
 1 in m_fixedDims, m_refineCoarse in other dimensions More...
 
int m_numStates
 Number of variables. More...
 
int m_maxStencilDist
 maximum distance of stencil from domain boundary More...
 
int m_coarseGhostsFill
 number of layers of ghost cells at the coarser level whose fine cells are to be filled in More...
 
bool m_defined
 define() has been called More...
 

Private Member Functions

void operator= (const FourthOrderFineInterp &)
 
 FourthOrderFineInterp (const FourthOrderFineInterp &)
 

Detailed Description

Fourth-order interpolation in space.

Constructor & Destructor Documentation

FourthOrderFineInterp::FourthOrderFineInterp ( )

Default constructor.

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

FourthOrderFineInterp::~FourthOrderFineInterp ( )

Destructor.

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

FourthOrderFineInterp::FourthOrderFineInterp ( const FourthOrderFineInterp )
private

Member Function Documentation

void FourthOrderFineInterp::define ( const DisjointBoxLayout a_layout,
const int &  a_numStates,
const int &  a_refineCoarse,
const ProblemDomain a_domain,
const int &  a_coarseGhostsFill = 0,
Interval  a_fixedDims = Interval() 
)

Actual constructor.

Set up object.

Parameters
a_layoutlayout at this level
a_numStatesnumber of variables
a_refineCoarserefinement ratio between this level and next coarser level
a_domainproblem domain on this level
a_coarseGhostsFillnumber of coarse ghost cells
a_fixedDimsdimensions that are fixed, not interpolated
const BaseFab<IntVect>& FourthOrderFineInterp::getStencil ( const DataIterator a_dit) const

return stencil indices

Get stencil indices for patch a_dit.

const BaseFab<IntVect>& FourthOrderFineInterp::getStencil ( const DataIndex a_dind) const

return stencil indices

Get stencil indices for patch a_dind.

LevelData<FArrayBox>& FourthOrderFineInterp::coarsenedFineData ( )

return reference to coarse data

Return reference to m_coarseData.

FourthOrderPatchInterp& FourthOrderFineInterp::patchInterp ( )

return patch interpolator

Get object for interpolating on a single patch.

void FourthOrderFineInterp::interpToFine ( LevelData< FArrayBox > &  a_fine,
const LevelData< FArrayBox > &  a_coarse 
)

Interpolate in space.

Interpolate in space to a_fine from a_coarse.

Parameters
a_fineinterpolated solution on this level
a_coarsecoarse solution
void FourthOrderFineInterp::interpOnPatch ( FArrayBox a_fine,
const FArrayBox a_coarse,
const DataIterator a_dit 
)

Interpolate in space on a single patch.

Interpolate in space to a_fine from a_coarse, where both are related to index a_dit.

Parameters
a_fineinterpolated solution on this level
a_coarsecoarse solution
a_ditindex
void FourthOrderFineInterp::interpOnPatch ( FArrayBox a_fine,
const FArrayBox a_coarse,
const DataIndex a_dind 
)

Interpolate in space on a single patch.

Interpolate in space to a_fine from a_coarse, where both are related to index a_dind.

Parameters
a_fineinterpolated solution on this level
a_coarsecoarse solution
a_dindindex
void FourthOrderFineInterp::interpOnPatch ( FArrayBox a_fine,
const FArrayBox a_coarse,
const DataIterator a_dit,
const IntVectSet a_ivs 
)

Interpolate in space on a single patch, to a set of cells.

Interpolate in space to a_fine from a_coarse, where both are related to index a_dit, to the fine cells within a_ivs.

Parameters
a_fineinterpolated solution on this level
a_coarsecoarse solution
a_ditindex
a_ivswe fill in fine cells within these coarse cells
void FourthOrderFineInterp::interpOnPatch ( FArrayBox a_fine,
const FArrayBox a_coarse,
const DataIndex a_dind,
const IntVectSet a_ivs 
)

Interpolate in space on a single patch.

Interpolate in space to a_fine from a_coarse, where both are related to index a_dind, to the fine cells within a_ivs.

Parameters
a_fineinterpolated solution on this level
a_coarsecoarse solution
a_dindindex
a_ivswe fill in fine cells within these coarse cells
void FourthOrderFineInterp::operator= ( const FourthOrderFineInterp )
private

Member Data Documentation

DisjointBoxLayout FourthOrderFineInterp::m_layout
protected

Box layout for this level.

DisjointBoxLayout FourthOrderFineInterp::m_layoutCoarsened
protected

Box layout for the coarse level: m_layout coarsened by m_refineCoarse.

FourthOrderPatchInterp FourthOrderFineInterp::m_patchInterp
protected

object for patch-based operations

LevelData< BaseFab<IntVect> > FourthOrderFineInterp::m_stencilHere
protected

on m_layoutCoarsened; which stencil to use at each coarse point

IntVect FourthOrderFineInterp::m_ghostVect
protected

ghost vector on m_coarseData

LevelData<FArrayBox> FourthOrderFineInterp::m_coarseData
protected

copied coarse data in interpToFine, lives on m_layoutCoarsened

ProblemDomain FourthOrderFineInterp::m_domain
protected

Problem domain - index space for this level.

int FourthOrderFineInterp::m_refineCoarse
protected

Refinement ratio between this level and the next coarser.

Interval FourthOrderFineInterp::m_fixedDims
protected

dimensions that are fixed, not interpolated

IntVect FourthOrderFineInterp::m_refineVect
protected

1 in m_fixedDims, m_refineCoarse in other dimensions

int FourthOrderFineInterp::m_numStates
protected

Number of variables.

int FourthOrderFineInterp::m_maxStencilDist
protected

maximum distance of stencil from domain boundary

int FourthOrderFineInterp::m_coarseGhostsFill
protected

number of layers of ghost cells at the coarser level whose fine cells are to be filled in

bool FourthOrderFineInterp::m_defined
protected

define() has been called


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