ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
Public Member Functions | List of all members
ryujin::EquationOfStateLibrary::NobleAbelStiffenedGas Class Reference

#include <source/euler_aeos/equation_of_state_noble_abel_stiffened_gas.h>

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

Public Member Functions

 NobleAbelStiffenedGas (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 speed_of_sound (double rho, double e) const final
 
virtual double pressure (double rho, double e) const=0
 
virtual void pressure (const dealii::ArrayView< double > &p, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 
virtual double specific_internal_energy (double rho, double p) const=0
 
virtual void specific_internal_energy (const dealii::ArrayView< double > &e, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &p) const
 
virtual double speed_of_sound (double rho, double e) const=0
 
virtual void speed_of_sound (const dealii::ArrayView< double > &c, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 
virtual double temperature (double rho, double e) const=0
 
virtual void temperature (const dealii::ArrayView< double > &T, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 
- Public Member Functions inherited from ryujin::EquationOfStateLibrary::EquationOfState
 EquationOfState (const std::string &name, const std::string &subsection)
 
virtual double pressure (double rho, double e) const =0
 
virtual void pressure (const dealii::ArrayView< double > &p, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 
virtual double specific_internal_energy (double rho, double p) const =0
 
virtual void specific_internal_energy (const dealii::ArrayView< double > &e, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &p) const
 
virtual double temperature (double rho, double e) const =0
 
virtual void temperature (const dealii::ArrayView< double > &T, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 
virtual double speed_of_sound (double rho, double e) const =0
 
virtual void speed_of_sound (const dealii::ArrayView< double > &c, const dealii::ArrayView< double > &rho, const dealii::ArrayView< double > &e) const
 

Additional Inherited Members

- Protected Attributes inherited from ryujin::EquationOfStateLibrary::EquationOfState
double interpolation_b_
 
double interpolation_pinfty_
 
double interpolation_q_
 
bool prefer_vector_interface_
 

Detailed Description

The Noble-Abel-Stiffened gas equation of state

Definition at line 19 of file equation_of_state_noble_abel_stiffened_gas.h.

Constructor & Destructor Documentation

◆ NobleAbelStiffenedGas()

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

Member Function Documentation

◆ pressure() [1/3]

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

The pressure is given by

\begin{align} p = (\gamma - 1) \rho (e - q) / (1 - b \rho) - \gamma p_\infty \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 71 of file equation_of_state_noble_abel_stiffened_gas.h.

◆ specific_internal_energy() [1/3]

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

The specific internal energy is given by

\begin{align} e - q = (p + \gamma p_\infty) * (1 - b \rho) / (\rho (\gamma - 1)) \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 84 of file equation_of_state_noble_abel_stiffened_gas.h.

◆ temperature() [1/3]

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

The temperature is given by

\begin{align} T = (e - q - p_\infty (1 / rho - b)) / c_v \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 97 of file equation_of_state_noble_abel_stiffened_gas.h.

◆ speed_of_sound() [1/3]

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

Let \(X = (1 - b \rho)\). The speed of sound is given by

\begin{align} c^2 = \frac{\gamma (p + p_\infty)}{\rho X} = \frac{\gamma (\gamma -1)[\rho (e - q) - p_\infty X]}{\rho X^2} \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 109 of file equation_of_state_noble_abel_stiffened_gas.h.

◆ pressure() [2/3]

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

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

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ pressure() [3/3]

virtual void ryujin::EquationOfStateLibrary::EquationOfState::pressure ( const dealii::ArrayView< double > &  p,
const dealii::ArrayView< double > &  rho,
const dealii::ArrayView< double > &  e 
) const
inlinevirtual

Variant of above function operating on a contiguous range of values. The result is stored in the first argument p, overriding previous contents.

Note
The second and third arguments are writable as well. We need to perform some unit transformations for certain tabulated equation of state libraries, such as the sesame database. Rather than creating temporaries we override values in place.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 83 of file equation_of_state.h.

◆ specific_internal_energy() [2/3]

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.

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ specific_internal_energy() [3/3]

virtual void ryujin::EquationOfStateLibrary::EquationOfState::specific_internal_energy ( const dealii::ArrayView< double > &  e,
const dealii::ArrayView< double > &  rho,
const dealii::ArrayView< double > &  p 
) const
inlinevirtual

Variant of above function operating on a contiguous range of values. The result is stored in the first argument p, overriding previous contents.

Note
The second and third arguments are writable as well. We need to perform some unit transformations for certain tabulated equation of state libraries, such as the sesame database. Rather than creating temporaries we override values in place.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 114 of file equation_of_state.h.

◆ speed_of_sound() [2/3]

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

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

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ speed_of_sound() [3/3]

virtual void ryujin::EquationOfStateLibrary::EquationOfState::speed_of_sound ( const dealii::ArrayView< double > &  c,
const dealii::ArrayView< double > &  rho,
const dealii::ArrayView< double > &  e 
) const
inlinevirtual

Variant of above function operating on a contiguous range of values. The result is stored in the first argument p, overriding previous contents.

Note
The second and third arguments are writable as well. We need to perform some unit transformations for certain tabulated equation of state libraries, such as the sesame database. Rather than creating temporaries we override values in place.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 177 of file equation_of_state.h.

◆ temperature() [2/3]

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

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

Implements ryujin::EquationOfStateLibrary::EquationOfState.

◆ temperature() [3/3]

virtual void ryujin::EquationOfStateLibrary::EquationOfState::temperature ( const dealii::ArrayView< double > &  T,
const dealii::ArrayView< double > &  rho,
const dealii::ArrayView< double > &  e 
) const
inlinevirtual

Variant of above function operating on a contiguous range of values. The result is stored in the first argument T, overriding previous contents.

Note
The second and third arguments are writable as well. We need to perform some unit transformations for certain tabulated equation of state libraries, such as the sesame database. Rather than creating temporaries we override values in place.

Reimplemented from ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 146 of file equation_of_state.h.


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