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

Abstract class for mixture variables. More...

#include <Mixture.h>

Inherited by MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.

Public Member Functions

 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 void allocateAndCopyMixture (Mixture **)
 Copy mixture attributes in mixture.
 
virtual void copyMixture (Mixture &)
 Copy mixture in mixture attributes.
 
virtual double computeDensity (const double *, const double *)
 Compute mixture density.
 
virtual double computePressure (const double *, const double *)
 Compute mixture pressure.
 
virtual double computePressure (double *, const double &, Phase **)
 
virtual double computePressure (double, const double &, Phase **, Mixture *, const int &, const int &)
 
virtual double computeTemperature (double *, const double &, Phase **)
 
virtual double computeInternalEnergy (const double *, const double *)
 Compute mixture specific internal energy.
 
virtual double computeFrozenSoundSpeed (const double *, const double *)
 Compute mixture frozen speed of sound.
 
virtual double computeTemperatureIsentrope (const double *, const double &, const double &, const double &, double *=0)
 Compute temperature for a mixture evolving at thermal equilibrium along mixture isentropic path.
 
virtual double computeEnthalpyIsentrope (const double *, const double &, const double &, const double &, double *=0)
 Compute mixture enthalpy for a mixture evolving at thermal equilibrium along mixture isentropic path.
 
virtual double computeVolumeIsentrope (const double *, const double &, const double &, const double &, double *=0)
 Compute mixture specific volume for a mixture evolving at thermal equilibrium along mixture isentropic path.
 
virtual void computeMixtureVariables (Phase **)
 Fills some mixture attributes from a phase array.
 
virtual void computeTotalEnergy (std::vector< QuantitiesAddPhys * > &)
 Compute mixture total specific energy from internal one taking account for energies associated to extra physics.
 
virtual void totalEnergyToInternalEnergy (std::vector< QuantitiesAddPhys * > &)
 Compute mixture internal specific energy from total one taking account for energies associated to extra physics.
 
virtual void localProjection (const Coord &, const Coord &, const Coord &)
 velocity vector projection in a local Cartesian coordinate system
 
virtual void reverseProjection (const Coord &, const Coord &, const Coord &)
 velocity vector reverse projection in the absolute Cartesian coordinate system
 
virtual int getNumberScalars () const
 
virtual int getNumberVectors () const
 
virtual double returnScalar (const int &) const
 
virtual Coord returnVector (const int &) const
 
virtual std::string returnNameScalar (const int &) const
 
virtual std::string returnNameVector (const int &) const
 
virtual void setScalar (const int &, const double &)
 
virtual void setVector (const int &, const Coord &)
 
virtual int numberOfTransmittedVariables () const
 
virtual void fillBuffer (double *, int &) const
 
virtual void fillBuffer (std::vector< double > &) const
 
virtual void getBuffer (double *, int &)
 
virtual void getBuffer (std::vector< double > &, int &)
 
virtual void computeSlopesMixture (const Mixture &, const Mixture &, const double &)
 
virtual void setToZero ()
 
virtual void setToMax ()
 
virtual void extrapolate (const Mixture &, const double &)
 
virtual void limitSlopes (const Mixture &, const Mixture &, Limiter &)
 
virtual void setMin (const Mixture &, const Mixture &)
 
virtual void setMax (const Mixture &, const Mixture &)
 
virtual void computeGradientLimiter (const Limiter &, const Mixture &, const Mixture &, const Mixture &, const Mixture &)
 
virtual int numberOfTransmittedSlopes () const
 
virtual void fillBufferSlopes (double *, int &) const
 
virtual void getBufferSlopes (double *, int &)
 
virtual const double & getDensity () const
 
virtual const double & getPressure () const
 
virtual const double & getTemperature () const
 
virtual const double & getU () const
 
virtual const double & getV () const
 
virtual const double & getW () const
 
virtual const CoordgetVelocity () const
 
virtual CoordgetVelocity ()
 
virtual const double & getEnergy () const
 
virtual const double & getTotalEnergy () const
 
virtual const double & getFrozenSoundSpeed () const
 
virtual const double & getWoodSoundSpeed () const
 
virtual const double & getMixSoundSpeed () const
 
virtual const double & getEnergyCompaction () const
 
virtual const double & getEnergyElastic () const
 
