Chombo + EB + MF
3.2
|
Fourth-order interpolation in space. More...
#include <FourthOrderMappedCFInterp.H>
Public Member Functions | |
FourthOrderMappedCFInterp () | |
Default constructor. More... | |
~FourthOrderMappedCFInterp () | |
Destructor. More... | |
void | define (const DisjointBoxLayout &a_layout, int a_numStates, int a_refineCoarse, const ProblemDomain &a_domain, int a_coarseGhostsFill=0, Interval a_fixedDims=Interval()) |
Actual constructor. More... | |
void | setJ (const LevelData< FArrayBox > &a_FnLevJ, const LevelData< FArrayBox > &a_CrFnLevJ) |
void | setCrFnLevUandJU (const LevelData< FArrayBox > &a_CrFnLevU, const LevelData< FArrayBox > &a_CrFnLevJU) |
void | interpToFineJU (LevelData< FArrayBox > &a_fineJU) |
Protected Member Functions | |
void | setStencil (BaseFab< IntVect > &a_stencil, const Box &a_coarseBox) |
void | getGradient (FArrayBox &a_gradFab, const FArrayBox &a_srcFab, const Box &a_bx) |
void | clearMemory () |
void | freeJ () |
Protected Attributes | |
ProblemDomain | m_domain |
Problem domain - index space for this level. More... | |
ProblemDomain | m_coarseDomain |
int | m_refineCoarse |
Refinement ratio between this level and the next coarser. More... | |
Interval | m_fixedDims |
dimensions that are fixed, not interpolated More... | |
int | m_nInterpDims |
number of dimensions that are interpolated: SpaceDim - m_fixedDims.size() More... | |
IntVect | m_refineVect |
1 in m_fixedDims, m_refineCoarse in other dimensions More... | |
IntVect | m_interpUnit |
0 in m_fixedDims, 1 in other dimensions More... | |
int | m_numStates |
Number of variables. More... | |
int | m_maxStencilDist |
maximum distance of stencil from domain boundary More... | |
Box | m_stencilBox |
(-m_maxStencilDist*interpUnit, m_maxStencilDist*interpUnit) More... | |
int | m_degree |
max degree of approximations More... | |
int | m_numNonzeroPowers |
number of nonzero powers More... | |
int | m_coarseGhostsFill |
number of layers of ghost cells at the coarser level whose fine cells are to be filled in More... | |
DisjointBoxLayout | m_layout |
Box layout for finer level. More... | |
DisjointBoxLayout | m_layoutCoarsened |
Box layout for coarser level: m_layout coarsened by m_refineVect. More... | |
BaseFab< FourthOrderMappedCFInterpStencil * > | m_stencils |
all possible stencils, on (-m_maxStencilDist:+m_maxStencilDist)^SpaceDim More... | |
LevelData< BaseFab< IntVect > > | m_stencilHere |
on m_layoutCoarsened; which stencil to use at each coarse point More... | |
FArrayBox | m_fineAvgPowers |
<(z - z0)^p>k for each fine cell k. More... | |
FArrayBox | m_gradFineAvgPowers |
gradient of m_fineAvgPowers More... | |
IntVect | m_ghostVect |
ghost vector on m_coarseData More... | |
IntVect | m_coarseGhostVect |
ghost vector on coarsened fine data More... | |
Box | m_fineBox |
IntVect::Zero to m_refineVect-interpUnit. More... | |
LevelData< FArrayBox > | m_coarseData |
copied coarse data in interpToFine, lives on m_layoutCoarsened More... | |
LevelData< FArrayBox > | m_JfineAvgPowers |
<J*(z - z0)^p>k for each fine cell k. More... | |
LevelData< FArrayBox > | m_B |
B(i) = sum_{k in F(i)} (<J*zvec**pvec>k); m_numNonzeroPowers components. More... | |
LevelData< FArrayBox > | m_normB |
2-norm of B(i); 1 component More... | |
LevelData< FArrayBox > | m_alpha |
LevelData< FArrayBox > | m_beta |
LevelData< FArrayBox > | m_QRtau |
LevelData< FArrayBox > | m_FnLevJ |
LevelData< FArrayBox > | m_coeff0 |
LevelData< FArrayBox > | m_coeffs |
LayoutData< BaseFab< Vector< Real > *> *> | m_QRmatrix |
LayoutData< BaseFab< Vector< Real > *> *> | m_A1 |
Vector<Real> *m_A1[dit](cell, 0) has a component for each stencil cell. More... | |
bool | m_defined |
define() has been called More... | |
bool | m_haveJ |
J has been set, together with all the arrays calculated from J. More... | |
bool | m_haveCoeffs |
coefficients has been set, from call to setCrFnLevUandJU More... | |
Private Member Functions | |
void | operator= (const FourthOrderMappedCFInterp &) |
FourthOrderMappedCFInterp (const FourthOrderMappedCFInterp &) | |
Fourth-order interpolation in space.
FourthOrderMappedCFInterp::FourthOrderMappedCFInterp | ( | ) |
Default constructor.
Object requires define() to be called before all other functions.
FourthOrderMappedCFInterp::~FourthOrderMappedCFInterp | ( | ) |
|
private |
void FourthOrderMappedCFInterp::define | ( | const DisjointBoxLayout & | a_layout, |
int | a_numStates, | ||
int | a_refineCoarse, | ||
const ProblemDomain & | a_domain, | ||
int | a_coarseGhostsFill = 0 , |
||
Interval | a_fixedDims = Interval() |
||
) |
Actual constructor.
Set up object.
a_layout | layout at finer level |
a_numStates | number of variables |
a_refineCoarse | refinement ratio between finer level and coarser level |
a_domain | problem domain on finer level |
a_coarseGhostsFill | number of coarse-level ghost cells |
a_fixedDims | dimensions that are fixed, not interpolated |
void FourthOrderMappedCFInterp::setJ | ( | const LevelData< FArrayBox > & | a_FnLevJ, |
const LevelData< FArrayBox > & | a_CrFnLevJ | ||
) |
a_FnLevJ | <J> on fine grids |
a_CrFnLevJ | <J> on coarsened fine grids |
void FourthOrderMappedCFInterp::setCrFnLevUandJU | ( | const LevelData< FArrayBox > & | a_CrFnLevU, |
const LevelData< FArrayBox > & | a_CrFnLevJU | ||
) |
a_CrFnLevU | <U> on coarsened fine grids |
a_CrFnLevJU | <JU> on coarsened fine grids |
Interpolate to <JU> on fine level.
a_fineJU | interpolated fine <JU> |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
Problem domain - index space for this level.
|
protected |
|
protected |
Refinement ratio between this level and the next coarser.
|
protected |
dimensions that are fixed, not interpolated
|
protected |
number of dimensions that are interpolated: SpaceDim - m_fixedDims.size()
|
protected |
1 in m_fixedDims, m_refineCoarse in other dimensions
|
protected |
0 in m_fixedDims, 1 in other dimensions
|
protected |
Number of variables.
|
protected |
maximum distance of stencil from domain boundary
|
protected |
(-m_maxStencilDist*interpUnit, m_maxStencilDist*interpUnit)
|
protected |
max degree of approximations
|
protected |
number of nonzero powers
|
protected |
number of layers of ghost cells at the coarser level whose fine cells are to be filled in
|
protected |
Box layout for finer level.
|
protected |
Box layout for coarser level: m_layout coarsened by m_refineVect.
|
protected |
all possible stencils, on (-m_maxStencilDist:+m_maxStencilDist)^SpaceDim
on m_layoutCoarsened; which stencil to use at each coarse point
|
protected |
<(z - z0)^p>k for each fine cell k.
|
protected |
gradient of m_fineAvgPowers
|
protected |
ghost vector on m_coarseData
|
protected |
ghost vector on coarsened fine data
|
protected |
IntVect::Zero to m_refineVect-interpUnit.
copied coarse data in interpToFine, lives on m_layoutCoarsened
<J*(z - z0)^p>k for each fine cell k.
B(i) = sum_{k in F(i)} (<J*zvec**pvec>k); m_numNonzeroPowers components.
|
protected |
|
protected |
Vector<Real> *m_A1[dit](cell, 0) has a component for each stencil cell.
|
protected |
define() has been called
|
protected |
J has been set, together with all the arrays calculated from J.
|
protected |
coefficients has been set, from call to setCrFnLevUandJU