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

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< FArrayBoxm_coarseData
 copied coarse data in interpToFine, lives on m_layoutCoarsened More...
 
LevelData< FArrayBoxm_JfineAvgPowers
 <J*(z - z0)^p>k for each fine cell k. More...
 
LevelData< FArrayBoxm_B
 B(i) = sum_{k in F(i)} (<J*zvec**pvec>k); m_numNonzeroPowers components. More...
 
LevelData< FArrayBoxm_normB
 2-norm of B(i); 1 component More...
 
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. 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 &)
 

Detailed Description

Fourth-order interpolation in space.

Constructor & Destructor Documentation

◆ FourthOrderMappedCFInterp() [1/2]

FourthOrderMappedCFInterp::FourthOrderMappedCFInterp ( )

Default constructor.

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

◆ ~FourthOrderMappedCFInterp()

FourthOrderMappedCFInterp::~FourthOrderMappedCFInterp ( )

Destructor.

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

◆ FourthOrderMappedCFInterp() [2/2]

FourthOrderMappedCFInterp::FourthOrderMappedCFInterp ( const FourthOrderMappedCFInterp )
private

Member Function Documentation

◆ define()

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_layoutlayout at finer level
a_numStatesnumber of variables
a_refineCoarserefinement ratio between finer level and coarser level
a_domainproblem domain on finer level
a_coarseGhostsFillnumber of coarse-level ghost cells
a_fixedDimsdimensions that are fixed, not interpolated

◆ setJ()

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

◆ setCrFnLevUandJU()

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

◆ interpToFineJU()

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

Interpolate to <JU> on fine level.

Parameters
a_fineJUinterpolated fine <JU>

◆ setStencil()

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

◆ getGradient()

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

◆ clearMemory()

void FourthOrderMappedCFInterp::clearMemory ( )
protected

◆ freeJ()

void FourthOrderMappedCFInterp::freeJ ( )
protected

◆ operator=()

void FourthOrderMappedCFInterp::operator= ( const FourthOrderMappedCFInterp )
private

Member Data Documentation

◆ m_domain

ProblemDomain FourthOrderMappedCFInterp::m_domain
protected

Problem domain - index space for this level.

◆ m_coarseDomain

ProblemDomain FourthOrderMappedCFInterp::m_coarseDomain
protected

◆ m_refineCoarse

int FourthOrderMappedCFInterp::m_refineCoarse
protected

Refinement ratio between this level and the next coarser.

◆ m_fixedDims

Interval FourthOrderMappedCFInterp::m_fixedDims
protected

dimensions that are fixed, not interpolated

◆ m_nInterpDims

int FourthOrderMappedCFInterp::m_nInterpDims
protected

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

◆ m_refineVect

IntVect FourthOrderMappedCFInterp::m_refineVect
protected

1 in m_fixedDims, m_refineCoarse in other dimensions

◆ m_interpUnit

IntVect FourthOrderMappedCFInterp::m_interpUnit
protected

0 in m_fixedDims, 1 in other dimensions

◆ m_numStates

int FourthOrderMappedCFInterp::m_numStates
protected

Number of variables.

◆ m_maxStencilDist

int FourthOrderMappedCFInterp::m_maxStencilDist
protected

maximum distance of stencil from domain boundary

◆ m_stencilBox

Box FourthOrderMappedCFInterp::m_stencilBox
protected

(-m_maxStencilDist*interpUnit, m_maxStencilDist*interpUnit)

◆ m_degree

int FourthOrderMappedCFInterp::m_degree
protected

max degree of approximations

◆ m_numNonzeroPowers

int FourthOrderMappedCFInterp::m_numNonzeroPowers
protected

number of nonzero powers

◆ m_coarseGhostsFill

int FourthOrderMappedCFInterp::m_coarseGhostsFill
protected

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

◆ m_layout

DisjointBoxLayout FourthOrderMappedCFInterp::m_layout
protected

Box layout for finer level.

◆ m_layoutCoarsened

DisjointBoxLayout FourthOrderMappedCFInterp::m_layoutCoarsened
protected

Box layout for coarser level: m_layout coarsened by m_refineVect.

◆ m_stencils

BaseFab<FourthOrderMappedCFInterpStencil*> FourthOrderMappedCFInterp::m_stencils
protected

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

◆ m_stencilHere

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

on m_layoutCoarsened; which stencil to use at each coarse point

◆ m_fineAvgPowers

FArrayBox FourthOrderMappedCFInterp::m_fineAvgPowers
protected

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

◆ m_gradFineAvgPowers

FArrayBox FourthOrderMappedCFInterp::m_gradFineAvgPowers
protected

gradient of m_fineAvgPowers

◆ m_ghostVect

IntVect FourthOrderMappedCFInterp::m_ghostVect
protected

ghost vector on m_coarseData

◆ m_coarseGhostVect

IntVect FourthOrderMappedCFInterp::m_coarseGhostVect
protected

ghost vector on coarsened fine data

◆ m_fineBox

Box FourthOrderMappedCFInterp::m_fineBox
protected

IntVect::Zero to m_refineVect-interpUnit.

◆ m_coarseData

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_coarseData
protected

copied coarse data in interpToFine, lives on m_layoutCoarsened

◆ m_JfineAvgPowers

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_JfineAvgPowers
protected

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

◆ m_B

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_B
protected

B(i) = sum_{k in F(i)} (<J*zvec**pvec>k); m_numNonzeroPowers components.

◆ m_normB

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_normB
protected

2-norm of B(i); 1 component

◆ m_alpha

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_alpha
protected

◆ m_beta

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_beta
protected

◆ m_QRtau

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_QRtau
protected

◆ m_FnLevJ

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_FnLevJ
protected

◆ m_coeff0

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_coeff0
protected

◆ m_coeffs

LevelData<FArrayBox> FourthOrderMappedCFInterp::m_coeffs
protected

◆ m_QRmatrix

LayoutData< BaseFab< Vector<Real>* >* > FourthOrderMappedCFInterp::m_QRmatrix
protected

◆ m_A1

LayoutData< BaseFab< Vector<Real>* >* > FourthOrderMappedCFInterp::m_A1
protected

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

◆ m_defined

bool FourthOrderMappedCFInterp::m_defined
protected

define() has been called

◆ m_haveJ

bool FourthOrderMappedCFInterp::m_haveJ
protected

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

◆ m_haveCoeffs

bool FourthOrderMappedCFInterp::m_haveCoeffs
protected

coefficients has been set, from call to setCrFnLevUandJU


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