virtual const TensorgetStressTensor () const
 
virtual TensorgetStressTensor ()
 
virtual void setPressure (const double &)
 
virtual void setTemperature (const double &)
 
virtual void setVelocity (const double &, const double &, const double &)
 
virtual void setVelocity (const Coord &)
 
virtual void setU (const double &)
 
virtual void setV (const double &)
 
virtual void setW (const double &)
 
virtual void setTotalEnergy (double &)
 
virtual void setEnergyCompaction (const double &)
 
virtual void setEnergyElastic (const double &)
 
virtual void setStressTensor (const Tensor &)
 
virtual void changeSign ()
 
virtual void multiplyAndAdd (const Mixture &, const double &)
 
virtual void divide (const double &)
 

Detailed Description

Abstract class for mixture variables.

Constructor & Destructor Documentation

◆ Mixture()

Mixture::Mixture ( )

◆ ~Mixture()

Mixture::~Mixture ( )
virtual

Member Function Documentation

◆ allocateAndCopyMixture()

virtual void Mixture::allocateAndCopyMixture ( Mixture **  )
inlinevirtual

Copy mixture attributes in mixture.

Parameters
mixturedestination mixture variable

Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixNonLinearSchrodinger, MixPTUEq, MixPUEq, MixUEq, and MixUEqTotEnergy.

◆ changeSign()

virtual void Mixture::changeSign ( )
inlinevirtual

◆ computeCriticalPressure()

double Mixture::computeCriticalPressure ( const Eos eosLiq,
const Eos eosVap 
)

Compute the theoritical critical pressure.

Parameters
eosLiqpointer to equation of state of liquid phase
eosVappointer to equation of state of vapor phase

◆ computeDensity()

virtual double Mixture::computeDensity ( const double *  ,
const double *   
)
inlinevirtual

Compute mixture density.

Parameters
alphakphase volume fraction array
rhokphase density array
Returns
mixture density

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ computeEnthalpyIsentrope()

virtual double Mixture::computeEnthalpyIsentrope ( const double *  ,
const double &  ,
const double &  ,
const double &  ,
double *  = 0 
)
inlinevirtual

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 in MixPTUEq.

◆ computeFrozenSoundSpeed()

virtual double Mixture::computeFrozenSoundSpeed ( const double *  ,
const double *   
)
inlinevirtual

Compute mixture frozen speed of sound.

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

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ computeGradientLimiter()

virtual void Mixture::computeGradientLimiter ( const Limiter ,
const Mixture ,
const Mixture ,
const Mixture ,
const Mixture  
)
inlinevirtual

Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.

◆ computeInternalEnergy()

virtual double Mixture::computeInternalEnergy ( const double *  ,
const double *   
)
inlinevirtual

Compute mixture specific internal energy.

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

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ computeMixtureVariables()

virtual void Mixture::computeMixtureVariables ( Phase **  )
inlinevirtual

Fills some mixture attributes from a phase array.

Parameters
vecPhasephase array

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ computePressure() [1/3]

virtual double Mixture::computePressure ( const double *  ,
const double *   
)
inlinevirtual

Compute mixture pressure.

Parameters
alphakphase volume fraction array
pkphase pressure array
Returns
mixture pressure

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ computePressure() [2/3]

virtual double Mixture::computePressure ( double *  ,
const double &  ,
Phase **   
)
inlinevirtual

Reimplemented in MixPTUEq.

◆ computePressure() [3/3]

virtual double Mixture::computePressure ( double  ,
const double &  ,
Phase **  ,
Mixture ,
const int &  ,
const int &   
)
inlinevirtual

Reimplemented in MixEulerHomogeneous.

◆ computePsat()

double Mixture::computePsat ( const Eos eosLiq,
const Eos eosVap,
const double &  temp 
)

Compute saturation pressure for a liq/vapor couple of fluid at given pressure.

Parameters
eosLiqpointer to equation of state of liquid phase
eosVappointer to equation of state of vapor phase
temptemperature
Returns
saturation pressure

◆ computeSlopesMixture()

virtual void Mixture::computeSlopesMixture ( const Mixture ,
const Mixture ,
const double &   
)
inlinevirtual

◆ computeTemperature()

virtual double Mixture::computeTemperature ( double *  ,
const double &  ,
Phase **   
)
inlinevirtual

