FourthOrderFineInterp Class Reference

#include <FourthOrderFineInterp.H>

List of all members.


Detailed Description

Fourth-order interpolation in space.

Public Member Functions

 FourthOrderFineInterp ()
 Default constructor.
 ~FourthOrderFineInterp ()
 Destructor.
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.
const BaseFab< IntVect > & getStencil (const DataIterator &a_dit) const
 return stencil indices
const BaseFab< IntVect > & getStencil (const DataIndex &a_dind) const
 return stencil indices
LevelData< FArrayBox > & coarsenedFineData ()
 return reference to coarse data
FourthOrderPatchInterppatchInterp ()
 return patch interpolator
void interpToFine (LevelData< FArrayBox > &a_fine, const LevelData< FArrayBox > &a_coarse)
 Interpolate in space.
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIterator &a_dit)
 Interpolate in space on a single patch.
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIndex &a_dind)
 Interpolate in space on a single patch.
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.
void interpOnPatch (FArrayBox &a_fine, const FArrayBox &a_coarse, const DataIndex &a_dind, const IntVectSet &a_ivs)
 Interpolate in space on a single patch.

Protected Attributes

DisjointBoxLayout m_layout
 Box layout for this level.
DisjointBoxLayout m_layoutCoarsened
 Box layout for the coarse level: m_layout coarsened by m_refineCoarse.
FourthOrderPatchInterp m_patchInterp
 object for patch-based operations
LevelData< BaseFab< IntVect > > m_stencilHere
 on m_layoutCoarsened; which stencil to use at each coarse point
IntVect m_ghostVect
 ghost vector on m_coarseData
LevelData< FArrayBoxm_coarseData
 copied coarse data in interpToFine, lives on m_layoutCoarsened
ProblemDomain m_domain
 Problem domain - index space for this 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.
int m_maxStencilDist
 maximum distance of stencil from domain boundary
int m_coarseGhostsFill
 number of layers of ghost cells at the coarser level whose fine cells are to be filled in
bool m_defined
 define() has been called

Private Member Functions

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

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_layout  layout at this level
a_numStates  number of variables
a_refineCoarse  refinement ratio between this level and next coarser level
a_domain  problem domain on this level
a_coarseGhostsFill  number of coarse ghost cells
a_fixedDims  dimensions 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_fine  interpolated solution on this level
a_coarse  coarse 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_fine  interpolated solution on this level
a_coarse  coarse solution
a_dit  index

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_fine  interpolated solution on this level
a_coarse  coarse solution
a_dind  index

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_fine  interpolated solution on this level
a_coarse  coarse solution
a_dit  index
a_ivs  we 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_fine  interpolated solution on this level
a_coarse  coarse solution
a_dind  index
a_ivs  we fill in fine cells within these coarse cells

void FourthOrderFineInterp::operator= ( const FourthOrderFineInterp  )  [private]


Member Data Documentation

Box layout for this level.

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

object for patch-based operations

on m_layoutCoarsened; which stencil to use at each coarse point

ghost vector on m_coarseData

copied coarse data in interpToFine, lives on m_layoutCoarsened

Problem domain - index space for this 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.

maximum distance of stencil from domain boundary

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

define() has been called


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