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

#include <source/euler_aeos/equation_of_state_polytropic_gas.h>

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

Public Member Functions

 PolytropicGas (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, double e) const final
 
double speed_of_sound (double, 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 polytropic gas equation of state

Definition at line 19 of file equation_of_state_polytropic_gas.h.

Constructor & Destructor Documentation

◆ PolytropicGas()

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

Definition at line 27 of file equation_of_state_polytropic_gas.h.

Member Function Documentation

◆ pressure() [1/3]

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

The pressure is given by

\begin{align} p = (\gamma - 1) \rho e \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 51 of file equation_of_state_polytropic_gas.h.

◆ specific_internal_energy() [1/3]

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

The specific internal energy is given by

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

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 62 of file equation_of_state_polytropic_gas.h.

◆ temperature() [1/3]

double ryujin::EquationOfStateLibrary::PolytropicGas::temperature ( double  ,
double  e 
) const
inlinefinalvirtual

The temperature is given by

\begin{align} T = e / c_v \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 73 of file equation_of_state_polytropic_gas.h.

◆ speed_of_sound() [1/3]

double ryujin::EquationOfStateLibrary::PolytropicGas::speed_of_sound ( double  ,
double  e 
) const
inlinefinalvirtual

The speed of sound is given by

\begin{align} c^2 = \gamma * (\gamma - 1) e \end{align}

Implements ryujin::EquationOfStateLibrary::EquationOfState.

Definition at line 84 of file equation_of_state_polytropic_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: