11 #ifndef _LEVELGODUNOV_H_ 12 #define _LEVELGODUNOV_H_ 24 #include "NamespaceHeader.H" 58 const int& a_refineCoarse,
64 const int& a_normalPredOrder,
66 const bool& a_useFourthOrderSlopes,
68 const bool& a_usePrimLimiting,
70 const bool& a_useCharLimiting,
72 const bool& a_useFlattening,
74 const bool& a_useArtificialViscosity,
76 const Real& a_artificialViscosity,
78 const bool& a_hasCoarser,
80 const bool& a_hasFiner);
96 const Real& a_TCoarseOld,
100 const Real& a_TCoarseNew,
125 const Real& a_TCoarseOld,
129 const Real& a_TCoarseNew,
238 #include "NamespaceFooter.H"
int m_refineCoarse
Definition: LevelGodunov.H:198
void define(const DisjointBoxLayout &a_thisDisjointBoxLayout, const DisjointBoxLayout &a_coarserDisjointBoxLayout, const ProblemDomain &a_domain, const int &a_refineCoarse, const Real &a_dx, const GodunovPhysics *const a_godunovFactory, const int &a_normalPredOrder, const bool &a_useFourthOrderSlopes, const bool &a_usePrimLimiting, const bool &a_useCharLimiting, const bool &a_useFlattening, const bool &a_useArtificialViscosity, const Real &a_artificialViscosity, const bool &a_hasCoarser, const bool &a_hasFiner)
Actual constructor.
PiecewiseLinearFillPatch m_patcher
Definition: LevelGodunov.H:189
#define CH_SPACEDIM
Definition: SPACE.H:52
Real computeUpdate(LevelData< FArrayBox > &a_dU, LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, const LevelData< FArrayBox > &a_U, const LayoutData< FluxBox > &a_WHalf, const Real &a_time, const Real &a_dt)
Compute the increment in the conserved variables from face variables.
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
~LevelGodunov()
Destructor.
Real m_dx
Definition: LevelGodunov.H:192
Fills ghost cells by linear interpolation in space and time.
Definition: PiecewiseLinearFillPatch.H:128
GodunovPhysics * getGodunovPhysicsPtr()
Get the GodunovPhysics pointer from the PatchGodunov member.
A strange but true thing to make copying from one boxlayoutdata to another fast.
Definition: Copier.H:137
int m_numCons
Definition: LevelGodunov.H:201
bool m_usePrimLimiting
Definition: LevelGodunov.H:217
void operator=(const LevelGodunov &)
PatchGodunov m_patchGodunov
Definition: LevelGodunov.H:177
LevelData< FArrayBox > m_U
Definition: LevelGodunov.H:186
int m_numGhost
Definition: LevelGodunov.H:180
LevelGodunov()
Default constructor.
double Real
Definition: REAL.H:33
int m_numFluxes
Definition: LevelGodunov.H:204
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:31
const GodunovPhysics * getGodunovPhysicsPtrConst() const
bool m_useFourthOrderSlopes
Definition: LevelGodunov.H:214
bool m_isDefined
Definition: LevelGodunov.H:228
bool m_hasFiner
Definition: LevelGodunov.H:208
Definition: GodunovPhysics.H:40
LevelFluxRegister-A class to encapsulate a levels worth of flux registers.
Definition: LevelFluxRegister.H:29
bool m_useArtificialViscosity
Definition: LevelGodunov.H:224
void highOrderLimiter(bool a_highOrderLimiter)
Set whether to use high-order limiter.
int m_normalPredOrder
Definition: LevelGodunov.H:211
bool m_useCharLimiting
Definition: LevelGodunov.H:218
void computeWHalf(LayoutData< FluxBox > &a_WHalf, LevelData< FArrayBox > &a_U, 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)
Compute the time-centered values of the primitive variables on cell faces.
DisjointBoxLayout m_grids
Definition: LevelGodunov.H:174
Real m_artificialViscosity
Definition: LevelGodunov.H:225
Copier m_exchangeCopier
Definition: LevelGodunov.H:183
Real step(LevelData< FArrayBox > &a_U, LevelData< FArrayBox > a_flux[CH_SPACEDIM], LevelFluxRegister &a_finerFluxRegister, LevelFluxRegister &a_coarserFluxRegister, 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)
Take one timestep for this grid level.
Definition: PatchGodunov.H:33
ProblemDomain m_domain
Definition: LevelGodunov.H:195
Real getMaxWaveSpeed(const LevelData< FArrayBox > &a_U)
Return maximum wave speed.
Level Godunov - really a hyperbolic level integrator.
Definition: LevelGodunov.H:29
bool m_hasCoarser
Definition: LevelGodunov.H:207
bool m_useFlattening
Definition: LevelGodunov.H:221