11 #ifndef _MOLPHYSICS_H_ 12 #define _MOLPHYSICS_H_ 22 #include "NamespaceHeader.H" 89 const Box& a_box) = 0;
171 const Box& a_box) = 0;
178 const Box& a_box) = 0;
235 const Real& a_artificialViscosity,
236 const Real& a_currentTime,
274 #include "NamespaceFooter.H" PhysIBC * m_bc
Definition: MOLPhysics.H:265
virtual void copyTo(MOLPhysics *a_mol) const
Copy our values into one of us.
bool m_useFourthOrderArtificialViscosity
Definition: MOLPhysics.H:261
MOLUtilities m_util
Definition: MOLPhysics.H:257
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
virtual int numPrimitives() const =0
Number of primitive variables.
Real m_dx
Definition: MOLPhysics.H:254
virtual void soundSpeed(FArrayBox &a_speed, const FArrayBox &a_U, const Box &a_box)
Compute the maximum wave speed.
virtual int bulkModulusIndex()=0
Component index within the primitive variables of the bulk modulus.
Definition: MOLUtilities.H:32
virtual void define(const ProblemDomain &a_domain, const Real &a_dx)
Define the object.
virtual void consToPrim(FArrayBox &a_W, const FArrayBox &a_U, const Box &a_box)=0
Compute primitive variables from conserved variables.
virtual Vector< string > stateNames()=0
Names of the conserved variables.
Definition: MOLPhysics.H:37
virtual Real getFourthOrderArtificialViscosityParameter() const
Returns fourth-order artifical viscosity strong shock threshold.
virtual void getFlux(FArrayBox &a_flux, const FArrayBox &a_WHalf, const int &a_dir, const Box &a_box)
Compute the fluxes from primitive variable values on a face.
virtual bool isDefined() const
Is the object completely defined.
virtual void artVisc(FArrayBox &a_F, const FArrayBox &a_U, const Real &a_artificialViscosity, const Real &a_currentTime, const int &a_dir, const Box &a_box)
Compute the artificial viscosity contribution to the flux.
virtual void expressions(HDF5HeaderData &a_holder) const
Definition: MOLPhysics.H:241
virtual Real smallPressure()=0
Used to limit the absolute value of a "pressure" difference.
PhysIBC * getPhysIBC() const
Get the initial and boundary condition object.
Structure for passing component ranges in code.
Definition: Interval.H:23
virtual int pressureIndex()=0
Component index within the primitive variables of the pressure.
virtual void riemann(FArrayBox &a_WStar, const FArrayBox &a_WLeft, const FArrayBox &a_WRight, const FArrayBox &a_W, const Real &a_time, const int &a_dir, const Box &a_box)=0
Compute the solution to the Riemann problem.
ProblemDomain m_domain
Definition: MOLPhysics.H:253
virtual void setFourthOrderArtificialViscosityParameter(const Real &M0sq)
Defines fourth-order artifical viscosity strong shock threshold.
double Real
Definition: REAL.H:33
virtual MOLPhysics * new_molPhysics() const =0
Object factory for this class.
virtual int densityIndex()
Component index within the primitive variables of the density.
MOLPhysics & operator=(const MOLPhysics &a_input)
Real m_M0sq
Definition: MOLPhysics.H:262
virtual ~MOLPhysics()
Destructor.
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
virtual Interval vectorFluxInterval() const
Interval within the flux variables corresponding to vector flux.
virtual void setCurrentBox(const Box &a_currentBox)
Set the current box (default implementation - do nothing)
virtual bool fourthOrderArtificialViscosityIsDefined() const
Returns true if 4th-order artificial viscosity is defined.
Definition: FArrayBox.H:45
virtual int numConserved() const =0
Number of conserved variables.
virtual int numFluxes() const =0
Number of flux variables.
void setPhysIBC(PhysIBC *a_bc)
Set the initial and boundary condition object.
virtual Interval velocityInterval() const =0
Interval within the primitive variables corresponding to the velocities.
bool m_isDefined
Definition: MOLPhysics.H:250
Physical/domain initial and boundary conditions.
Definition: PhysIBC.H:33
virtual Real getMaxWaveSpeed(const FArrayBox &a_U, const Box &a_box)=0
Compute the maximum wave speed.
bool m_isBCSet
Definition: MOLPhysics.H:266