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

Class describing a polynomial equation of state. More...

#include <EosPolynomial.h>

Inherits Eos.

Public Member Functions

 EosPolynomial (std::vector< std::string > &nameParameterEos, int &number)
 
virtual ~EosPolynomial ()
 
virtual void assignParametersEos (std::string name, std::vector< double > parametersEos)
 Assign the values of the attributes for EosPolynomial from data defined in the code.
 
virtual double computePressure (const double &density, const double &) const
 Compute pressure.
 
virtual double dedrho (const double &density, const double &temperature) const
 Compute partial derivative dedrho.
 
virtual double dedrhoSecond (const double &density, const double &temperature) const
 Compute partial derivative dedrhoSecond.
 
virtual void verifyAndCorrectDensityMax (double &) const
 Do nothing for Polynomial.
 
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 computeTemperature (const double &, const double &) const
 See derived classes.
 
virtual double computeEnergy (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 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_a
 Constant parameter of polynomial EOS.
 
double m_b
 Constant parameter of polynomial EOS.
 
double m_c
 Constant parameter of polynomial EOS.
 

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 polynomial equation of state.

Constructor & Destructor Documentation

◆ EosPolynomial()

EosPolynomial::EosPolynomial ( std::vector< std::string > &  nameParameterEos,
int &  number 
)

◆ ~EosPolynomial()

EosPolynomial::~EosPolynomial ( )
virtual

Member Function Documentation

◆ assignParametersEos()

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

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

Parameters
namestring that contains the reduced name (should be Polynomial)
parametersEosvector (size depending on the Eos, 3 for polynomial)

Are assigned the following attributes: name, \( a, b, c\). If the size of parameterEos \( \neq 3\) then the code aborts.

Implements Eos.

◆ computePressure()

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

Compute pressure.

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

with pressure : \( p (\epsilon = \frac{1}{\rho} - 1) = 4 a \epsilon^3 + 3 b \epsilon^2 + 2 c \epsilon \)

Reimplemented from Eos.

◆ dedrho()

double EosPolynomial::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) = \frac{p}{\rho^2} \)

Reimplemented from Eos.

◆ dedrhoSecond()

double EosPolynomial::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) = \frac{1}{\rho^2} \frac{\partial p}{\partial \rho} - \frac{2}{\rho} \frac{\partial \epsilon}{\partial \rho} \)

Reimplemented from Eos.

◆ getType()

virtual TypeEOS EosPolynomial::getType ( ) const
inlinevirtual

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

Returns
\( \ "Polynomial" \)

Reimplemented from Eos.

◆ verifyAndCorrectDensityMax()

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

Do nothing for Polynomial.

Reimplemented from Eos.

Member Data Documentation

◆ m_a

double EosPolynomial::m_a
private

Constant parameter of polynomial EOS.

◆ m_b

double EosPolynomial::m_b
private

Constant parameter of polynomial EOS.

◆ m_c

double EosPolynomial::m_c
private

Constant parameter of polynomial EOS.


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