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

Mixture variables for pressure-temperature-velocity (mechanical and thermal equilibrium) system of equations. More...

#include <MixPTUEq.h>

Inherits Mixture.

Collaboration diagram for MixPTUEq:
[legend]

Public Member Functions

 MixPTUEq ()
 MixPTUEq (tinyxml2::XMLElement *state, std::string fileName)
 Mixture constructor from a XML format reading.
 ~MixPTUEq () override
void allocateAndCopyMixture (Mixture **mixture) override
 Copy mixture attributes in mixture.
void copyMixture (Mixture &mixture) override
 Copy mixture in mixture attributes.
double computeDensity (const double *alphak, const double *rhok) override
 Compute mixture density.
double computePressure (const double *alphak, const double *pk) override
 Compute mixture pressure.
double computePressure (double *masses, const double &mixInternalEnerg, Phase **phases) override
double computeTemperature (double *masses, const double &pressure, Phase **phases) override
double computeInternalEnergy (const double *Yk, const double *ek) override
 Compute mixture specific internal energy.
double computeFrozenSoundSpeed (const double *Yk, const double *ck) override
 Compute mixture frozen speed of sound.
double computeTemperatureIsentrope (const std::vector< double > &Yk, const double &p0, const double &T0, const double &p, double *dTdp=0) override
 Compute temperature for a mixture evolving at thermal equilibrium along mixture isentropic path.
double computeEnthalpyIsentrope (const std::vector< double > &Yk, const double &p0, const double &T0, const double &p, double *dhdp=0) override
 Compute mixture enthalpy for a mixture evolving at thermal equilibrium along mixture isentropic path.
double computeVolumeIsentrope (const std::vector< double > &Yk, const double &p0, const double &T0, const double &p, double *dvdp=0) override
 Compute mixture specific volume for a mixture evolving at thermal equilibrium along mixture isentropic path.
void computeMixtureVariables (Phase **vecPhase) override
 Fills some mixture attributes from a phase array.
void computeTotalEnergy (std::vector< QuantitiesAddPhys * > &vecGPA) override
 Compute mixture total specific energy from internal one taking account for energies associated to extra physics.
void totalEnergyToInternalEnergy (std::vector< QuantitiesAddPhys * > &vecGPA) override
 Compute mixture internal specific energy from total one taking account for energies associated to extra physics.
void localProjection (const Coord &normal, const Coord &tangent, const Coord &binormal) override
 velocity vector projection in a local Cartesian coordinate system
void reverseProjection (const Coord &normal, const Coord &tangent, const Coord &binormal) override
 velocity vector reverse projection in the absolute Cartesian coordinate system
int getNumberScalars () const override
int getNumberVectors () const override
double returnScalar (const int &numVar) const override
Coord returnVector (const int &numVar) const override
std::string returnNameScalar (const int &numVar) const override
std::string returnNameVector (const int &numVar) const override
void setScalar (const int &numVar, const double &value) override
void setVector (const int &numVar, const Coord &value) override
int numberOfTransmittedVariables () const override
void fillBuffer (double *buffer, int &counter) const override
void fillBuffer (std::vector< double > &dataToSend) const override
void getBuffer (double *buffer, int &counter) override
void getBuffer (std::vector< double > &dataToReceive, int &counter) override
void computeSlopesMixture (const Mixture &sLeft, const Mixture &sRight, const double &distance) override
void setToZero () override
void setToMax () override
void extrapolate (const Mixture &slope, const double &distance) override
void limitSlopes (const Mixture &slopeGauche, const Mixture &slopeDroite, Limiter &globalLimiter) override
void setMin (const Mixture &mixture1, const Mixture &mixture2) override
void setMax (const Mixture &mixture1, const Mixture &mixture2) override
void computeGradientLimiter (const Limiter &globalLimiter, const Mixture &mixture, const Mixture &mixtureMin, const Mixture &mixtureMax, const Mixture &slope) override
int numberOfTransmittedSlopes () const override
void fillBufferSlopes (double *buffer, int &counter) const override
void getBufferSlopes (double *buffer, int &counter) override
const double & getDensity () const override
const double & getPressure () const override
const double & getTemperature () const override
const double & getU () const override
const double & getV () const override
const double & getW () const override
const Coord & getVelocity () const override
Coord & getVelocity () override
const double & getEnergy () const override
const double & getTotalEnergy () const override
const double & getMixSoundSpeed () const override
void setPressure (const double &p) override
void setVelocity (const double &u, const double &v, const double &w) override
void setVelocity (const Coord &vit) override
void setU (const double &u) override
void setV (const double &v) override
void setW (const double &w) override
void setTotalEnergy (double &totalEnergy) override
void setTemperature (const double &T) override
void changeSign () override
void multiplyAndAdd (const Mixture &slopesMixtureTemp, const double &coeff) override
void divide (const double &coeff) override
Public Member Functions inherited from Mixture
 Mixture ()
