31#ifndef PHASEEULERHOMOGENEOUS_H
32#define PHASEEULERHOMOGENEOUS_H
35#include "../../Eos/Eos.h"
71 virtual void setScalar(
const int& numVar,
const double& value);
76 virtual void fillBuffer(
double* buffer,
int& counter)
const;
77 virtual void fillBuffer(std::vector<double>& dataToSend)
const;
78 virtual void getBuffer(
double* buffer,
int& counter,
Eos** eos);
79 virtual void getBuffer(std::vector<double>& dataToReceive,
int& counter,
Eos** eos);
100 virtual void verifyPhase(
const std::string& message =
"")
const;
111 virtual const double&
getY()
const {
return m_Y; };
130 virtual void divide(
const double& coeff);
Coord velocity
Definition Coord.cpp:34
Class for a coordinate system object such as coordinates of the vertex or a vector.
Definition Coord.h:43
General class for Equation of State (EOS).
Definition Eos.h:54
virtual double computeTemperature(const double &, const double &) const
See derived classes.
Definition Eos.h:106
Phase variables for Euler Homogeneous equations (velocity and thermodynamical equilibrium)
Definition PhaseEulerHomogeneous.h:41
virtual double returnScalar(const int &numVar) const
Definition PhaseEulerHomogeneous.cpp:98
double m_alpha
phase volume fraction
Definition PhaseEulerHomogeneous.h:133
virtual void setAlpha(double alpha)
Definition PhaseEulerHomogeneous.cpp:319
virtual void verifyAndCorrectDensityMax()
Definition PhaseEulerHomogeneous.cpp:310
virtual void changeSign()
Definition PhaseEulerHomogeneous.cpp:349
virtual void getBufferSlopes(double *buffer, int &counter)
Definition PhaseEulerHomogeneous.cpp:275
virtual Eos * getEos() const
Definition PhaseEulerHomogeneous.h:112
virtual std::string returnNameScalar(const int &numVar) const
Definition PhaseEulerHomogeneous.cpp:115
virtual const double & getMassFraction() const
Definition PhaseEulerHomogeneous.h:108
virtual void localProjection(const Coord &, const Coord &, const Coord &)
Definition PhaseEulerHomogeneous.h:57
virtual std::string returnNameVector(const int &) const
Definition PhaseEulerHomogeneous.h:67
double m_energy
phase internal energy
Definition PhaseEulerHomogeneous.h:138
virtual const double & getDensity() const
Definition PhaseEulerHomogeneous.h:109
virtual const double & getAlpha() const
Definition PhaseEulerHomogeneous.h:107
virtual void setEos(Eos *eos)
Definition PhaseEulerHomogeneous.cpp:331
virtual int numberOfTransmittedVariables() const
Definition PhaseEulerHomogeneous.cpp:153
virtual void verifyAndCorrectPhase()
Definition PhaseEulerHomogeneous.cpp:293
virtual void setPressure(double pressure)
Definition PhaseEulerHomogeneous.cpp:327
virtual void setSoundSpeed(double soundSpeed)
Definition PhaseEulerHomogeneous.cpp:339
virtual void extendedCalculusPhase(const Coord &velocity)
Compute extra thermodynammical variables.
Definition PhaseEulerHomogeneous.cpp:80
virtual void setMax(const Phase &phase1, const Phase &phase2)
Definition PhaseEulerHomogeneous.cpp:245
virtual void setMin(const Phase &phase1, const Phase &phase2)
Definition PhaseEulerHomogeneous.cpp:238
double m_density
phase specific mass
Definition PhaseEulerHomogeneous.h:134
virtual const double & getSoundSpeed() const
Definition PhaseEulerHomogeneous.h:114
virtual void copyPhase(Phase &vecPhase)
Copy phase in phase attributes.
Definition PhaseEulerHomogeneous.cpp:67
virtual void computeMassFraction(const double &density)
Definition PhaseEulerHomogeneous.cpp:89
virtual void allocateAndCopyPhase(Phase **vecPhase)
Copy phase attributes in phase.
Definition PhaseEulerHomogeneous.cpp:60
virtual void limitSlopes(const Phase &slopeGauche, const Phase &slopeDroite, Limiter &, Limiter &volumeFractionLimiter)
Definition PhaseEulerHomogeneous.cpp:231
virtual Coord returnVector(const int &) const
Definition PhaseEulerHomogeneous.h:65
virtual void divide(const double &coeff)
Definition PhaseEulerHomogeneous.cpp:363
virtual void fillBuffer(double *buffer, int &counter) const
Definition PhaseEulerHomogeneous.cpp:161
virtual void setEnergy(double energy)
Definition PhaseEulerHomogeneous.cpp:335
double m_soundSpeed
phase speed of sound
Definition PhaseEulerHomogeneous.h:140
virtual const double & getTotalEnergy() const
Definition PhaseEulerHomogeneous.h:115
virtual void setScalar(const int &numVar, const double &value)
Definition PhaseEulerHomogeneous.cpp:134
virtual double getTemperature() const
Definition PhaseEulerHomogeneous.h:116
virtual void getBuffer(double *buffer, int &counter, Eos **eos)
Definition PhaseEulerHomogeneous.cpp:181
virtual void computeGradientLimiter(const Limiter &globalLimiter, const Phase &phase, const Phase &phaseMin, const Phase &phaseMax, const Phase &slope)
Definition PhaseEulerHomogeneous.cpp:252
double m_pressure
phase pressure
Definition PhaseEulerHomogeneous.h:135
virtual void fillBufferSlopes(double *buffer, int &counter) const
Definition PhaseEulerHomogeneous.cpp:268
virtual void setDensity(double density)
Definition PhaseEulerHomogeneous.cpp:323
virtual void computeSlopesPhase(const Phase &sLeft, const Phase &sRight, const double &distance)
Definition PhaseEulerHomogeneous.cpp:203
virtual const double & getY() const
Definition PhaseEulerHomogeneous.h:111
double m_totalEnergy
phase total energy
Definition PhaseEulerHomogeneous.h:139
virtual void reverseProjection(const Coord &, const Coord &, const Coord &)
Definition PhaseEulerHomogeneous.h:58
virtual const double & getPressure() const
Definition PhaseEulerHomogeneous.h:110
virtual void setTotalEnergy(double totalEnergy)
Definition PhaseEulerHomogeneous.cpp:343
virtual ~PhaseEulerHomogeneous()
Definition PhaseEulerHomogeneous.cpp:56
virtual void verifyPhase(const std::string &message="") const
Definition PhaseEulerHomogeneous.cpp:284
Eos * m_eos
pointer to phase equation of state
Definition PhaseEulerHomogeneous.h:137
virtual void extrapolate(const Phase &slope, const double &distance)
Definition PhaseEulerHomogeneous.cpp:224
virtual int numberOfTransmittedSlopes() const
Definition PhaseEulerHomogeneous.cpp:261
virtual void setToMax()
Definition PhaseEulerHomogeneous.cpp:217
virtual void multiplyAndAdd(const Phase &slopesPhasesTemp, const double &coeff)
Definition PhaseEulerHomogeneous.cpp:356
virtual const double & getEnergy() const
Definition PhaseEulerHomogeneous.h:113
virtual int getNumberVectors() const
Definition PhaseEulerHomogeneous.h:63
PhaseEulerHomogeneous()
Definition PhaseEulerHomogeneous.cpp:38
double m_Y
phase mass fraction
Definition PhaseEulerHomogeneous.h:136
virtual int getNumberScalars() const
Definition PhaseEulerHomogeneous.h:62
virtual void setToZero()
Definition PhaseEulerHomogeneous.cpp:210
Abstract class for a phase.
Definition Phase.h:47
Definition tinyxml2.h:1149