#include <FourthOrderFineInterp.H>
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 | |
FourthOrderPatchInterp & | patchInterp () |
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< FArrayBox > | m_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 &) |
FourthOrderFineInterp::FourthOrderFineInterp | ( | ) |
Default constructor.
Object requires define() to be called before all other functions.
FourthOrderFineInterp::~FourthOrderFineInterp | ( | ) |
FourthOrderFineInterp::FourthOrderFineInterp | ( | const FourthOrderFineInterp & | ) | [private] |
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.
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.
return stencil indices
Get stencil indices for patch a_dind.
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.
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.
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.
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.
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.
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] |
DisjointBoxLayout FourthOrderFineInterp::m_layout [protected] |
Box layout for this level.
Box layout for the coarse level: m_layout coarsened by m_refineCoarse.
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