Reimplemented in MixPTUEq.

◆ computeTemperatureIsentrope()

virtual double Mixture::computeTemperatureIsentrope ( const double *  ,
const double &  ,
const double &  ,
const double &  ,
double *  = 0 
)
inlinevirtual

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 in MixPTUEq.

◆ computeTotalEnergy()

virtual void Mixture::computeTotalEnergy ( std::vector< QuantitiesAddPhys * > &  )
inlinevirtual

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

Parameters
vecGPAvector of additional physics variables

Reimplemented in MixEuler, MixEulerKorteweg, MixUEqTotEnergy, MixEulerHomogeneous, MixPTUEq, and MixUEq.

◆ computeTsat()

double Mixture::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.

Parameters
eosLiqpointer to equation of state of liquid phase
eosVappointer to equation of state of vapor phase
pressurepressure
dTsattemperature derivative as function of pressure
Returns
saturation temperature

◆ computeVolumeIsentrope()

virtual double Mixture::computeVolumeIsentrope ( const double *  ,
const double &  ,
const double &  ,
const double &  ,
double *  = 0 
)
inlinevirtual

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 in MixPTUEq.

◆ copyMixture()

virtual void Mixture::copyMixture ( Mixture )
inlinevirtual

Copy mixture in mixture attributes.

Parameters
mixturesource mixture to copy

Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ divide()

virtual void Mixture::divide ( const double &  )
inlinevirtual

◆ extrapolate()

virtual void Mixture::extrapolate ( const Mixture ,
const double &   
)
inlinevirtual

◆ fillBuffer() [1/2]

virtual void Mixture::fillBuffer ( double *  ,
int &   
) const
inlinevirtual

◆ fillBuffer() [2/2]

virtual void Mixture::fillBuffer ( std::vector< double > &  ) const
inlinevirtual

◆ fillBufferSlopes()

virtual void Mixture::fillBufferSlopes ( double *  ,
int &   
) const
inlinevirtual

◆ getBuffer() [1/2]

virtual void Mixture::getBuffer ( double *  ,
int &   
)
inlinevirtual

◆ getBuffer() [2/2]

virtual void Mixture::getBuffer ( std::vector< double > &  ,
int &   
)
inlinevirtual

◆ getBufferSlopes()

virtual void Mixture::getBufferSlopes ( double *  ,
int &   
)
inlinevirtual

◆ getDensity()

virtual const double & Mixture::getDensity ( ) const
inlinevirtual

◆ getEnergy()

virtual const double & Mixture::getEnergy ( ) const
inlinevirtual

◆ getEnergyCompaction()

virtual const double & Mixture::getEnergyCompaction ( ) const
inlinevirtual

◆ getEnergyElastic()

virtual const double & Mixture::getEnergyElastic ( ) const
inlinevirtual

◆ getFrozenSoundSpeed()

virtual const double & Mixture::getFrozenSoundSpeed ( ) const
inlinevirtual

Reimplemented in MixEuler, MixEulerKorteweg, MixUEq, and MixUEqTotEnergy.

◆ getMixSoundSpeed()

virtual const double & Mixture::getMixSoundSpeed ( ) const
inlinevirtual

Reimplemented in MixEulerHomogeneous, and MixPTUEq.

◆ getNumberScalars()

virtual int Mixture::getNumberScalars ( ) const
inlinevirtual

◆ getNumberVectors()

virtual int Mixture::getNumberVectors ( ) const
inlinevirtual

◆ getPressure()

virtual const double & Mixture::getPressure ( ) const
inlinevirtual

◆ getStressTensor() [1/2]

virtual Tensor & Mixture::getStressTensor ( )
inlinevirtual

◆ getStressTensor() [2/2]

virtual const Tensor & Mixture::getStressTensor ( ) const
inlinevirtual

◆ getTemperature()

virtual const double & Mixture::getTemperature ( ) const
inlinevirtual

Reimplemented in MixPTUEq.

◆ getTotalEnergy()

virtual const double & Mixture::getTotalEnergy ( ) const
inlinevirtual

◆ getU()

virtual const double & Mixture::getU ( ) const
inlinevirtual

◆ getV()

virtual const double & Mixture::getV ( ) const
inlinevirtual

◆ getVelocity() [1/2]

