11 #ifndef _GODUNOVUTILITIES_H_ 12 #define _GODUNOVUTILITIES_H_ 20 #include "NamespaceHeader.H" 63 const int& a_numSlopes,
64 const bool& a_useLimiting,
76 const int& a_numSlopes,
109 const int& a_numSlopes,
113 const Box& a_centerBox,
114 const Box& a_entireBox,
134 const Real& a_dtbydx,
145 const int& a_numSlopes,
146 const bool& a_useLimiting,
164 const Real& a_dtbydx,
165 const int& a_numSlopes,
186 const int& a_numSlopes,
199 const int& a_numSlopes,
224 const int& a_numSlopes,
254 const int& a_presInd,
256 const Real& a_smallPres,
258 const int& a_bulkModulusInd,
391 #include "NamespaceFooter.H" void deconvolve(FArrayBox &a_avgFab, const FArrayBox &a_cellFab, int a_sign=1)
Deconvolve from cell-centered to cell-averaged data (or vice versa)
void slopeLimiterExtPreserving(FArrayBox &a_dW, const FArrayBox &a_dWMinus, const FArrayBox &a_dWPlus, const int &a_numSlopes, const Box &a_box, const int &a_dir)
extremum-preserving van Leer slope limiter.
void PPMLimiter(FArrayBox &a_dWMinus, FArrayBox &a_dWPlus, const FArrayBox &a_W, const int &a_numSlopes, const int &a_dir, const Box &a_box)
PPM Limiter.
void deconvolveFace(FluxBox &a_avgFlux, const FluxBox &a_cellFlux, int a_sign=1)
Deconvolve from face-centered to face-averaged data (or vice versa)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Definition: GodunovUtilities.H:31
void PPMNormalPred(FArrayBox &a_dWMinus, FArrayBox &a_dWPlus, const FArrayBox &a_Lambda, const Real &a_dtbydx, const int &a_numSlopes, const Box &a_box)
PPM normal predictor.
void applyFlattening(FArrayBox &a_dW, const FArrayBox &a_flat, const Box &a_box)
Apply the flattening to slopes.
GodunovUtilities()
Constructor.
void oneSidedDifferences(FArrayBox &a_dWMinus, FArrayBox &a_dWPlus, const FArrayBox &a_W, const int &a_dir, const Box &a_box)
Compute slopes (dW- and dW+) using one sided differences.
bool m_highOrderLimiter
Definition: GodunovUtilities.H:382
void highOrderLimiter(bool a_highOrderLimiter)
Set whether to use high-order limiter.
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
Structure for passing component ranges in code.
Definition: Interval.H:23
void divVelHO(FArrayBox &a_divVel, const FArrayBox &a_W, const int &a_dir, const Box &a_box, GodunovPhysics *a_physPtr)
Compute high-order face-centered velocity divergence for artificial viscosity.
ProblemDomain m_domain
Definition: GodunovUtilities.H:375
void operator=(const GodunovUtilities &)
void PPMFaceValues(FArrayBox &a_WFace, const FArrayBox &a_W, const int &a_numSlopes, const bool &a_useLimiting, const int &a_dir, const Box &a_box, const Real &a_time, const GodunovPhysics *a_physPtr=NULL)
PPM face-centered interpolant.
double Real
Definition: REAL.H:33
bool m_isDefined
Definition: GodunovUtilities.H:379
Real m_dx
Definition: GodunovUtilities.H:376
void PLMNormalPred(FArrayBox &a_dWCharMinus, FArrayBox &a_dWCharPlus, const FArrayBox &a_dWChar, const FArrayBox &a_Lambda, const Real &a_dtbydx, const Box &a_box)
PLM normal predictor.
Definition: GodunovPhysics.H:40
void divVel(FArrayBox &a_divVel, const FArrayBox &a_W, const Interval &a_velInt, const int &a_dir, const Box &a_box)
Compute face-centered velocity divergence.
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
bool useHighOrderLimiter() const
query whether we're using the high-order limiter
Definition: GodunovUtilities.H:232
void vanLeerSlopes(FArrayBox &a_dW, const FArrayBox &a_W, const int &a_numSlopes, const bool &a_useLimiting, const int &a_dir, const Box &a_box)
Compute componentwise van Leer slopes.
void slopeLimiter(FArrayBox &a_dW, const FArrayBox &a_dWMinus, const FArrayBox &a_dWPlus, const int &a_numSlopes, const Box &a_box)
van Leer slope limiter.
void fourthOrderSlopes(FArrayBox &a_dW4, const FArrayBox &a_W, const FArrayBox &a_dWvL, const int &a_numSlopes, const int &a_dir, const Box &a_box)
Compute fourth-order slopes.
~GodunovUtilities()
Destructor.
void computeFlattening(FArrayBox &a_flattening, const FArrayBox &a_W, const Interval &a_velInt, const int &a_presInd, const Real &a_smallPres, const int &a_bulkModulusInd, const Box &a_box)
Compute the slope flattening coefficients.
Definition: FArrayBox.H:45
void artificialViscosity(FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const Real &a_scale, const int &a_dir, const Box &a_box)
Compute face-centered artificial viscosity flux.
void slopes(FArrayBox &a_dWCent, FArrayBox &a_dWMinus, FArrayBox &a_dWPlus, const FArrayBox &a_W, const int &a_numSlopes, const int &a_dir, const Box &a_loBox, const Box &a_hiBox, const Box &a_centerBox, const Box &a_entireBox, const int &a_hasLo, const int &a_hasHi)
Compute slopes (dW (center), dW-, and dW+)
void define(const ProblemDomain &a_domain, const Real &a_dx)
Define the object.