virtual ~Mixture ()
void printMixture (std::ofstream &fileStream) const
 Print mixture variables in file stream.
double computeTsat (const Eos *eosLiq, const Eos *eosVap, const double &pressure, double *dTsat=0)
 Compute saturation temperature for a liq/vapor couple of fluid at given pressure.
double computePsat (const Eos *eosLiq, const Eos *eosVap, const double &temp)
 Compute saturation pressure for a liq/vapor couple of fluid at given pressure.
double computeCriticalPressure (const Eos *eosLiq, const Eos *eosVap)
 Compute the theoritical critical pressure.
virtual double computePressure (double, const double &, Phase **, Mixture *, const int &, const int &)
virtual double computeVelocity (const double *, const double *)
 Compute mixture velocity.
virtual const double & getFrozenSoundSpeed () const
virtual const double & getWoodSoundSpeed () const
virtual const double & getEnergyCompaction () const
virtual const double & getEnergyElastic () const
virtual const Tensor & getStressTensor () const
virtual Tensor & getStressTensor ()
virtual void setEnergyCompaction (const double &)
virtual void setEnergyElastic (const double &)
virtual void setStressTensor (const Tensor &)

Private Attributes

double m_density
 mixture density
double m_pressure
 mixture pressure
Coord m_velocity
 mixture velocity
double m_temperature
 mixture temperature
double m_energy
 mixture internal specific energy
double m_totalEnergy
 mixture total specific energy
double m_PTUEqSoundSpeed
 mixture thermal equilibrium sound speed

Detailed Description

Mixture variables for pressure-temperature-velocity (mechanical and thermal equilibrium) system of equations.

Constructor & Destructor Documentation

◆ MixPTUEq() [1/2]

MixPTUEq::MixPTUEq ( )
Here is the caller graph for this function:

◆ MixPTUEq() [2/2]

MixPTUEq::MixPTUEq ( tinyxml2::XMLElement * state,
std::string fileName )

Mixture constructor from a XML format reading.

Reading data from XML file under the following format: ex: <mixture> <dataMix pressure = "1.e5" temperature = "300."> <velocity x = "0." y = "0." z = "0." > </mixture>

Parameters
stateXML element to read for mixture data
fileNamestring name of readed XML file
Here is the call graph for this function:

◆ ~MixPTUEq()

MixPTUEq::~MixPTUEq ( )
override

Member Function Documentation

◆ allocateAndCopyMixture()

void MixPTUEq::allocateAndCopyMixture ( Mixture ** )
overridevirtual

Copy mixture attributes in mixture.

Parameters
mixturedestination mixture variable

Reimplemented from Mixture.

Here is the call graph for this function:

◆ changeSign()

void MixPTUEq::changeSign ( )
overridevirtual

Reimplemented from Mixture.

◆ computeDensity()

double MixPTUEq::computeDensity ( const double * ,
const double *  )
overridevirtual

Compute mixture density.

Parameters
alphakphase volume fraction array
rhokphase density array
Returns
mixture density

Reimplemented from Mixture.

◆ computeEnthalpyIsentrope()

double MixPTUEq::computeEnthalpyIsentrope ( const std::vector< double > & ,
const double & ,
const double & ,
const double & ,
double * = 0 )
overridevirtual

Compute mixture enthalpy for a mixture evolving at thermal equilibrium along mixture isentropic path.

Parameters
Ykarray of mass fractions
p0initial pressure
T0initial temperature
pfinal pressure
dhdpderivative according to pressure
Returns
enthalpy after isentropic path

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computeFrozenSoundSpeed()

double MixPTUEq::computeFrozenSoundSpeed ( const double * ,
const double *  )
overridevirtual

Compute mixture frozen speed of sound.

Parameters
Ykphase mass fraction array
ckphase speed of sound array
Returns
mixture frozen speed of sound

Reimplemented from Mixture.

◆ computeGradientLimiter()

void MixPTUEq::computeGradientLimiter ( const Limiter & globalLimiter,
const Mixture & mixture,
const Mixture & mixtureMin,
const Mixture & mixtureMax,
const Mixture & slope )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computeInternalEnergy()

double MixPTUEq::computeInternalEnergy ( const double * ,
const double *  )
overridevirtual

Compute mixture specific internal energy.

Parameters
Ykphase mass fraction array
ekphase specific internal energy array
Returns
mixture specific internal energy

Reimplemented from Mixture.

◆ computeMixtureVariables()

void MixPTUEq::computeMixtureVariables ( Phase ** )
overridevirtual

