ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
Eos Class Referenceabstract

General class for Equation of State (EOS). More...

#include <Eos.h>

Inherited by EosIG, EosNASG, EosNLS, EosPolynomial, EosSG, and EosVDW.

Public Member Functions

 Eos (int &number)
virtual ~Eos ()
const std::string & getName () const
virtual TypeEOS getType () const
 See derived classes.
const int & getNumber () const
 Return the number associated to the EOS.
void readPhysicalParameters (tinyxml2::XMLNode *element)
 Read physical parameters (viscosity, thermal conductivity....).
double computeEnthalpy (const double &density, const double &pressure) const
 Compute the enthalpy of the phase.
double computeTotalEnthalpy (const double &density, const double &pressure, const double &velX, const double &velY=0., const double &velZ=0.) const
 Compute the total enthalpy of the phase.
double computeTotalEnthalpy (const double &density, const double &pressure, const Coord &velocity) const
 Compute the total enthalpy of the phase.
const double & getMu () const
 Return the dynamic viscosity of the fluid return \( \mu \) (Unit: Pa.s).
const double & getLambda () const
 get the thermal conductivity of the fluid return \( \lambda \) (Unit: W/(m.K)).
void assignEpsilonForAlphaNull (bool alphaNull) const
 Assign the epsilonAlphaNull value for alphaNull option (alpha = 0 => epsilonAlphaNull != 0 ; alpha != 0 => epsilonAlphaNull = 0).
virtual void assignParametersEos (std::string name, std::vector< double > parametersEos)=0
 See derived classes.
virtual double computeTemperature (const double &, const double &) const
 See derived classes.
virtual double computeEnergy (const double &, const double &) const
 See derived classes.
virtual double computeEnergyFromDensityAndTemperature (const double &, const double &) const
 See derived classes.
virtual double computePressure (const double &, const double &) const
 See derived classes.
virtual double computeDensity (const double &, const double &) const
 See derived classes.
virtual double computeSoundSpeed (const double &, const double &) const
 See derived classes.
virtual double computeSquareSoundSpeed (const double &, const double &) const
 See derived classes.
virtual double computeInterfaceSoundSpeed (const double &, const double &, const double &) const
 See derived classes.
virtual double computeAcousticImpedance (const double &, const double &) const
 See derived classes.
virtual double computeDensityTimesInterfaceSoundSpeedSquare (const double &, const double &, const double &) const
 See derived classes.
virtual double computeEntropy (const double &, const double &) const
 See derived classes.
virtual double computeEntropyFromDensityAndEnergy (const double &, const double &) const
 See derived classes.
virtual double computeEntropyFromDensityAndPressure (const double &, const double &) const
 See derived classes.
virtual double computeEntropyFromDensityAndTemperature (const double &, const double &) const
 See derived classes.
virtual double computePressureFromDensityAndEntropy (const double &, const double &) const
 See derived classes.
virtual double computePressureFromDensityAndTemperature (const double &, const double &) const
 See derived classes.
virtual double computePressureIsentropic (const double &, const double &, const double &) const
 See derived classes.
virtual double computePressureHugoniot (const double &, const double &, const double &) const
 See derived classes.
