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

Mixture variables for Euler Homogeneous equations (velocity and thermodynamical equilibrium) More...

#include <MixEulerHomogeneous.h>

Inherits Mixture.

Public Member Functions

 MixEulerHomogeneous ()
 
 MixEulerHomogeneous (tinyxml2::XMLElement *state, std::string fileName)
 Mixture constructor from a XML format reading.
 
virtual ~MixEulerHomogeneous ()
 
virtual void allocateAndCopyMixture (Mixture **mixture)
 Copy mixture attributes in mixture.
 
virtual void copyMixture (Mixture &mixture)
 Copy mixture in mixture attributes.
 
virtual double computeDensity (const double *alphak, const double *rhok)
 Compute mixture density.
 
virtual double computePressure (const double *alphak, const double *pk)
 Compute mixture pressure.
 
virtual double computeInternalEnergy (const double *Yk, const double *ek)
 Compute mixture specific internal energy.
 
virtual double computeFrozenSoundSpeed (const double *Yk, const double *ck)
 Compute mixture frozen speed of sound.
 
virtual double computePressure (double mass, const double &internalEnergy, Phase **phases, Mixture *mixture, const int &liq, const int &vap)
 
virtual void computeMixtureVariables (Phase **vecPhase)
 Fills some mixture attributes from a phase array.
 
virtual void computeTotalEnergy (std::vector< QuantitiesAddPhys * > &vecGPA)
 Compute mixture total specific energy from internal one taking account for energies associated to extra physics.
 
virtual void totalEnergyToInternalEnergy (std::vector< QuantitiesAddPhys * > &vecGPA)
 Compute mixture internal specific energy from total one taking account for energies associated to extra physics.
 
virtual void localProjection (const Coord &normal, const Coord &tangent, const Coord &binormal)
 velocity vector projection in a local Cartesian coordinate system
 
virtual void reverseProjection (const Coord &normal, const Coord &tangent, const Coord &binormal)
 velocity vector reverse projection in the absolute Cartesian coordinate system
 
virtual int getNumberScalars () const
 
virtual int getNumberVectors () const
 
virtual double returnScalar (const int &numVar) const
 
virtual Coord returnVector (const int &numVar) const
 
virtual std::string returnNameScalar (const int &numVar) const
 
virtual std::string returnNameVector (const int &numVar) const
 
virtual void setScalar (const int &numVar, const double &value)
 
virtual void setVector (const int &numVar, const Coord &value)
 
virtual int numberOfTransmittedVariables () const
 
virtual void fillBuffer (double *buffer, int &counter) const
 
virtual void fillBuffer (std::vector< double > &dataToSend) const
 
virtual void getBuffer (double *buffer, int &counter)
 
virtual void getBuffer (std::vector< double > &dataToReceive, int &counter)
 
virtual void computeSlopesMixture (const Mixture &sLeft, const Mixture &sRight, const double &distance)
 
virtual void setToZero ()
 
virtual void setToMax ()
 
virtual void extrapolate (const Mixture &slope, const double &distance)
 
virtual void limitSlopes (const Mixture &slopeGauche, const Mixture &slopeDroite, Limiter &globalLimiter)
 
virtual void setMin (const Mixture &mixture1, const Mixture &mixture2)
 
virtual void setMax (const Mixture &mixture1, const Mixture &mixture2)
 
virtual void computeGradientLimiter (const Limiter &globalLimiter, const Mixture &mixture, const Mixture &mixtureMin, const Mixture &mixtureMax, const Mixture &slope)
 
virtual int numberOfTransmittedSlopes () const
 
virtual void fillBufferSlopes (double *buffer, int &counter) const
 
virtual void getBufferSlopes (double *buffer, int &counter)
 
virtual const double & getDensity () const
 
virtual const double & getPressure () 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 & getMixSoundSpeed () const
 
virtual void setPressure (const double &p)
 
virtual void setTemperature (const double &T)
 
virtual void setVelocity (const double &u, const double &v, const double &w)
 
virtual void setVelocity (const Coord &vit)
 
virtual void setU (const double &u)
 
virtual void setV (const double &v)
 
virtual void setW (const double &w)
 
virtual void setTotalEnergy (double &totalEnergy)
 
virtual void changeSign ()
 
virtual void multiplyAndAdd (const Mixture &slopesMixtureTemp, const double &coeff)
 
virtual void divide (const double &coeff)
 
- 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 **)
 
virtual double computeTemperature (double *, const double &, Phase **)
 
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 const double & getTemperature () const
 
virtual const double & getFrozenSoundSpeed () const
 
virtual const double & getWoodSoundSpeed () const
 
virtual const double & getEnergyCompaction () const
 
virtual const double & getEnergyElastic () const
 
virtual const TensorgetStressTensor () const
 
virtual TensorgetStressTensor ()
 
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
 
double m_temperature
 mixture temperature
 
Coord m_velocity
 mixture velocity
 
double m_energy
 mixture internal specific energy
 
double m_totalEnergy
 mixture total specific energy
 