virtual Coord & Mixture::getVelocity ( )
inlinevirtual

◆ getVelocity() [2/2]

virtual const Coord & Mixture::getVelocity ( ) const
inlinevirtual

◆ getW()

virtual const double & Mixture::getW ( ) const
inlinevirtual

◆ getWoodSoundSpeed()

virtual const double & Mixture::getWoodSoundSpeed ( ) const
inlinevirtual

Reimplemented in MixEuler, MixEulerKorteweg, MixUEq, and MixUEqTotEnergy.

◆ limitSlopes()

virtual void Mixture::limitSlopes ( const Mixture ,
const Mixture ,
Limiter  
)
inlinevirtual

◆ localProjection()

virtual void Mixture::localProjection ( const Coord ,
const Coord ,
const Coord  
)
inlinevirtual

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 in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ multiplyAndAdd()

virtual void Mixture::multiplyAndAdd ( const Mixture ,
const double &   
)
inlinevirtual

◆ numberOfTransmittedSlopes()

virtual int Mixture::numberOfTransmittedSlopes ( ) const
inlinevirtual

◆ numberOfTransmittedVariables()

virtual int Mixture::numberOfTransmittedVariables ( ) const
inlinevirtual

◆ printMixture()

void Mixture::printMixture ( std::ofstream &  fileStream) const

Print mixture variables in file stream.

Parameters
fileStreamfile stream to write in

◆ returnNameScalar()

virtual std::string Mixture::returnNameScalar ( const int &  ) const
inlinevirtual

◆ returnNameVector()

virtual std::string Mixture::returnNameVector ( const int &  ) const
inlinevirtual

◆ returnScalar()

virtual double Mixture::returnScalar ( const int &  ) const
inlinevirtual

◆ returnVector()

virtual Coord Mixture::returnVector ( const int &  ) const
inlinevirtual

◆ reverseProjection()

virtual void Mixture::reverseProjection ( const Coord ,
const Coord ,
const Coord  
)
inlinevirtual

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 in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.

◆ setEnergyCompaction()

virtual void Mixture::setEnergyCompaction ( const double &  )
inlinevirtual

◆ setEnergyElastic()

virtual void Mixture::setEnergyElastic ( const double &  )
inlinevirtual

◆ setMax()

virtual void Mixture::setMax ( const Mixture ,
const Mixture  
)
inlinevirtual

Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.

◆ setMin()

virtual void Mixture::setMin ( const Mixture ,
const Mixture  
)
inlinevirtual

Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.

◆ setPressure()

virtual void Mixture::setPressure ( const double &  )
inlinevirtual

◆ setScalar()

virtual void Mixture::setScalar ( const int &  ,
const double &   
)
inlinevirtual

◆ setStressTensor()

virtual void Mixture::setStressTensor ( const Tensor )
inlinevirtual

◆ setTemperature()

virtual void Mixture::setTemperature ( const double &  )
inlinevirtual

Reimplemented in MixEulerHomogeneous, and MixPTUEq.

◆ setToMax()

virtual void Mixture::setToMax ( )
inlinevirtual

Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.

◆ setTotalEnergy()

virtual void Mixture::setTotalEnergy ( double &  )
inlinevirtual

◆ setToZero()

virtual void Mixture::setToZero ( )
inlinevirtual

◆ setU()

virtual void Mixture::setU ( const double &  )
inlinevirtual

◆ setV()

virtual void Mixture::setV ( const double &  )
inlinevirtual

◆ setVector()

virtual void Mixture::setVector ( const int &  ,
const Coord  
)
inlinevirtual

◆ setVelocity() [1/2]

virtual void Mixture::setVelocity ( const Coord )
inlinevirtual

◆ setVelocity() [2/2]

virtual void Mixture::setVelocity ( const double &  ,
const double &  ,
const double &   
)
inlinevirtual

◆ setW()

virtual void Mixture::setW ( const double &  )
inlinevirtual

◆ totalEnergyToInternalEnergy()

virtual void Mixture::totalEnergyToInternalEnergy ( std::vector< QuantitiesAddPhys * > &  )
inlinevirtual

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

Parameters
vecGPAvector of additional physics variables

Reimplemented in MixEuler, MixEulerKorteweg, MixUEqTotEnergy, MixEulerHomogeneous, MixPTUEq, and MixUEq.


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