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

#include <source/euler_aeos/equation_of_state_simple_macaw.h>

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

Public Member Functions

 SimpleMacaw (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
 
double speed_of_sound (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 simple MACAW equation of state. See: "A Simple MACAW Equation of State" by Aslam and Lozano (LA-UR-24-32805). This is a "simple" thermodynamically consistent equation of state. The default parameters are taken from Table 1 in reference and were used in calibrating a model for copper.

Definition at line 26 of file equation_of_state_simple_macaw.h.

Constructor & Destructor Documentation

◆ SimpleMacaw()

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

Member Function Documentation

◆ pressure() [1/2]

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

Let \(p_cold = A B ((v / v0)^{-(B+1)} -1)\), and let \(e_cold = A v_0 ((v / v0)^{-B} + B(v / v0) - (B + 1)\). The pressure is given by

\begin{align} p = p_cold + \Gamma_c * \rho * (e - e_cold) \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 79 of file equation_of_state_simple_macaw.h.

◆ specific_internal_energy() [1/2]

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

Let \(p_cold = A B ((v / v0)^{-(B+1)} -1)\), and let \(e_cold = A v_0 ((v / v0)^{-B} + B(v / v0) - (B + 1)\). The specific internal energy is given by

\begin{align} e = (p - p_cold) / (\rho * \Gamma_c) + e_cold \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 99 of file equation_of_state_simple_macaw.h.

◆ temperature() [1/2]

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

Let \(e_cold = A v_0 ((v / v0)^{-B} + B(v / v0) - (B + 1)\), and let \(\delta_e = e - e_cold\). The temperature is given by

\begin{align} T = (\delta_e + \sqrt(\delta_e(\delta_e + 4 cvInf T_0 (v / v0)^{-Gamma_c})) / (2 cvInf) \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 120 of file equation_of_state_simple_macaw.h.

◆ cold_curve_bound()

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

The cold curve bound is given by

\begin{align} e_cold = A v0((v / v0)^{-B} + (v / v0) B - (B+1)) \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 142 of file equation_of_state_simple_macaw.h.

◆ specific_entropy()

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

Let \(\tau = T * (v / v0)^{\Gamma_c} / T0\). The specific entropy is given by

\begin{align} s = cvInf (\tau / (1 + \tau) + \ln(1 + \tau)) \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 159 of file equation_of_state_simple_macaw.h.

◆ speed_of_sound() [1/2]

double ryujin::EquationOfStateLibrary::SimpleMacaw::speed_of_sound ( double  rho,
double  e 
) const
inlinefinalvirtual

Let \(c_cold = A B v0 (B+1) (v / v0)^{-B}\), and let \(e_cold = A v_0 ((v / v0)^{-B} + B(v / v0) - (B + 1)\). The speed of sound is given by

\begin{align} c^2 = c_cold + \Gamma_c(\Gamma_c + 1)(e - e_cold) \end{align}

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 185 of file equation_of_state_simple_macaw.h.

◆ 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() [2/2]

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: