8 #ifndef THERMALMODELEVCROSSTERMS_H 9 #define THERMALMODELEVCROSSTERMS_H 55 virtual void FillVirial(
const std::vector<double> & ri = std::vector<double>(0));
157 virtual double DensityId(
int i,
const std::vector<double>& pstars = std::vector<double>());
168 virtual double Pressure(
int i,
const std::vector<double>& pstars = std::vector<double>());
192 virtual double MuShift(
int i)
const;
205 std::vector<double> Equations(
const std::vector<double> &x);
214 std::vector<double> Equations(
const std::vector<double> &x);
223 std::vector<double> Jacobian(
const std::vector<double> &x);
232 virtual bool IsSolved(
const std::vector<double>& x,
const std::vector<double>& f,
const std::vector<double>& xdelta = std::vector<double>())
const;
Abstract base class for an HRG model implementation.
virtual void ReadInteractionParameters(const std::string &filename)
Reads the QvdW interaction parameters from a file.
double ScaledVarianceId(int ind)
Calculate the ideal gas scaled variance of particle species i number fluctuations for the given value...
virtual double ParticleScalarDensity(int)
The scalar density of the particle species i.
virtual std::vector< double > CalculateChargeFluctuations(const std::vector< double > &chgs, int order=4)
Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge.
virtual double ParticleKurtosis(int part)
Kurtosis of primordial particle number fluctuations for species i.
static const double TOL
Default desired solution accuracy.
const std::vector< double > & Densities() const
double VirialCoefficient(int i, int j) const
Excluded volume coefficient .
std::vector< double > m_skewprim
virtual double ParticleScaledVariance(int)
Scaled variance of primordial particle number fluctuations for species i.
virtual void SolveDiagonal()
Solves the transcendental equation of the corresponding diagonal EV model.
Class containing the particle list.
virtual double CalculateEntropyDensity()
Structure containing all thermal parameters of the model.
Abstract class which defines the system of non-linear equations to be solved by the Broyden's method...
virtual double CalculateBaryonMatterEntropyDensity()
The fraction of entropy carried by baryons (Ideal GCE only)
void CalculateFluctuations()
Computes the fluctuation observables.
double PressureDiagonalTotal(double P)
The total pressure for the given input pressure in the diagonal model.
double m_TotalEntropyDensity
virtual double ParticleSkewness(int part)
Skewness of primordial particle number fluctuations for species i.
virtual void SolvePressure(bool resetPartials=true)
Solves the system of transcdental equations for the pressure using the Broyden's method.
virtual void WriteInteractionParameters(const std::string &filename)
Write the QvdW interaction parameters to a file.
Sub-class where it is determined whether the required accuracy is achieved in the Broyden's method...
std::vector< double > m_kurtprim
ThermalModelEVCrossterms(ThermalParticleSystem *TPS, const ThermalModelParameters ¶ms=ThermalModelParameters())
Construct a new ThermalModelEVCrossterms object.
virtual ~ThermalModelEVCrossterms(void)
Destroy the ThermalModelEVCrossterms object.
Class implementing the crossterms excluded-volume model.
virtual void CalculatePrimordialDensitiesNoReset()
std::vector< double > m_densitiesid
void SetVirial(int i, int j, double b)
Set the excluded volume coefficient .
Class which implements calculation of the Jacobian needed for the Broyden's method.
virtual void ChangeTPS(ThermalParticleSystem *TPS)
Change the particle list.
virtual void FillVirial(const std::vector< double > &ri=std::vector< double >(0))
Fills the excluded volume coefficients based on the provided radii parameters for all species...
virtual double MuShift(int i) const
The shift in the chemical potential of particle species i due to the excluded volume interactions...
virtual double CalculateEnergyDensity()
virtual double DensityId(int i, const std::vector< double > &pstars=std::vector< double >())
Calculate the ideal gas density of particle species i for the given values of partial pressures...
void SetRadius(double rad)
Set the same excluded volume radius parameter for all species.
std::vector< double > m_Ps
double PartialPressureDiagonal(int i, double P)
The "partial pressure" of hadron species i for the given total pressure in the diagonal model...
double Pressure()
System pressure (GeV fm )
The main namespace where all classes and functions of the Thermal-FIST library reside.
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
std::vector< std::vector< double > > m_Virial
ThermalParticleSystem * TPS()
virtual double CalculatePressure()
Implementation of the equation of state functions.
void CalculateTwoParticleCorrelations()
Computes the fluctuations and correlations of the primordial particle numbers.
virtual void CalculatePrimordialDensitiesIter()
virtual double CalculateMesonMatterEntropyDensity()
The fraction of entropy carried by mesons (Ideal GCE only)