11 #ifndef _LEVELADVECT_H_ 12 #define _LEVELADVECT_H_ 25 #include "NamespaceHeader.H" 68 const int& a_refineCoarse,
70 const bool& a_useLimiting,
74 const bool& a_hasCoarser,
76 const bool& a_hasFiner);
94 const Real& a_TCoarseOld,
98 const Real& a_TCoarseNew,
112 const FluxBox & a_advectionVel,
114 const Box& a_box)
const;
122 const Real& a_TCoarseOld,
126 const Real& a_TCoarseNew,
209 #include "NamespaceFooter.H"
AdvectPhysics * m_advectPhysics
physics class
Definition: LevelAdvect.H:149
bool m_useCharLimiting
whether to do slope limiting in the characteristic variables
Definition: LevelAdvect.H:188
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Fills ghost cells by linear interpolation in space and time.
Definition: PiecewiseLinearFillPatch.H:128
bool m_usePrimLimiting
whether to do slope limiting in the primitive variables
Definition: LevelAdvect.H:185
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:145
void fillGhost(LevelData< FArrayBox > &a_U, const LevelData< FArrayBox > &a_UCoarseOld, const Real &a_TCoarseOld, const LevelData< FArrayBox > &a_UCoarseNew, const Real &a_TCoarseNew, const Real &a_dt, const Real &a_time)
Fill in ghost cells by exchange at this level and then by interpolation from coarser level (if any)...
bool m_useFlattening
whether to do slope flattening - MUST BE USING 4th-order slopes
Definition: LevelAdvect.H:191
Real getMaxWaveSpeed(const LevelData< FArrayBox > &a_U, LevelData< FluxBox > &a_advectionVelocity)
Get maximum wave speed.
PiecewiseLinearFillPatch m_patcher
interpolator for filling in ghost cells from the next coarser level
Definition: LevelAdvect.H:158
bool m_useFourthOrderSlopes
whether to use 4th-order slope computations (otherwise, use 2nd order)
Definition: LevelAdvect.H:182
ProblemDomain m_domain
problem domain - index space for this level
Definition: LevelAdvect.H:164
int m_numCons
number of conserved variables (= 1)
Definition: LevelAdvect.H:176
int m_numGhost
number of ghost cells need locally for this level
Definition: LevelAdvect.H:152
DisjointBoxLayout m_grids
layout for this level
Definition: LevelAdvect.H:143
Advection integrator on a level.
Definition: LevelAdvect.H:30
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
Copier m_exchangeCopier
exchange copier
Definition: LevelAdvect.H:155
bool m_useArtificialViscosity
whether to apply artificial viscosity of a set value
Definition: LevelAdvect.H:194
int m_normalPredOrder
order of normal predictor
Definition: LevelAdvect.H:179
bool m_isDefined
whether this object has been defined
Definition: LevelAdvect.H:200
bool m_hasCoarser
whether a coarser level exists
Definition: LevelAdvect.H:170
double Real
Definition: REAL.H:33
PatchGodunov m_patchGodunov
patch integrator
Definition: LevelAdvect.H:146
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
LevelFluxRegister-A class to encapsulate a levels worth of flux registers.
Definition: LevelFluxRegister.H:29
Real m_artificialViscosity
artificial viscosity coefficient
Definition: LevelAdvect.H:197
A class derived from GodunovPhysics for simple advection-diffusion problems.
Definition: AdvectPhysics.H:22
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
void operator=(const LevelAdvect &)
bool m_hasFiner
whether a finer level exists
Definition: LevelAdvect.H:173
Real step(LevelData< FArrayBox > &a_U, LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, LevelData< FluxBox > &a_advectionVelocity, const LevelData< FArrayBox > &a_S, const LevelData< FArrayBox > &a_UCoarseOld, const Real &a_TCoarseOld, const LevelData< FArrayBox > &a_UCoarseNew, const Real &a_TCoarseNew, const Real &a_time, const Real &a_dt)
Advance the solution by one timestep on this grid level.
int m_refineCoarse
refinement ratio between this level and the next coarser
Definition: LevelAdvect.H:167
~LevelAdvect()
Destructor.
Definition: LevelAdvect.H:49
Definition: FArrayBox.H:45
LevelAdvect()
Default constructor.
Definition: LevelAdvect.H:37
Definition: PatchGodunov.H:33
Real m_dx
grid spacing
Definition: LevelAdvect.H:161
void define(const AdvectPhysics &a_gphys, const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const ProblemDomain &a_domain, const int &a_refineCoarse, const bool &a_useLimiting, const Real &a_dx, const bool &a_hasCoarser, const bool &a_hasFiner)
Actual constructor.
void averageVelToCC(FArrayBox &a_normalVel, const FluxBox &a_advectionVel, const Box &a_box) const
Convert velocity from face-centered to cell-centered.