11 #ifndef _PATCHCONSOPERATOR_H_ 12 #define _PATCHCONSOPERATOR_H_ 24 #include "NamespaceHeader.H" 57 const int& a_numStates);
88 bool a_setFlattening);
107 void noPPM(
bool a_noPPM);
229 #include "NamespaceFooter.H" virtual void updateODE(FArrayBox &a_solnFab, const FArrayBox &a_rhsFab, Real a_dt)
update solution – soln += dt*rhs (required by LevelRK4)
void spaceOrder(int a_spaceOrder)
set spatial order of accuracy
bool m_hasCoarser
Definition: PatchConsOperator.H:195
Real m_artificialViscosity
Definition: PatchConsOperator.H:211
virtual void define(const ProblemDomain &a_domain, const Real &a_dx, const MOLPhysics *const a_molPhysics, const int &a_numStates)
Actual constructor.
void limitFaceValues(bool a_limitFaceValues)
if true, limit face values
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
bool m_limitFaceValues
Definition: PatchConsOperator.H:178
int m_numFluxes
Definition: PatchConsOperator.H:187
int m_numFluxesPerField
Definition: PatchConsOperator.H:192
Definition: MOLUtilities.H:32
virtual void addArtificialViscosity(FArrayBox &a_UnewFab, const FArrayBox &a_UoldFab, FluxBox &a_flux, Real a_weight)
add artificial viscosity to a_Unew
virtual bool isDefined() const
Is the object completely defined.
virtual void preRiemann(FArrayBox &a_WLeft, FArrayBox &a_WRight, int a_dir, const Box &a_box)
may be used in derived classes just before calling Riemann solver in direction a_dir ...
void noPPM(bool a_noPPM)
sets m_noPPM
Definition: MOLPhysics.H:37
void doFaceDeconvolution(bool a_doFaceDeconvolution)
sets m_doFaceDeconvolution
int m_numGhost
Definition: PatchConsOperator.H:189
ProblemDomain m_domain
Definition: PatchConsOperator.H:168
MOLUtilities m_util
Definition: PatchConsOperator.H:172
void numGhost(int a_numGhost)
sets m_numGhost, the number of ghost cells
int m_numFields
Definition: PatchConsOperator.H:190
virtual void setCurrentBox(const Box &a_currentBox)
Set the current box before calling evalRHS or addArtificialViscosity.
virtual void getFaceAvg(FluxBox &a_faceW, const FArrayBox &a_cellW, const FArrayBox &a_WofUavg, FArrayBox &a_flatteningFab, bool a_setFlattening)
finds face-centered W and limits it using Colella&Sekora limiter; also solves Riemann problem ...
bool m_hasFiner
Definition: PatchConsOperator.H:196
Real m_currentTime
Definition: PatchConsOperator.H:214
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
bool m_noPPM
Definition: PatchConsOperator.H:199
void doDeconvolution(bool a_doDeconvolution)
sets m_doDeconvolution
virtual void setCurrentTime(const Real &a_currentTime)
Set the current time before calling evalRHS or addArtificialViscosity.
void highOrderLimiter(bool a_highOrderLimiter)
PatchConsOperator()
Default constructor.
Real m_dx
Definition: PatchConsOperator.H:165
void useArtificialViscosity(bool a_useArtificialViscosity)
sets whether to use artificial viscosity (from divergence)
bool m_doFaceDeconvolution
Definition: PatchConsOperator.H:205
int m_spaceOrder
Definition: PatchConsOperator.H:175
double Real
Definition: REAL.H:33
Patch Cons Operator - a class for evaluating the Laplacian.
Definition: PatchConsOperator.H:30
void operator=(const PatchConsOperator &a_input)
bool m_isCurrentTimeSet
Definition: PatchConsOperator.H:215
void artificialViscosity(Real a_artificialViscosity)
sets coefficient of artificial viscosity (from divergence)
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
bool m_highOrderLimiter
Definition: PatchConsOperator.H:181
bool m_useArtificialViscosity
Definition: PatchConsOperator.H:208
virtual void getFluxDivergence(FArrayBox &a_LofU, const FluxBox &a_FfaceAvg)
virtual void reduceFlux(FluxBox &a_FfaceAvg, FluxBox &a_FfaceForGrad)
Definition: FArrayBox.H:45
bool m_isDefined
Definition: PatchConsOperator.H:162
virtual ~PatchConsOperator()
Destructor.
bool m_isCurrentBoxSet
Definition: PatchConsOperator.H:219
virtual void getNormalFlux(FluxBox &a_FfaceAvg, const FArrayBox &a_UavgFab, Real a_weight, bool a_setFlattening, FArrayBox &a_flatteningFab)
Evaluate the normal flux.
void useFlattening(bool a_useFlattening)
sets whether to flatten extrapolations to faces
bool m_doDeconvolution
Definition: PatchConsOperator.H:202
virtual void postRiemann(FArrayBox &a_Wface, int a_dir, const Box &a_box)
may be used in derived classes just after calling Riemann solver in direction a_dir ...
MOLPhysics * m_molPhysics
Definition: PatchConsOperator.H:170
virtual void getAllFluxes(FluxBox &a_FfaceAvg, FluxBox &a_FfaceCen, const FluxBox &a_WfaceAvg, const FluxBox &a_WfaceCen)
Box m_currentBox
Definition: PatchConsOperator.H:218
bool m_useFlattening
Definition: PatchConsOperator.H:184