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

Class describing a Van Der Waals equation of state. More...

#include <EosVDW.h>

Inherits Eos.

Collaboration diagram for EosVDW:
[legend]

Public Member Functions

 EosVDW (std::vector< std::string > &nameParameterEos, int &number)
 ~EosVDW () override
void assignParametersEos (std::string name, std::vector< double > parametersEos) override
 Assign the values of the attributes for EosVDW from data defined in the code.
double computeEnergyFromDensityAndTemperature (const double &density, const double &temperature) const override
 Compute internal energy.
double computeDensity (const double &pressure, const double &temperature) const override
 Compute pressure.
double computePressureFromDensityAndTemperature (const double &density, const double &temperature) const override
 Compute pressure.
double computeTemperature (const double &density, const double &pressure) const override
 Compute temperature.
double computeSquareSoundSpeed (const double &density, const double &energy) const override
 Compute squareSoundSpeed.
double computeEntropyFromDensityAndEnergy (const double &density, const double &energy) const override
 Compute Entropy from density and internal energy.
double computeEntropyFromDensityAndPressure (const double &density, const double &pressure) const override
 Compute Entropy from density and pressure.
double computeEntropyFromDensityAndTemperature (const double &density, const double &pressure) const override
 Compute Entropy from density and temperature.
double kappa (const double &density) const override
 Compute the Cappilary coefficient (kappa) from density.
double kappaPrime (const double &density) const override
 Compute the First derivative of the Cappilary coefficient (kappa) with respect to the density.
double kappaSecond (const double &density) const override
 Compute the Second derivative of the Cappilary coefficient (kappa) with respect to the density.
void verifyAndCorrectDensityMax (double &density) const override
 Do nothing for VDW.
TypeEOS getType () const override
 Get the type that is to say the reduced name of the EOS in ECOGEN.
Public Member Functions inherited from Eos
 Eos (int &number)
virtual ~Eos ()
const std::string & getName () const
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 double computeEnergy (const double &, const double &) const
 See derived classes.
