ECOGEN 4.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, 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 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 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 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 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).

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

Constructor & Destructor Documentation

◆ Eos()

Eos::Eos ( int &  number)

◆ ~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, EosPolynomial, EosSG, and EosVDW.

◆ computeAcousticImpedance()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensity()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensityEnergySaturation()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensityHugoniot()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensityIsentropic()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensityPfinal()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensitySaturation()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeDensityTimesInterfaceSoundSpeedSquare()

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

See derived classes.

Reimplemented in EosIG, EosSG, and EosNASG.

◆ computeEnergy()

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

See derived classes.

Reimplemented in EosVDW, EosIG, EosNASG, and EosSG.

◆ 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

◆ computeEnthalpyIsentropic()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeEntropy()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeInterfaceSoundSpeed()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computePressure()

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

See derived classes.

Reimplemented in EosPolynomial, EosVDW, EosIG, EosNASG, and EosSG.

◆ computePressureHugoniot()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computePressureIsentropic()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeSoundSpeed()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ computeTemperature()

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

See derived classes.

Reimplemented in EosVDW, EosIG, EosNASG, and EosSG.

◆ 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 \).

◆ 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 \).

◆ dedrho()

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

See derived classes.

Reimplemented in EosVDW, and EosPolynomial.

◆ dedrhoSecond()

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

See derived classes.

Reimplemented in EosVDW, and EosPolynomial.

◆ drhodpcT()

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

See derived classes.

Reimplemented in EosIG, EosSG, and EosNASG.

◆ dvdhcp()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ dvdpch()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ getCv()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ getERef()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ getGamma()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ getLambda()

const double & Eos::getLambda ( ) const
inline

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

◆ getMu()

const double & Eos::getMu ( ) const
inline

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

◆ 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.

◆ getSRef()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ getType()

virtual TypeEOS Eos::getType ( ) const
inlinevirtual

See derived classes.

Reimplemented in EosIG, EosNASG, EosPolynomial, EosSG, and EosVDW.

◆ readPhysicalParameters()

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

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

Parameters
elementnode element of XML file

◆ sendSpecialMixtureEos()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ verifyAndCorrectDensityMax() [1/2]

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

See derived classes.

Reimplemented in EosIG, EosSG, and EosNASG.

◆ verifyAndCorrectDensityMax() [2/2]

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

See derived classes.

Reimplemented in EosIG, EosPolynomial, EosSG, EosNASG, and EosVDW.

◆ verifyAndModifyPressure()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

◆ verifyPressure()

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

Reimplemented in EosIG, EosNASG, and EosSG.

◆ vfpfh()

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

See derived classes.

Reimplemented in EosIG, EosNASG, and EosSG.

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: