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

Public Member Functions

 EosVDW (std::vector< std::string > &nameParameterEos, int &number)
 
virtual ~EosVDW ()
 
virtual void assignParametersEos (std::string name, std::vector< double > parametersEos)
 Assign the values of the attributes for EosVDW from data defined in the code.
 
virtual double computeEnergy (const double &density, const double &) const
 Compute internal energy.
 
virtual double computePressure (const double &density, const double &) const
 Compute pressure.
 
virtual double computeTemperature (const double &density, const double &) const
 Compute temperature.
 
virtual double dedrho (const double &density, const double &) const
 Compute partial derivative dedrho.
 
virtual double dedrhoSecond (const double &density, const double &) const
 Compute partial derivative dedrhoSecond.
 
virtual void verifyAndCorrectDensityMax (double &density) const
 Do nothing for VDW.
 
virtual TypeEOS getType () const
 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 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 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
 Polytropic constant.
 
double m_p0
 Reference pressure.
 
double m_rho0
 Reference density.
 

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 
)

◆ ~EosVDW()

EosVDW::~EosVDW ( )
virtual

Member Function Documentation

◆ assignParametersEos()

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

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.

◆ computeEnergy()

double EosVDW::computeEnergy ( const double &  density,
const double &  temperature 
) const
virtual

Compute internal energy.

Parameters
densitydensity ( \(\rho\))
temperaturetemperature (T)
Returns
internal energy

with internal energy : \( \epsilon (\rho, T) = - (r T log(\frac{1}{\rho} - b)) - \rho a \)

Reimplemented from Eos.

◆ computePressure()

double EosVDW::computePressure ( const double &  density,
const double &   
) const
virtual

Compute pressure.

Parameters
densitydensity ( \(\rho\))
temperaturetemperature (T)
Returns
pressure

with pressure : \( p (\rho, T) = \frac{\rho r T}{1 - \rho b} - \rho^2 a \) //KS//To update

Reimplemented from Eos.

◆ computeTemperature()

double EosVDW::computeTemperature ( const double &  density,
const double &  energy 
) const
virtual

Compute temperature.

Parameters
densitydensity ( \(\rho\))
energyenergy ( \(\epsilon\))
Returns
temperature

with temperature : \( T (\rho, \epsilon) = \frac{e + \rho a}{-r log(\frac{1}{\rho} - b})} \)

Reimplemented from Eos.

◆ dedrho()

double EosVDW::dedrho ( const double &  density,
const double &  temperature 
) const
virtual

Compute partial derivative dedrho.

Parameters
densitydensity ( \(\rho\))
temperaturetemperature (T)
Returns
dedrho

with dedrho : \( \frac{\partial \epsilon}{\partial \rho} (\rho, T) = \frac{r T}{\rho (1 - \rho b)} - a \) //KS//To update

Reimplemented from Eos.

◆ dedrhoSecond()

double EosVDW::dedrhoSecond ( const double &  density,
const double &  temperature 
) const
virtual

Compute partial derivative dedrhoSecond.

Parameters
densitydensity ( \(\rho\))
temperaturetemperature (T)
Returns
dedrhoSecond

with dedrhoSecond : \( \frac{\partial^2 \epsilon}{\partial \rho^2} (\rho, T) = \frac{r T (1 - 2 \rho b)}{\rho^2 (1 - \rho b)^2} \) //KS//To update

Reimplemented from Eos.

◆ getType()

virtual TypeEOS EosVDW::getType ( ) const
inlinevirtual

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

Returns
\( \ "VDW" \)

Reimplemented from Eos.

◆ verifyAndCorrectDensityMax()

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

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_gamma

double EosVDW::m_gamma
private

Polytropic constant.

◆ m_p0

double EosVDW::m_p0
private

Reference pressure.

◆ m_r

double EosVDW::m_r
private

Universal constant of the fluid.

◆ m_rho0

double EosVDW::m_rho0
private

Reference density.


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