Fills some mixture attributes from a phase array.

Parameters
vecPhasephase array

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computePressure() [1/2]

double MixPTUEq::computePressure ( const double * ,
const double *  )
overridevirtual

Compute mixture pressure.

Parameters
alphakphase volume fraction array
pkphase pressure array
Returns
mixture pressure

Reimplemented from Mixture.

◆ computePressure() [2/2]

double MixPTUEq::computePressure ( double * masses,
const double & mixInternalEnerg,
Phase ** phases )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computeSlopesMixture()

void MixPTUEq::computeSlopesMixture ( const Mixture & sLeft,
const Mixture & sRight,
const double & distance )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computeTemperature()

double MixPTUEq::computeTemperature ( double * masses,
const double & pressure,
Phase ** phases )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ computeTemperatureIsentrope()

double MixPTUEq::computeTemperatureIsentrope ( const std::vector< double > & ,
const double & ,
const double & ,
const double & ,
double * = 0 )
overridevirtual

Compute temperature for a mixture evolving at thermal equilibrium along mixture isentropic path.

Parameters
Ykarray of mass fractions
p0initial pressure
T0initial temperature
pfinal pressure
dTdpderivative according to pressure
Returns
temperature after isentropic path

Reimplemented from Mixture.

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

◆ computeTotalEnergy()

void MixPTUEq::computeTotalEnergy ( std::vector< QuantitiesAddPhys * > & )
overridevirtual

Compute mixture total specific energy from internal one taking account for energies associated to extra physics.

Parameters
vecGPAvector of additional physics variables

Reimplemented from Mixture.

◆ computeVolumeIsentrope()

double MixPTUEq::computeVolumeIsentrope ( const std::vector< double > & ,
const double & ,
const double & ,
const double & ,
double * = 0 )
overridevirtual

Compute mixture specific volume for a mixture evolving at thermal equilibrium along mixture isentropic path.

Parameters
Ykarray of mass fractions
p0initial pressure
T0initial temperature
pfinal pressure
dvdpderivative according to pressure
Returns
specific volume after isentropic path

Reimplemented from Mixture.

Here is the call graph for this function:

◆ copyMixture()

void MixPTUEq::copyMixture ( Mixture & )
overridevirtual

Copy mixture in mixture attributes.

Parameters
mixturesource mixture to copy

Reimplemented from Mixture.

Here is the call graph for this function:

◆ divide()

void MixPTUEq::divide ( const double & coeff)
overridevirtual

Reimplemented from Mixture.

◆ extrapolate()

void MixPTUEq::extrapolate ( const Mixture & slope,
const double & distance )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ fillBuffer() [1/2]

void MixPTUEq::fillBuffer ( double * buffer,
int & counter ) const
overridevirtual

Reimplemented from Mixture.

◆ fillBuffer() [2/2]

void MixPTUEq::fillBuffer ( std::vector< double > & dataToSend) const
overridevirtual

Reimplemented from Mixture.

◆ fillBufferSlopes()

void MixPTUEq::fillBufferSlopes ( double * buffer,
int & counter ) const
overridevirtual

Reimplemented from Mixture.

◆ getBuffer() [1/2]

void MixPTUEq::getBuffer ( double * buffer,
int & counter )
overridevirtual

Reimplemented from Mixture.

◆ getBuffer() [2/2]

void MixPTUEq::getBuffer ( std::vector< double > & dataToReceive,
int & counter )
overridevirtual

Reimplemented from Mixture.

◆ getBufferSlopes()

void MixPTUEq::getBufferSlopes ( double * buffer,
int & counter )
overridevirtual

Reimplemented from Mixture.

◆ getDensity()

const double & MixPTUEq::getDensity ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getEnergy()

const double & MixPTUEq::getEnergy ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getMixSoundSpeed()

const double & MixPTUEq::getMixSoundSpeed ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getNumberScalars()

int MixPTUEq::getNumberScalars ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getNumberVectors()

int MixPTUEq::getNumberVectors ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getPressure()

const double & MixPTUEq::getPressure ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getTemperature()

const double & MixPTUEq::getTemperature ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getTotalEnergy()

const double & MixPTUEq::getTotalEnergy ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getU()

const double & MixPTUEq::getU ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getV()

const double & MixPTUEq::getV ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getVelocity() [1/2]

const Coord & MixPTUEq::getVelocity ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ getVelocity() [2/2]

Coord & MixPTUEq::getVelocity ( )
inlineoverridevirtual

Reimplemented from Mixture.

◆ getW()

const double & MixPTUEq::getW ( ) const
inlineoverridevirtual

Reimplemented from Mixture.

◆ limitSlopes()

