11 #ifndef _NWOQUADCFINTERP_H_ 12 #define _NWOQUADCFINTERP_H_ 20 #include "NamespaceHeader.H" 44 const int& a_numStates,
48 const int& a_refineCoarse,
50 const int& a_interpRadius)
52 define(a_thisDisjointBoxLayout, a_coarserDisjointBoxLayout,
53 a_numStates, a_coarseDomain, a_refineCoarse, a_interpRadius);
84 const int& a_numStates,
88 const int& a_refineCoarse,
90 const int& a_interpRadius);
157 const Real & a_coarValue,
170 const int & a_icomp);
177 if(((a_derivDir1 == 0) && (a_derivDir2 == 1)) || ((a_derivDir1 == 1) && (a_derivDir2 == 0)))
181 else if (((a_derivDir1 == 0) && (a_derivDir2 == 2)) || ((a_derivDir1 == 2) && (a_derivDir2 == 0)))
185 else if (((a_derivDir1 == 1) && (a_derivDir2 == 2)) || ((a_derivDir1 == 2) && (a_derivDir2 == 1)))
205 else if(a_index == 1)
210 else if(a_index == 2)
227 #include "NamespaceFooter.H" LayoutData< CFIVS > m_cfivs
coarsened ghost cells of fine patches
Definition: NWOQuadCFInterp.H:144
int m_numStates
number of variables
Definition: NWOQuadCFInterp.H:137
bool m_defined
whether define() has been called
Definition: NWOQuadCFInterp.H:116
IntVect m_refineVect
1 in m_fixedDims, m_refineCoarse in other dimensions
Definition: NWOQuadCFInterp.H:134
DisjointBoxLayout m_layout
box layout for this level
Definition: NWOQuadCFInterp.H:119
void homogeneousCoarseFineInterp(LevelData< FArrayBox > &a_fineData, int a_srcComp, int a_dstComp, int a_numComp)
fill ghostcells as if all the coarse data were zero (useful for multigrid)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
int m_refineCoarse
refinement ratio between this level and the next coarser
Definition: NWOQuadCFInterp.H:131
void operator=(const NWOQuadCFInterp &)
NWOQuadCFInterp(const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const int &a_numStates, const ProblemDomain &a_coarseDomain, const int &a_refineCoarse, const int &a_interpRadius)
Full constructor.
Definition: NWOQuadCFInterp.H:39
void getMixedDerivDirections(int &a_derivDir1, int &a_derivDir2, const int &a_index)
Definition: NWOQuadCFInterp.H:197
int getMixedIndex(int a_derivDir1, int a_derivDir2)
Definition: NWOQuadCFInterp.H:173
Fourth-order interpolation in time and space to ghost cells.
Definition: NWOQuadCFInterp.H:26
ProblemDomain m_coarseDomain
problem domain at the coarser level
Definition: NWOQuadCFInterp.H:128
NWOQuadCFInterp()
Default constructor.
Definition: NWOQuadCFInterp.H:33
~NWOQuadCFInterp()
Destructor.
Definition: NWOQuadCFInterp.H:61
double Real
Definition: REAL.H:33
void define(const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const int &a_numStates, const ProblemDomain &a_coarseDomain, const int &a_refineCoarse, const int &a_interpRadius)
Actual constructor.
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
DisjointBoxLayout m_layoutCoarsened
Definition: NWOQuadCFInterp.H:138
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
int m_interpRadius
number of layers of fine ghost cells to fill by interpolation
Definition: NWOQuadCFInterp.H:125
Definition: DataIndex.H:114
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Definition: FArrayBox.H:45
void coarseFineInterp(LevelData< FArrayBox > &a_fineData, const LevelData< FArrayBox > &a_coarseData, int a_srcComp, int a_dstComp, int a_numComp)
Interpolate in space only.
void interpOnPatch(FArrayBox &a_fineData, const FArrayBox &a_coarseData, const DataIndex &a_dit, int a_srcComp, int a_dstComp, int a_numComp)
LevelData< FArrayBox > m_coarsenedFineData
data on ghosted coarsened fine grids at intermediate time in fillInterp
Definition: NWOQuadCFInterp.H:141
DisjointBoxLayout m_coarseLayout
box layout for the coarse level
Definition: NWOQuadCFInterp.H:122
void getDerivs(RealVect &firstDerivs, RealVect &secondDerivs, RealVect &mixedDerivs, const FArrayBox &a_data, const IntVect &a_ivCoar, const Real &a_dx, const int &a_icomp)
void extrapolateValue(Real &a_fineValue, const Real &a_coarValue, const RealVect &a_firstDerivs, const RealVect &a_secondDerivs, const RealVect &a_mixedDerivs, const RealVect &a_distance)