virtual double computeDensityIsentropic (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual double computeDensityHugoniot (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual double computeDensityPfinal (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual double computeEnthalpyIsentropic (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual double computeDensitySaturation (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual double computeDensityEnergySaturation (const double &, const double &, const double &, double *=0) const
 See derived classes.
virtual void sendSpecialMixtureEos (double &, double &, double &, double &) const
 See derived classes.
virtual double vfpfh (const double &, const double &) const
 See derived classes.
virtual double dvdpch (const double &, const double &) const
 See derived classes.
virtual double dvdhcp (const double &) const
 See derived classes.
virtual double drhodpcT (const double &, const double &) const
 See derived classes.
virtual double dedrho (const double &, const double &) const
 See derived classes.
virtual double dedrhoSecond (const double &, const double &) const
 See derived classes.
virtual double kappa (const double &) const
 See derived classes.
virtual double kappaPrime (const double &) const
 See derived classes.
virtual double kappaSecond (const double &) const
 See derived classes.
virtual void verifyPressure (const double &, const std::string &=" ") const
virtual void verifyAndModifyPressure (double &) const
 See derived classes.
virtual void verifyAndCorrectDensityMax (const double &, double &, double &) const
 See derived classes.
virtual void verifyAndCorrectDensityMax (double &) const
 See derived classes.
virtual const double & getGamma () const
 See derived classes.
virtual const double & getPInf () const
 See derived classes.
virtual const double & getCv () const
 See derived classes.
virtual const double & getERef () const
 See derived classes.
virtual const double & getSRef () const
 See derived classes.

Protected Attributes

int m_number
 Corresponding number of the equation of state.
std::string m_name
 Name of the equation of state.
double m_mu
 Dynamic viscosity (kg/m/s or Pa.s).
double m_lambda
 Thermal conductivity (W/(m.K)).

Detailed Description

General class for Equation of State (EOS).

This is a pure virtual class: can not be instantiated.

This base class and its derived classes contain mainly computational functions to obtain thermodynamical values for each phase: pressure, temperature, internal energy...

In this ECOGEN release these are the EOS available:

ideal Gas (sub class EosIG), Stiffened (sub class EoSG), Noble-Abel Stiffened Gas (sub class EosNASG), Van der Waals (sub class EosVDW), polynomial (sub class EosPolynomial), NLS (sub class EosNLS).

Appropriate data for EOS leads to a large choice of gas, liquid or compressible solid.

Constructor & Destructor Documentation

◆ Eos()

Eos::Eos ( int & number)
Here is the caller graph for this function:

◆ ~Eos()

Eos::~Eos ( )
virtual

Member Function Documentation

◆ assignEpsilonForAlphaNull()

void Eos::assignEpsilonForAlphaNull ( bool alphaNull) const

Assign the epsilonAlphaNull value for alphaNull option (alpha = 0 => epsilonAlphaNull != 0 ; alpha != 0 => epsilonAlphaNull = 0).

Parameters
alphaNull\(\alpha = 0 \) (boolean value)

◆ assignParametersEos()

virtual void Eos::assignParametersEos ( std::string name,
std::vector< double > parametersEos )
pure virtual

See derived classes.

Implemented in EosIG, EosNASG, EosNLS, EosPolynomial, EosSG, and EosVDW.

Here is the caller graph for this function:

◆ computeAcousticImpedance()

virtual double Eos::computeAcousticImpedance ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensity()

virtual double Eos::computeDensity ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosSG, and EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensityEnergySaturation()

virtual double Eos::computeDensityEnergySaturation ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensityHugoniot()

virtual double Eos::computeDensityHugoniot ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensityIsentropic()

virtual double Eos::computeDensityIsentropic ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensityPfinal()

virtual double Eos::computeDensityPfinal ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ computeDensitySaturation()

virtual double Eos::computeDensitySaturation ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeDensityTimesInterfaceSoundSpeedSquare()

virtual double Eos::computeDensityTimesInterfaceSoundSpeedSquare ( const double & ,
const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeEnergy()

virtual double Eos::computeEnergy ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeEnergyFromDensityAndTemperature()

virtual double Eos::computeEnergyFromDensityAndTemperature ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:

◆ computeEnthalpy()

double Eos::computeEnthalpy ( const double & density,
const double & pressure ) const

Compute the enthalpy of the phase.

Parameters
densitydensity ( \(\rho \))
pressurepressure (p)
Returns
this -> h
Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeEnthalpyIsentropic()

virtual double Eos::computeEnthalpyIsentropic ( const double & ,
const double & ,
const double & ,
double * = 0 ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeEntropy()

virtual double Eos::computeEntropy ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ computeEntropyFromDensityAndEnergy()

virtual double Eos::computeEntropyFromDensityAndEnergy ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeEntropyFromDensityAndPressure()

virtual double Eos::computeEntropyFromDensityAndPressure ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:

◆ computeEntropyFromDensityAndTemperature()

virtual double Eos::computeEntropyFromDensityAndTemperature ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:

◆ computeInterfaceSoundSpeed()

virtual double Eos::computeInterfaceSoundSpeed ( const double & ,
const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ computePressure()

virtual double Eos::computePressure ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosNLS, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computePressureFromDensityAndEntropy()

virtual double Eos::computePressureFromDensityAndEntropy ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosPolynomial.

Here is the call graph for this function:

◆ computePressureFromDensityAndTemperature()

virtual double Eos::computePressureFromDensityAndTemperature ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:

◆ computePressureHugoniot()

virtual double Eos::computePressureHugoniot ( const double & ,
const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ computePressureIsentropic()

virtual double Eos::computePressureIsentropic ( const double & ,
const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ computeSoundSpeed()

virtual double Eos::computeSoundSpeed ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeSquareSoundSpeed()

virtual double Eos::computeSquareSoundSpeed ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeTemperature()

virtual double Eos::computeTemperature ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosSG, and EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeTotalEnthalpy() [1/2]

double Eos::computeTotalEnthalpy ( const double & density,
const double & pressure,
const Coord & velocity ) const

Compute the total enthalpy of the phase.

Parameters
densitydensity ( \(\rho \))
pressurepressure (p)
velocityvelocity vector (m/s)
Returns
this -> hTotal

hTotal is computed as : \(H_{total} = \epsilon (\rho, p) + \frac{p}{\rho} + \frac{1}{2}\bm{u}^2 \).

Here is the call graph for this function:

◆ computeTotalEnthalpy() [2/2]

double Eos::computeTotalEnthalpy ( const double & density,
const double & pressure,
const double & velX,
const double & velY = 0.,
const double & velZ = 0. ) const

Compute the total enthalpy of the phase.

Parameters
densitydensity ( \(\rho \))
pressurepressure (p)
velocityvelocity (m/s)
Returns
this -> hTotal

hTotal is computed as : \(H_{total} = \epsilon (\rho, p) + \frac{p}{\rho} + \frac{1}{2}u^2 \).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dedrho()

virtual double Eos::dedrho ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Here is the call graph for this function:

◆ dedrhoSecond()

virtual double Eos::dedrhoSecond ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Here is the call graph for this function:

◆ drhodpcT()

virtual double Eos::drhodpcT ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ dvdhcp()

virtual double Eos::dvdhcp ( const double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dvdpch()

virtual double Eos::dvdpch ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCv()

virtual const double & Eos::getCv ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the caller graph for this function:

◆ getERef()

virtual const double & Eos::getERef ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the caller graph for this function:

◆ getGamma()

virtual const double & Eos::getGamma ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the caller graph for this function:

◆ getLambda()

const double & Eos::getLambda ( ) const
inline

get the thermal conductivity of the fluid return \( \lambda \) (Unit: W/(m.K)).

Here is the caller graph for this function:

◆ getMu()

const double & Eos::getMu ( ) const
inline

Return the dynamic viscosity of the fluid return \( \mu \) (Unit: Pa.s).

Here is the caller graph for this function:

◆ getName()

const std::string & Eos::getName ( ) const
inline

◆ getNumber()

const int & Eos::getNumber ( ) const
inline

Return the number associated to the EOS.

Returns
m_number

◆ getPInf()

virtual const double & Eos::getPInf ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosNASG, and EosSG.

Here is the caller graph for this function:

◆ getSRef()

virtual const double & Eos::getSRef ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the caller graph for this function:

◆ getType()

virtual TypeEOS Eos::getType ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosSG, and EosVDW.

Here is the caller graph for this function:

◆ kappa()

virtual double Eos::kappa ( const double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kappaPrime()

virtual double Eos::kappaPrime ( const double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kappaSecond()

virtual double Eos::kappaSecond ( const double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosVDW.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readPhysicalParameters()

void Eos::readPhysicalParameters ( tinyxml2::XMLNode * element)

Read physical parameters (viscosity, thermal conductivity....).

Parameters
elementnode element of XML file
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendSpecialMixtureEos()

virtual void Eos::sendSpecialMixtureEos ( double & ,
double & ,
double & ,
double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ verifyAndCorrectDensityMax() [1/2]

virtual void Eos::verifyAndCorrectDensityMax ( const double & ,
double & ,
double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ verifyAndCorrectDensityMax() [2/2]

virtual void Eos::verifyAndCorrectDensityMax ( double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosSG, and EosVDW.

Here is the call graph for this function:

◆ verifyAndModifyPressure()

virtual void Eos::verifyAndModifyPressure ( double & ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verifyPressure()

virtual void Eos::verifyPressure ( const double & ,
const std::string & = " " ) const
inlinevirtual

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:

◆ vfpfh()

virtual double Eos::vfpfh ( const double & ,
const double &  ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_lambda

double Eos::m_lambda
protected

Thermal conductivity (W/(m.K)).

◆ m_mu

double Eos::m_mu
protected

Dynamic viscosity (kg/m/s or Pa.s).

◆ m_name

std::string Eos::m_name
protected

Name of the equation of state.

◆ m_number

int Eos::m_number
protected

Corresponding number of the equation of state.


The documentation for this class was generated from the following files:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Eos/Eos.h
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Eos/Eos.cpp