ryujin 2.1.1 revision d1a5601757449924e68a428cfd892dfe8915810d
Public Member Functions | Protected Attributes | List of all members
ryujin::EquationOfStateLibrary::EquationOfState Class Referenceabstract

#include <source/euler_aeos/equation_of_state.h>

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

Public Member Functions

 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
 

Protected Attributes

double interpolation_b_
 
bool prefer_vector_interface_
 

Detailed Description

A small abstract base class to group configuration options for an equation of state.

Definition at line 29 of file equation_of_state.h.

Constructor & Destructor Documentation

◆ EquationOfState()

ryujin::EquationOfStateLibrary::EquationOfState::EquationOfState ( const std::string &  name,
const std::string &  subsection 
)
inline

Constructor taking EOS name name and a subsection subsection as an argument. The dealii::ParameterAcceptor is initialized with the subsubsection subsection + "/" + name.

Definition at line 37 of file equation_of_state.h.

References interpolation_b_, and prefer_vector_interface_.

Member Function Documentation

◆ pressure() [1/2]

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

◆ pressure() [2/2]

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.

Definition at line 71 of file equation_of_state.h.

References pressure().

◆ specific_internal_energy() [1/2]

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

◆ specific_internal_energy() [2/2]

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.

Definition at line 102 of file equation_of_state.h.

References specific_internal_energy().

◆ temperature() [1/2]

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

◆ temperature() [2/2]

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.

Definition at line 134 of file equation_of_state.h.

References temperature().

◆ speed_of_sound() [1/2]

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

◆ speed_of_sound() [2/2]

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.

Definition at line 165 of file equation_of_state.h.

References speed_of_sound().

Member Data Documentation

◆ interpolation_b_

double ryujin::EquationOfStateLibrary::EquationOfState::interpolation_b_
protected

Return the interpolation co-volume constant (b). Return a boolean indicating whether the dealii::ArrayView<double> variants for the pressure(), specific_internal_energy(), and speed_of_sound() functions should be preferred.

Ordinarily we use the single-valued signatures for pre-computation because this leads to slightly better throughput (due to better memory locality with how we store precomputed values) and less memory consumption. On the other hand, some tabulated equation of state libraries work best with a single call and a large dataset. Return the name of the EOS as (const reference) std::string

Definition at line 204 of file equation_of_state.h.

Referenced by EquationOfState(), ryujin::EquationOfStateLibrary::NobleAbelStiffenedGas::NobleAbelStiffenedGas(), and ryujin::EquationOfStateLibrary::VanDerWaals::VanDerWaals().

◆ prefer_vector_interface_

bool ryujin::EquationOfStateLibrary::EquationOfState::prefer_vector_interface_
protected

Definition at line 205 of file equation_of_state.h.

Referenced by EquationOfState().


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