double m_EqSoundSpeed
 thermodynamical equilibrium sound speed
 

Detailed Description

Mixture variables for Euler Homogeneous equations (velocity and thermodynamical equilibrium)

Constructor & Destructor Documentation

◆ MixEulerHomogeneous() [1/2]

MixEulerHomogeneous::MixEulerHomogeneous ( )

◆ MixEulerHomogeneous() [2/2]

MixEulerHomogeneous::MixEulerHomogeneous ( 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"> <velocity x = "0." y = "0." z = "0." > </mixture>

Parameters
materialXML element to read for mixture data
fileNamestring name of readed XML file

◆ ~MixEulerHomogeneous()

MixEulerHomogeneous::~MixEulerHomogeneous ( )
virtual

Member Function Documentation

◆ allocateAndCopyMixture()

void MixEulerHomogeneous::allocateAndCopyMixture ( Mixture **  )
virtual

Copy mixture attributes in mixture.

Parameters
mixturedestination mixture variable

Reimplemented from Mixture.

◆ changeSign()

void MixEulerHomogeneous::changeSign ( )
virtual

Reimplemented from Mixture.

◆ computeDensity()

double MixEulerHomogeneous::computeDensity ( const double *  ,
const double *   
)
virtual

Compute mixture density.

Parameters
alphakphase volume fraction array
rhokphase density array
Returns
mixture density

Reimplemented from Mixture.

◆ computeFrozenSoundSpeed()

double MixEulerHomogeneous::computeFrozenSoundSpeed ( const double *  ,
const double *   
)
virtual

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 MixEulerHomogeneous::computeGradientLimiter ( const Limiter globalLimiter,
const Mixture mixture,
const Mixture mixtureMin,
const Mixture mixtureMax,
const Mixture slope 
)
virtual

Reimplemented from Mixture.

◆ computeInternalEnergy()

double MixEulerHomogeneous::computeInternalEnergy ( const double *  ,
const double *   
)
virtual

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 MixEulerHomogeneous::computeMixtureVariables ( Phase **  )
virtual

Fills some mixture attributes from a phase array.

Parameters
vecPhasephase array

Reimplemented from Mixture.

◆ computePressure() [1/2]

double MixEulerHomogeneous::computePressure ( const double *  ,
const double *   
)
virtual

Compute mixture pressure.

Parameters
alphakphase volume fraction array
pkphase pressure array
Returns
mixture pressure

Reimplemented from Mixture.

◆ computePressure() [2/2]

double MixEulerHomogeneous::computePressure ( double  mass,
const double &  internalEnergy,
Phase **  phases,
Mixture mixture,
const int &  liq,
const int &  vap 
)
virtual

Reimplemented from Mixture.

◆ computeSlopesMixture()

void MixEulerHomogeneous::computeSlopesMixture ( const Mixture sLeft,
const Mixture sRight,
const double &  distance 
)
virtual

Reimplemented from Mixture.

◆ computeTotalEnergy()

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

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.

◆ copyMixture()

void MixEulerHomogeneous::copyMixture ( Mixture )
virtual

Copy mixture in mixture attributes.

Parameters
mixturesource mixture to copy

Reimplemented from Mixture.

◆ divide()

void MixEulerHomogeneous::divide ( const double &  coeff)
virtual

Reimplemented from Mixture.

◆ extrapolate()

void MixEulerHomogeneous::extrapolate ( const Mixture slope,
const double &  distance 
)
virtual

Reimplemented from Mixture.

◆ fillBuffer() [1/2]

void MixEulerHomogeneous::fillBuffer ( double *  buffer,
int &  counter 
) const
virtual

Reimplemented from Mixture.

◆ fillBuffer() [2/2]

void MixEulerHomogeneous::fillBuffer ( std::vector< double > &  dataToSend) const
virtual

Reimplemented from Mixture.

◆ fillBufferSlopes()

void MixEulerHomogeneous::fillBufferSlopes ( double *  buffer,
int &  counter 
) const
virtual

Reimplemented from Mixture.

◆ getBuffer() [1/2]

void MixEulerHomogeneous::getBuffer ( double *  buffer,
int &  counter 
)
virtual

Reimplemented from Mixture.

◆ getBuffer() [2/2]

void MixEulerHomogeneous::getBuffer ( std::vector< double > &  dataToReceive,
int &  counter 
)
virtual

Reimplemented from Mixture.

◆ getBufferSlopes()

void MixEulerHomogeneous::getBufferSlopes ( double *  buffer,
int &  counter 
)
virtual

Reimplemented from Mixture.

◆ getDensity()

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

Reimplemented from Mixture.

◆ getEnergy()

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

Reimplemented from Mixture.

◆ getMixSoundSpeed()

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

Reimplemented from Mixture.

◆ getNumberScalars()

virtual int MixEulerHomogeneous::getNumberScalars ( ) const
inlinevirtual

Reimplemented from Mixture.

◆ getNumberVectors()

virtual int MixEulerHomogeneous::getNumberVectors ( ) const
inlinevirtual

Reimplemented from Mixture.

◆ getPressure()

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

Reimplemented from Mixture.

◆ getTotalEnergy()

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

Reimplemented from Mixture.

◆ getU()

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

Reimplemented from Mixture.

◆ getV()

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

Reimplemented from Mixture.

◆ getVelocity() [1/2]

virtual Coord & MixEulerHomogeneous::getVelocity ( )
inlinevirtual

Reimplemented from Mixture.

◆ getVelocity() [2/2]

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

Reimplemented from Mixture.

◆ getW()

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

Reimplemented from Mixture.

◆ limitSlopes()

void MixEulerHomogeneous::limitSlopes ( const Mixture slopeGauche,
const Mixture slopeDroite,
Limiter globalLimiter 
)
virtual

Reimplemented from Mixture.

◆ localProjection()

void MixEulerHomogeneous::localProjection ( const Coord ,
const Coord ,
const Coord  
)
virtual

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 MixEulerHomogeneous::multiplyAndAdd ( const Mixture slopesMixtureTemp,
const double &  coeff 
)
virtual

Reimplemented from Mixture.

◆ numberOfTransmittedSlopes()

int MixEulerHomogeneous::numberOfTransmittedSlopes ( ) const
virtual

Reimplemented from Mixture.

◆ numberOfTransmittedVariables()

int MixEulerHomogeneous::numberOfTransmittedVariables ( ) const
virtual

Reimplemented from Mixture.

◆ returnNameScalar()

std::string MixEulerHomogeneous::returnNameScalar ( const int &  numVar) const
virtual

Reimplemented from Mixture.

◆ returnNameVector()

std::string MixEulerHomogeneous::returnNameVector ( const int &  numVar) const
virtual

Reimplemented from Mixture.

◆ returnScalar()

double MixEulerHomogeneous::returnScalar ( const int &  numVar) const
virtual

Reimplemented from Mixture.

◆ returnVector()

Coord MixEulerHomogeneous::returnVector ( const int &  numVar) const
virtual

Reimplemented from Mixture.

◆ reverseProjection()

void MixEulerHomogeneous::reverseProjection ( const Coord ,
const Coord ,
const Coord  
)
virtual

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 MixEulerHomogeneous::setMax ( const Mixture mixture1,
const Mixture mixture2 
)
virtual

Reimplemented from Mixture.

◆ setMin()

void MixEulerHomogeneous::setMin ( const Mixture mixture1,
const Mixture mixture2 
)
virtual

Reimplemented from Mixture.

◆ setPressure()

void MixEulerHomogeneous::setPressure ( const double &  p)
virtual

Reimplemented from Mixture.

◆ setScalar()

void MixEulerHomogeneous::setScalar ( const int &  numVar,
const double &  value 
)
virtual

Reimplemented from Mixture.

◆ setTemperature()

void MixEulerHomogeneous::setTemperature ( const double &  T)
virtual

Reimplemented from Mixture.

◆ setToMax()

void MixEulerHomogeneous::setToMax ( )
virtual

Reimplemented from Mixture.

◆ setTotalEnergy()

void MixEulerHomogeneous::setTotalEnergy ( double &  totalEnergy)
virtual

Reimplemented from Mixture.

◆ setToZero()

void MixEulerHomogeneous::setToZero ( )
virtual

Reimplemented from Mixture.

◆ setU()

void MixEulerHomogeneous::setU ( const double &  u)
virtual

Reimplemented from Mixture.

◆ setV()

void MixEulerHomogeneous::setV ( const double &  v)
virtual

Reimplemented from Mixture.

◆ setVector()

void MixEulerHomogeneous::setVector ( const int &  numVar,
const Coord value 
)
virtual

Reimplemented from Mixture.

◆ setVelocity() [1/2]

void MixEulerHomogeneous::setVelocity ( const Coord vit)
virtual

Reimplemented from Mixture.

◆ setVelocity() [2/2]

void MixEulerHomogeneous::setVelocity ( const double &  u,
const double &  v,
const double &  w 
)
virtual

Reimplemented from Mixture.

◆ setW()

void MixEulerHomogeneous::setW ( const double &  w)
virtual

Reimplemented from Mixture.

◆ totalEnergyToInternalEnergy()

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

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 MixEulerHomogeneous::m_density
private

mixture density

◆ m_energy

double MixEulerHomogeneous::m_energy
private

mixture internal specific energy

◆ m_EqSoundSpeed

double MixEulerHomogeneous::m_EqSoundSpeed
private

thermodynamical equilibrium sound speed

◆ m_pressure

double MixEulerHomogeneous::m_pressure
private

mixture pressure

◆ m_temperature

double MixEulerHomogeneous::m_temperature
private

mixture temperature

◆ m_totalEnergy

double MixEulerHomogeneous::m_totalEnergy
private

mixture total specific energy

◆ m_velocity

Coord MixEulerHomogeneous::m_velocity
private

mixture velocity


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