![]() |
ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
|
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 Coord & | getVelocity () const |
virtual Coord & | getVelocity () |
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 Tensor & | getStressTensor () const |
virtual Tensor & | getStressTensor () |
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 &) |
Abstract class for mixture variables.
Mixture::Mixture | ( | ) |
|
virtual |
|
inlinevirtual |
Copy mixture attributes in mixture.
mixture | destination mixture variable |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixNonLinearSchrodinger, MixPTUEq, MixPUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
Compute the theoritical critical pressure.
eosLiq | pointer to equation of state of liquid phase |
eosVap | pointer to equation of state of vapor phase |
|
inlinevirtual |
Compute mixture density.
alphak | phase volume fraction array |
rhok | phase density array |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Compute mixture enthalpy for a mixture evolving at thermal equilibrium along mixture isentropic path.
Yk | array of mass fractions |
p0 | initial pressure |
T0 | initial temperature |
p | final pressure |
dhdp | derivative according to pressure |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Compute mixture frozen speed of sound.
Yk | phase mass fraction array |
ck | phase speed of sound array |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.
|
inlinevirtual |
Compute mixture specific internal energy.
Yk | phase mass fraction array |
ek | phase specific internal energy array |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Fills some mixture attributes from a phase array.
vecPhase | phase array |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Compute mixture pressure.
alphak | phase volume fraction array |
pk | phase pressure array |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Reimplemented in MixEulerHomogeneous.
Compute saturation pressure for a liq/vapor couple of fluid at given pressure.
eosLiq | pointer to equation of state of liquid phase |
eosVap | pointer to equation of state of vapor phase |
temp | temperature |
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Compute temperature for a mixture evolving at thermal equilibrium along mixture isentropic path.
Yk | array of mass fractions |
p0 | initial pressure |
T0 | initial temperature |
p | final pressure |
dTdp | derivative according to pressure |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Compute mixture total specific energy from internal one taking account for energies associated to extra physics.
vecGPA | vector of additional physics variables |
Reimplemented in MixEuler, MixEulerKorteweg, MixUEqTotEnergy, MixEulerHomogeneous, MixPTUEq, and MixUEq.
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.
eosLiq | pointer to equation of state of liquid phase |
eosVap | pointer to equation of state of vapor phase |
pressure | pressure |
dTsat | temperature derivative as function of pressure |
|
inlinevirtual |
Compute mixture specific volume for a mixture evolving at thermal equilibrium along mixture isentropic path.
Yk | array of mass fractions |
p0 | initial pressure |
T0 | initial temperature |
p | final pressure |
dvdp | derivative according to pressure |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Copy mixture in mixture attributes.
mixture | source mixture to copy |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, and MixUEq.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEulerHomogeneous, and MixPTUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MixPTUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, and MixUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixUEq, and MixUEqTotEnergy.
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
velocity vector projection in a local Cartesian coordinate system
normal | normal vector associated to the cell interface |
tangent | tangent vector associated to the cell interface |
binormal | binormal vector associated to the cell interface |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
void Mixture::printMixture | ( | std::ofstream & | fileStream | ) | const |
Print mixture variables in file stream.
fileStream | file stream to write in |
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
velocity vector reverse projection in the absolute Cartesian coordinate system
normal | normal vector associated to the cell interface |
tangent | tangent vector associated to the cell interface |
binormal | binormal vector associated to the cell interface |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.
Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MixEulerHomogeneous, and MixPTUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixPTUEq, and MixUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, and MixUEq.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerHomogeneous, MixEulerKorteweg, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Reimplemented in MixEuler, MixEulerKorteweg, MixEulerHomogeneous, MixPTUEq, MixUEq, and MixUEqTotEnergy.
|
inlinevirtual |
Compute mixture internal specific energy from total one taking account for energies associated to extra physics.
vecGPA | vector of additional physics variables |
Reimplemented in MixEuler, MixEulerKorteweg, MixUEqTotEnergy, MixEulerHomogeneous, MixPTUEq, and MixUEq.