ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ryujin::EquationOfStateLibrary::JonesWilkinsLee Class Reference

#include <source/euler_aeos/equation_of_state_jones_wilkins_lee.h>

Inheritance diagram for ryujin::EquationOfStateLibrary::JonesWilkinsLee:
Inheritance graph
[legend]
Collaboration diagram for ryujin::EquationOfStateLibrary::JonesWilkinsLee:
Collaboration graph
[legend]

Public Member Functions

 JonesWilkinsLee (const std::string &subsection)
 
double pressure (double rho, double e) const final
 
double specific_internal_energy (double rho, double p) const final
 
double temperature (double rho, double e) const final
 
double cold_curve_bound (double rho) const final
 
double specific_entropy (double rho, double e) const final
 
virtual double pressure (double rho, double e) const=0
 
virtual double specific_internal_energy (double rho, double p) const=0
 
virtual double speed_of_sound (double, double) const
 
virtual double temperature (double, double) const
 
- Public Member Functions inherited from ryujin::EquationOfStateLibrary::EquationOfState
 EquationOfState (const std::string &name, const std::string &subsection)
 

Additional Inherited Members

- Protected Attributes inherited from ryujin::EquationOfStateLibrary::EquationOfState
double covolume_constant_
 
double interpolation_pinfty_
 
double interpolation_q_
 

Detailed Description

The Jones-Wilkins-Lee equation of state. See (16a) in: "JWL Equation of State" by Ralph Menikoff (LA-UR-15-29536). We are assuming that the reference temperature T_r is chosen such that E_r = 0. Default parameters taken from Table 1 in reference.

Definition at line 24 of file equation_of_state_jones_wilkins_lee.h.

Constructor & Destructor Documentation

◆ JonesWilkinsLee()

ryujin::EquationOfStateLibrary::JonesWilkinsLee::JonesWilkinsLee ( const std::string &  subsection)
inline

Definition at line 32 of file equation_of_state_jones_wilkins_lee.h.

Member Function Documentation

◆ pressure() [1/2]

double ryujin::EquationOfStateLibrary::JonesWilkinsLee::pressure ( double  rho,
double  e 
) const
inlinefinalvirtual

The pressure is given by

\begin{align} p = A(1 - \omega / R_1 \rho / \rho_0) e^{(-R_1 \rho_0 / \rho)} + B(1 - \omega / R_2 \rho/ \rho_0) e^{(-R_2 \rho_0 / \rho)} + \omega \rho (e + q_0) \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 75 of file equation_of_state_jones_wilkins_lee.h.

◆ specific_internal_energy() [1/2]

double ryujin::EquationOfStateLibrary::JonesWilkinsLee::specific_internal_energy ( double  rho,
double  p 
) const
inlinefinalvirtual

The specific internal energy is given by

\begin{align} \omega \rho (e + q0) = p - A(1 - \omega / R_1 \rho / \rho_0) e^{(-R_1 \rho_0 / \rho)} - B(1 - \omega / R_2 \rho/ \rho_0) e^{(-R_2 \rho_0 / \rho)} \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 96 of file equation_of_state_jones_wilkins_lee.h.

◆ temperature() [1/2]

double ryujin::EquationOfStateLibrary::JonesWilkinsLee::temperature ( double  rho,
double  e 
) const
inlinefinalvirtual

The temperature is given by

\begin{align} c_v T = e + q_0 - 1 / \rho_0 * (A / R_1 * e^{(-R_1 \rho_0 / \rho)} + B / R_2 * e^{(-R_2 \rho_0 / \rho)}) \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 115 of file equation_of_state_jones_wilkins_lee.h.

Referenced by specific_entropy().

◆ cold_curve_bound()

double ryujin::EquationOfStateLibrary::JonesWilkinsLee::cold_curve_bound ( double  rho) const
inlinefinalvirtual

The cold curve is given by

\begin{align} e_cold = v_0 * (A / R1 * exp(-R1 \rho_0 / \rho) + B / R2 * exp(-R2 \rho_0 / \rho) - q0 \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 133 of file equation_of_state_jones_wilkins_lee.h.

◆ specific_entropy()

double ryujin::EquationOfStateLibrary::JonesWilkinsLee::specific_entropy ( double  rho,
double  e 
) const
inlinefinalvirtual

The specific entropy is given by

\begin{align} s = cv * (\ln(T / T_0) + \omega \ln(rho_0 / \rho)) + s_0; \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 151 of file equation_of_state_jones_wilkins_lee.h.

References temperature().

◆ pressure() [2/2]

virtual double ryujin::EquationOfStateLibrary::EquationOfState::pressure ( double  rho,
double  e 
) const
virtual

Return the pressure given density rho and specific internal energy e.

Note
This function is implemented for every equation of state.

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ specific_internal_energy() [2/2]

virtual double ryujin::EquationOfStateLibrary::EquationOfState::specific_internal_energy ( double  rho,
double  p 
) const
virtual

Return the specific internal energy e for a given density rho and pressure p.

Note
This function is implemented for every equation of state.

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ speed_of_sound()

virtual double ryujin::EquationOfStateLibrary::EquationOfState::speed_of_sound ( double  ,
double   
) const
inlinevirtual

Return the sound speed c for a given density rho and specific internal energy e.

Note
This function might not be implemented for a given equation of state.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 123 of file equation_of_state.h.

◆ temperature() [2/2]

virtual double ryujin::EquationOfStateLibrary::EquationOfState::temperature ( double  ,
double   
) const
inlinevirtual

Return the temperature T for a given density rho and specific internal energy e.

Note
This function might not be implemented for a given equation of state.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 109 of file equation_of_state.h.


The documentation for this class was generated from the following file: