EquationOfStateUtils< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number > Class Template Referenceabstract

A base class for a collection of thermodynamic helper functions, which depend on the equation of state. More...

#include <eos_utils.hpp>

Inheritance diagram for MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >:
[legend]

Public Member Functions

virtual ~EquationOfStateUtils ()=default
 
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > calculate_thermodynamic_pressure (const ConservedVariablesType< dim, number > &conserved_variables) const =0
 Calculate the pressure from the conserved variables for a specific equation of state.
 
virtual DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > calculate_grad_T (const ConservedVariablesType< dim, number > &conserved_variables, const ConservedVariablesGradientType< dim, number > &grad_conserved_variables) const =0
 Calculate the gradient of the temperature from the conserved variables and their gradients for a specific equation of state.
 
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > calculate_speed_of_sound (const ConservedVariablesType< dim, number > &conserved_variables) const =0
 Calculate the speed of sound for a specific equation of state.
 
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > calculate_temperature (const ConservedVariablesType< dim, number > &conserved_variables) const =0
 Calculate the temperature for a specific equation of state.
 
DEAL_II_ALWAYS_INLINE dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > calculate_stress_tensor (const ConservedVariablesType< dim, number > &conserved_variables, const dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > &viscous_stress_tensor) const
 Calculate the total stress tensor from pressure contribution and viscous stress contribution sigma_ij = tau_ij - p * delta_ij.
 
DEAL_II_ALWAYS_INLINE ConservedVariablesType< dim, number > convert_conservative_into_primitive_variables (const ConservedVariablesType< dim, number > &u_cons) const
 Convert the given conservative variables (rho, momentum, total energy) to primitive variables (pressure, velocity, temperature).
 
virtual DEAL_II_ALWAYS_INLINE ConservedVariablesType< dim, number > convert_primitive_into_conservative_variables (const ConservedVariablesType< dim, number > &u_prim) const =0
 Convert the given primitive variables (pressure, velocity, temperature) to conservative variables (rho, momentum, total energy).
 
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > compute_inner_energy_from_pressure (const dealii::VectorizedArray< number > &pressure, const dealii::VectorizedArray< number > &density) const =0
 Calculate the inner energy from a given pressure.
 

Detailed Description

template<int dim, typename number>
class MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >

A base class for a collection of thermodynamic helper functions, which depend on the equation of state.

Constructor & Destructor Documentation

◆ ~EquationOfStateUtils()

template<int dim, typename number >
virtual MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::~EquationOfStateUtils ( )
virtualdefault

Member Function Documentation

◆ calculate_grad_T()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::calculate_grad_T ( const ConservedVariablesType< dim, number > &  conserved_variables,
const ConservedVariablesGradientType< dim, number > &  grad_conserved_variables 
) const
inlinepure virtual

Calculate the gradient of the temperature from the conserved variables and their gradients for a specific equation of state.

Parameters
conserved_variablesCurrent values of the conserved variables.
grad_conserved_variablesCurrent gradient of the conserved variables.
Returns
Current gradient of the temperature field.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >.

◆ calculate_speed_of_sound()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::calculate_speed_of_sound ( const ConservedVariablesType< dim, number > &  conserved_variables) const
inlinepure virtual

Calculate the speed of sound for a specific equation of state.

Parameters
conserved_variablesCurrent values of the conserved variables.
Returns
Speed of sound resulting from the values of the conserved variables.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >.

◆ calculate_stress_tensor()

template<int dim, typename number >
DEAL_II_ALWAYS_INLINE dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::calculate_stress_tensor ( const ConservedVariablesType< dim, number > &  conserved_variables,
const dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > &  viscous_stress_tensor 
) const
inline

Calculate the total stress tensor from pressure contribution and viscous stress contribution sigma_ij = tau_ij - p * delta_ij.

Parameters
conserved_variablesCurrent values of the conserved variables.
viscous_stress_tensorGiven viscous tress tensor.
Returns
Stress tensor resulting from the values and gradients of the conserved variables.

◆ calculate_temperature()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::calculate_temperature ( const ConservedVariablesType< dim, number > &  conserved_variables) const
inlinepure virtual

Calculate the temperature for a specific equation of state.

Parameters
conserved_variablesCurrent values of the conserved variables.
Returns
Temperature resulting from the values of the conserved variables.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >.

◆ calculate_thermodynamic_pressure()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::calculate_thermodynamic_pressure ( const ConservedVariablesType< dim, number > &  conserved_variables) const
inlinepure virtual

Calculate the pressure from the conserved variables for a specific equation of state.

Parameters
conserved_variablesCurrent values of the conserved variables.
Returns
Pressure resulting from the values of the conserved variables.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >.

◆ compute_inner_energy_from_pressure()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::compute_inner_energy_from_pressure ( const dealii::VectorizedArray< number > &  pressure,
const dealii::VectorizedArray< number > &  density 
) const
inlinepure virtual

Calculate the inner energy from a given pressure.

Parameters
pressureGiven pressure value.
densityGiven density value.
Returns
Inner energy resulting from the given pressure and density values.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >.

◆ convert_conservative_into_primitive_variables()

template<int dim, typename number >
DEAL_II_ALWAYS_INLINE ConservedVariablesType< dim, number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::convert_conservative_into_primitive_variables ( const ConservedVariablesType< dim, number > &  u_cons) const
inline

Convert the given conservative variables (rho, momentum, total energy) to primitive variables (pressure, velocity, temperature).

Parameters
u_consCurrent values in conservative variables formulation.
Returns
Current values in primitive variables formulation.

◆ convert_primitive_into_conservative_variables()

template<int dim, typename number >
virtual DEAL_II_ALWAYS_INLINE ConservedVariablesType< dim, number > MeltPoolDG::CompressibleFlow::EOS::EquationOfStateUtils< dim, number >::convert_primitive_into_conservative_variables ( const ConservedVariablesType< dim, number > &  u_prim) const
inlinepure virtual

Convert the given primitive variables (pressure, velocity, temperature) to conservative variables (rho, momentum, total energy).

Parameters
u_primCurrent values in primitive variables formulation.
Returns
Current values in conservative variables formulation.

Implemented in MeltPoolDG::CompressibleFlow::EOS::IdealGas< dim, number >, MeltPoolDG::CompressibleFlow::EOS::NobleAbelStiffenedGas< dim, number >, and MeltPoolDG::CompressibleFlow::EOS::StiffenedGas< dim, number >.


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