virtual double computePressure (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 computePressureFromDensityAndEntropy (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 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.

Private Attributes

double m_r
 Universal constant of the fluid.
double m_a
 Constant parameter of VDW EOS.
double m_b
 Constant parameter of VDW EOS.
double m_gamma
 Not the polytropic constant !
double m_cv
 Capacité calorifique à volume constant.
double m_kappa
 Capillarity coefficient.
bool m_IsKappaConst
 Is the capillarity coefficient constant ?

Additional Inherited Members

Protected Attributes inherited from Eos
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

Class describing a Van Der Waals equation of state.

Constructor & Destructor Documentation

◆ EosVDW()

EosVDW::EosVDW ( std::vector< std::string > & nameParameterEos,
int & number )
Here is the call graph for this function:

◆ ~EosVDW()

EosVDW::~EosVDW ( )
override

Member Function Documentation

◆ assignParametersEos()

void EosVDW::assignParametersEos ( std::string name,
std::vector< double > parametersEos )
overridevirtual

Assign the values of the attributes for EosVDW from data defined in the code.

Parameters
namestring that contains the reduced name (sould be VDW)
parametersEosvector (size depending on the Eos, 6 for VDW)

Are assigned the following attributes: name, \( \Tc, \; Pc, \; r \; \gamma \; p_0 \; \rho_0 \). If the size of parameterEos \( \neq 3\) then the code aborts.

Implements Eos.

◆ computeDensity()

double EosVDW::computeDensity ( const double & pressure,
const double & temperature ) const
overridevirtual

Compute pressure.

Parameters
densitydensity ( \(\rho\))
energyenergy (e)
Returns
pressure

with pressure : \( p (\rho, e) */ double computePressure(const double& density, const double& energy) const override; /*! \brief Compute density \param pressure pressure (\)@_fakenlp \() \param temperature temperature (K) \return density \details with density : \) \rho (p, T)

Reimplemented from Eos.

◆ computeEnergyFromDensityAndTemperature()

double EosVDW::computeEnergyFromDensityAndTemperature ( const double & density,
const double & temperature ) const
overridevirtual

Compute internal energy.

Parameters
densitydensity ( \(\rho\))
pressurepressure (p)
Returns
internal energy

with internal energy : \( e (\rho, p) */ double computeEnergy(const double& density, const double& pressure) const override; /*! \brief Compute internal energy from density and temperature \param density density (\)\rho\f$)

Parameters
temperaturetemperature (T)
Returns
internal energy

with internal energy :

Reimplemented from Eos.

◆ computeEntropyFromDensityAndEnergy()

double EosVDW::computeEntropyFromDensityAndEnergy ( const double & density,
const double & energy ) const
overridevirtual

Compute Entropy from density and internal energy.

Parameters
densitydensity
energyenergy
Returns
entropy

Reimplemented from Eos.

◆ computeEntropyFromDensityAndPressure()

double EosVDW::computeEntropyFromDensityAndPressure ( const double & density,
const double & pressure ) const
overridevirtual

Compute Entropy from density and pressure.

Parameters
densitydensity
pressurepressure
Returns
entropy

Reimplemented from Eos.

◆ computeEntropyFromDensityAndTemperature()

double EosVDW::computeEntropyFromDensityAndTemperature ( const double & density,
const double & pressure ) const
overridevirtual

Compute Entropy from density and temperature.

Parameters
densitydensity
pressurepressure
Returns
entropy

Reimplemented from Eos.

◆ computePressureFromDensityAndTemperature()

double EosVDW::computePressureFromDensityAndTemperature ( const double & density,
const double & temperature ) const
overridevirtual

Compute pressure.

Parameters
densitydensity ( \(\rho\))
entropyentropy (s)
Returns
pressure

with pressure : \( p (\rho, s) */ double computePressureFromDensityAndEntropy(const double& density, const double& entropy) const override; /*! \brief Compute pressure \param density density (\)\rho\f$)

Parameters
temperaturetemperature ( \(T\))
Returns
pressure

with pressure :

Reimplemented from Eos.

◆ computeSquareSoundSpeed()

double EosVDW::computeSquareSoundSpeed ( const double & density,
const double & energy ) const
overridevirtual

Compute squareSoundSpeed.

Parameters
densitydensity ( \(\rho\))
entropyentropy (s)
Returns
squareSoundSpeed

Reimplemented from Eos.

◆ computeTemperature()

double EosVDW::computeTemperature ( const double & density,
const double & pressure ) const
overridevirtual

Compute temperature.

Parameters
densitydensity ( \(\rho\))
pressurepressure ( \(p\))
Returns
temperature

with temperature : \( T (\rho, p) = \frac{ (p + a * \rho^2) * ( 1 / \rho - b) }{ r } \)

Reimplemented from Eos.

◆ getType()

TypeEOS EosVDW::getType ( ) const
inlineoverridevirtual

Get the type that is to say the reduced name of the EOS in ECOGEN.

Returns
\( \ "VDW" \)

Reimplemented from Eos.

◆ kappa()

double EosVDW::kappa ( const double & density) const
overridevirtual

Compute the Cappilary coefficient (kappa) from density.

Parameters
densitydensity ( \(\rho\))
Returns
kappa

Reimplemented from Eos.

◆ kappaPrime()

double EosVDW::kappaPrime ( const double & density) const
overridevirtual

Compute the First derivative of the Cappilary coefficient (kappa) with respect to the density.

Parameters
densitydensity ( \(\rho\))
Returns
kappaPrime

Reimplemented from Eos.

◆ kappaSecond()

double EosVDW::kappaSecond ( const double & density) const
overridevirtual

Compute the Second derivative of the Cappilary coefficient (kappa) with respect to the density.

Parameters
densitydensity ( \(\rho\))
Returns
kappaSecond

Reimplemented from Eos.

◆ verifyAndCorrectDensityMax()

void EosVDW::verifyAndCorrectDensityMax ( double & density) const
overridevirtual

Do nothing for VDW.

Reimplemented from Eos.

Member Data Documentation

◆ m_a

double EosVDW::m_a
private

Constant parameter of VDW EOS.

◆ m_b

double EosVDW::m_b
private

Constant parameter of VDW EOS.

◆ m_cv

double EosVDW::m_cv
private

Capacité calorifique à volume constant.

◆ m_gamma

double EosVDW::m_gamma
private

Not the polytropic constant !

◆ m_IsKappaConst

bool EosVDW::m_IsKappaConst
private

Is the capillarity coefficient constant ?

◆ m_kappa

double EosVDW::m_kappa
private

Capillarity coefficient.

◆ m_r

double EosVDW::m_r
private

Universal constant of the fluid.


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