FourthOrderMappedCFInterp Class Reference

#include <FourthOrderMappedCFInterp.H>

List of all members.


Detailed Description

Fourth-order interpolation in space.

Public Member Functions

 FourthOrderMappedCFInterp ()
 Default constructor.
 ~FourthOrderMappedCFInterp ()
 Destructor.
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.
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.
ProblemDomain m_coarseDomain
int m_refineCoarse
 Refinement ratio between this level and the next coarser.
Interval m_fixedDims
 dimensions that are fixed, not interpolated
int m_nInterpDims
 number of dimensions that are interpolated: SpaceDim - m_fixedDims.size()
IntVect m_refineVect
 1 in m_fixedDims, m_refineCoarse in other dimensions
IntVect m_interpUnit
 0 in m_fixedDims, 1 in other dimensions
int m_numStates
 Number of variables.
int m_maxStencilDist
 maximum distance of stencil from domain boundary
Box m_stencilBox
 (-m_maxStencilDist*interpUnit, m_maxStencilDist*interpUnit)
int m_degree
 max degree of approximations
int m_numNonzeroPowers
 number of nonzero powers
int m_coarseGhostsFill
 number of layers of ghost cells at the coarser level whose fine cells are to be filled in
DisjointBoxLayout m_layout
 Box layout for finer level.
DisjointBoxLayout m_layoutCoarsened
 Box layout for coarser level: m_layout coarsened by m_refineVect.
BaseFab
< FourthOrderMappedCFInterpStencil * > 
m_stencils
 all possible stencils, on (-m_maxStencilDist:+m_maxStencilDist)^SpaceDim
LevelData< BaseFab< IntVect > > m_stencilHere
 on m_layoutCoarsened; which stencil to use at each coarse point
FArrayBox m_fineAvgPowers
 <(z - z0)^p>k for each fine cell k.
FArrayBox m_gradFineAvgPowers
 gradient of m_fineAvgPowers
IntVect m_ghostVect
 ghost vector on m_coarseData
IntVect m_coarseGhostVect
 ghost vector on coarsened fine data
Box m_fineBox
 IntVect::Zero to m_refineVect-interpUnit.
LevelData< FArrayBoxm_coarseData
 copied coarse data in interpToFine, lives on m_layoutCoarsened
LevelData< FArrayBoxm_JfineAvgPowers
 <J*(z - z0)^p>k for each fine cell k.
LevelData< FArrayBoxm_B
 B(i) = sum_{k in F(i)} (<J*zvec**pvec>k); m_numNonzeroPowers components.
LevelData< FArrayBoxm_normB
 2-norm of B(i); 1 component
LevelData< FArrayBoxm_alpha
LevelData< FArrayBoxm_beta
LevelData< FArrayBoxm_QRtau
LevelData< FArrayBoxm_FnLevJ
LevelData< FArrayBoxm_coeff0
LevelData< FArrayBoxm_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.
bool m_defined
 define() has been called
bool m_haveJ
 J has been set, together with all the arrays calculated from J.
bool m_haveCoeffs
 coefficients has been set, from call to setCrFnLevUandJU

Private Member Functions

void operator= (const FourthOrderMappedCFInterp &)
 FourthOrderMappedCFInterp (const FourthOrderMappedCFInterp &)

Constructor & Destructor Documentation

FourthOrderMappedCFInterp::FourthOrderMappedCFInterp (  ) 

Default constructor.

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

FourthOrderMappedCFInterp::~FourthOrderMappedCFInterp (  ) 

Destructor.

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

FourthOrderMappedCFInterp::FourthOrderMappedCFInterp ( const FourthOrderMappedCFInterp  )  [private]


Member Function Documentation

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.

Parameters:
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 
)

Parameters:
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 
)

Parameters:
a_CrFnLevU  <U> on coarsened fine grids
a_CrFnLevJU  <JU> on coarsened fine grids

void FourthOrderMappedCFInterp::interpToFineJU ( LevelData< FArrayBox > &  a_fineJU  ) 

Interpolate to <JU> on fine level.

Parameters:
a_fineJU  interpolated fine <JU>

void FourthOrderMappedCFInterp::setStencil ( BaseFab< IntVect > &  a_stencil,
const Box a_coarseBox 
) [protected]

void FourthOrderMappedCFInterp::getGradient ( FArrayBox a_gradFab,
const FArrayBox a_srcFab,
const Box a_bx 
) [protected]

void FourthOrderMappedCFInterp::clearMemory (  )  [protected]

void FourthOrderMappedCFInterp::freeJ (  )  [protected]

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


Member Data Documentation

Problem domain - index space for this level.

Refinement ratio between this level and the next coarser.

dimensions that are fixed, not interpolated

number of dimensions that are interpolated: SpaceDim - m_fixedDims.size()

1 in m_fixedDims, m_refineCoarse in other dimensions

0 in m_fixedDims, 1 in other dimensions

Number of variables.

maximum distance of stencil from domain boundary

(-m_maxStencilDist*interpUnit, m_maxStencilDist*interpUnit)

max degree of approximations

number of nonzero powers

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

Box layout for finer level.

Box layout for coarser level: m_layout coarsened by m_refineVect.

all possible stencils, on (-m_maxStencilDist:+m_maxStencilDist)^SpaceDim

on m_layoutCoarsened; which stencil to use at each coarse point

<(z - z0)^p>k for each fine cell k.

gradient of m_fineAvgPowers

ghost vector on m_coarseData

ghost vector on coarsened fine data

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.

2-norm of B(i); 1 component

Vector<Real> *m_A1[dit](cell, 0) has a component for each stencil cell.

define() has been called

J has been set, together with all the arrays calculated from J.

coefficients has been set, from call to setCrFnLevUandJU


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

Generated on Wed Apr 26 03:27:21 2017 for Chombo + EB + MF by  doxygen 1.5.5