void MixPTUEq::limitSlopes ( const Mixture & slopeGauche,
const Mixture & slopeDroite,
Limiter & globalLimiter )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ localProjection()

void MixPTUEq::localProjection ( const Coord & ,
const Coord & ,
const Coord &  )
overridevirtual

velocity vector projection in a local Cartesian coordinate system

Parameters
normalnormal vector associated to the cell interface
tangenttangent vector associated to the cell interface
binormalbinormal vector associated to the cell interface

Reimplemented from Mixture.

◆ multiplyAndAdd()

void MixPTUEq::multiplyAndAdd ( const Mixture & slopesMixtureTemp,
const double & coeff )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ numberOfTransmittedSlopes()

int MixPTUEq::numberOfTransmittedSlopes ( ) const
overridevirtual

Reimplemented from Mixture.

◆ numberOfTransmittedVariables()

int MixPTUEq::numberOfTransmittedVariables ( ) const
overridevirtual

Reimplemented from Mixture.

◆ returnNameScalar()

std::string MixPTUEq::returnNameScalar ( const int & numVar) const
overridevirtual

Reimplemented from Mixture.

◆ returnNameVector()

std::string MixPTUEq::returnNameVector ( const int & numVar) const
overridevirtual

Reimplemented from Mixture.

◆ returnScalar()

double MixPTUEq::returnScalar ( const int & numVar) const
overridevirtual

Reimplemented from Mixture.

◆ returnVector()

Coord MixPTUEq::returnVector ( const int & numVar) const
overridevirtual

Reimplemented from Mixture.

◆ reverseProjection()

void MixPTUEq::reverseProjection ( const Coord & ,
const Coord & ,
const Coord &  )
overridevirtual

velocity vector reverse projection in the absolute Cartesian coordinate system

Parameters
normalnormal vector associated to the cell interface
tangenttangent vector associated to the cell interface
binormalbinormal vector associated to the cell interface

Reimplemented from Mixture.

◆ setMax()

void MixPTUEq::setMax ( const Mixture & mixture1,
const Mixture & mixture2 )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ setMin()

void MixPTUEq::setMin ( const Mixture & mixture1,
const Mixture & mixture2 )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ setPressure()

void MixPTUEq::setPressure ( const double & p)
overridevirtual

Reimplemented from Mixture.

◆ setScalar()

void MixPTUEq::setScalar ( const int & numVar,
const double & value )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ setTemperature()

void MixPTUEq::setTemperature ( const double & T)
overridevirtual

Reimplemented from Mixture.

◆ setToMax()

void MixPTUEq::setToMax ( )
overridevirtual

Reimplemented from Mixture.

◆ setTotalEnergy()

void MixPTUEq::setTotalEnergy ( double & totalEnergy)
overridevirtual

Reimplemented from Mixture.

◆ setToZero()

void MixPTUEq::setToZero ( )
overridevirtual

Reimplemented from Mixture.

◆ setU()

void MixPTUEq::setU ( const double & u)
overridevirtual

Reimplemented from Mixture.

◆ setV()

void MixPTUEq::setV ( const double & v)
overridevirtual

Reimplemented from Mixture.

◆ setVector()

void MixPTUEq::setVector ( const int & numVar,
const Coord & value )
overridevirtual

Reimplemented from Mixture.

Here is the call graph for this function:

◆ setVelocity() [1/2]

void MixPTUEq::setVelocity ( const Coord & vit)
overridevirtual

Reimplemented from Mixture.

◆ setVelocity() [2/2]

void MixPTUEq::setVelocity ( const double & u,
const double & v,
const double & w )
overridevirtual

Reimplemented from Mixture.

◆ setW()

void MixPTUEq::setW ( const double & w)
overridevirtual

Reimplemented from Mixture.

◆ totalEnergyToInternalEnergy()

void MixPTUEq::totalEnergyToInternalEnergy ( std::vector< QuantitiesAddPhys * > & )
overridevirtual

Compute mixture internal specific energy from total one taking account for energies associated to extra physics.

Parameters
vecGPAvector of additional physics variables

Reimplemented from Mixture.

Member Data Documentation

◆ m_density

double MixPTUEq::m_density
private

mixture density

◆ m_energy

double MixPTUEq::m_energy
private

mixture internal specific energy

◆ m_pressure

double MixPTUEq::m_pressure
private

mixture pressure

◆ m_PTUEqSoundSpeed

double MixPTUEq::m_PTUEqSoundSpeed
private

mixture thermal equilibrium sound speed

◆ m_temperature

double MixPTUEq::m_temperature
private

mixture temperature

◆ m_totalEnergy

double MixPTUEq::m_totalEnergy
private

mixture total specific energy

◆ m_velocity

Coord MixPTUEq::m_velocity
private

mixture velocity


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