8#ifndef THERMALMODELEVDIAGONAL_H
9#define THERMALMODELEVDIAGONAL_H
22 double dnmuid,
dndTid,
demuid,
deTid,
dsmuid,
dsTid,
dmunT,
dPnT,
dmuTn,
dPTn,
denT,
deTn,
dsignT,
dsigTn,
dTnsig;
70 void FillVirialEV(
const std::vector<double> & vi = std::vector<double>(0));
117 void FillVirial(
const std::vector<double> & ri = std::vector<double>(0));
256 virtual double MuShift(
int i)
const;
272 std::vector<double> Equations(
const std::vector<double> &x);
273 void SetMnc(
double mnc) { m_mnc = mnc; }
283 std::vector<double> Jacobian(
const std::vector<double> &x);
284 void SetMnc(
double mnc) { m_mnc = mnc; }
290 class BroydenSolutionCriteriumDEV :
public Broyden::BroydenSolutionCriterium
294 virtual bool IsSolved(
const std::vector<double>& x,
const std::vector<double>& f,
const std::vector<double>& xdelta = std::vector<double>())
const;
299 class BroydenEquationsDEVOrig :
public BroydenEquations
303 std::vector<double> Equations(
const std::vector<double> &x);
308 class BroydenJacobianDEVOrig :
public BroydenJacobian
312 std::vector<double> Jacobian(
const std::vector<double> &x);
map< string, double > params
BroydenSolutionCriterium(double maximum_error=TOL)
Abstract class which defines the system of non-linear equations to be solved by the Broyden's method.
int m_N
The number of equations.
BroydenEquations()=default
Default constructor. Does nothing.
static const double TOL
Default desired solution accuracy.
Class which implements calculation of the Jacobian needed for the Broyden's method.
BroydenJacobian(BroydenEquations *eqs=NULL)
Construct a new BroydenJacobian object.
ThermalModelBase(ThermalParticleSystem *TPS, const ThermalModelParameters ¶ms=ThermalModelParameters())
Construct a new ThermalModelBase object.
Class implementing the diagonal excluded-volume model.
virtual void DisableMesonBaryonAttraction()
double DensityId(int i, double Pressure)
Calculate the ideal gas density of particle species i for the given pressure value.
double ExcludedVolume(int i) const
The excluded volume parameter of particle species i.
virtual void DisableBaryonBaryonVirial()
virtual void DisableBaryonAntiBaryonAttraction()
std::vector< double > m_densitiesidnoshift
void FillVirial(const std::vector< double > &ri=std::vector< double >(0))
Fills the vector of particle eigenvolume parameters.
ThermalModelEVDiagonal(ThermalParticleSystem *TPS, const ThermalModelParameters ¶ms=ThermalModelParameters())
Construct a new ThermalModelEVDiagonal object.
virtual double ParticleScaledVariance(int)
virtual double ParticleScalarDensity(int part)
virtual double CalculateMesonMatterEntropyDensity()
virtual void CalculateFluctuations()
Computes the fluctuation observables.
virtual double ParticleKurtosis(int)
virtual void DisableBaryonAntiBaryonVirial()
void SetRadius(double rad)
Set the same excluded volume radius parameter for all species.
virtual void CalculateTemperatureDerivatives()
Computes the temperature derivatives of densities, shifted chemical potentials, and primordial hadron...
virtual double CalculateEnergyDensity()
virtual void DisableMesonMesonAttraction()
void FillVirialEV(const std::vector< double > &vi=std::vector< double >(0))
Same as FillVirial() but uses the diagonal excluded-volume coefficients as input instead of radii.
virtual void DisableMesonMesonVirial()
virtual void WriteInteractionParameters(const std::string &filename)
Write the set of eigenvolume parameters for all particles to an external file.
void SetVirial(int i, int j, double b)
Sets the eigenvolume parameter of particle species i.
virtual double CalculateBaryonMatterEntropyDensity()
double CommonSuppressionFactor()
The density suppression factor , common for all species.
virtual std::vector< double > CalculateChargeFluctuations(const std::vector< double > &chgs, int order=4)
Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge.
double PressureId(int i, double Pressure)
Calculate the ideal gas pressure of particle species i for the given pressure value.
std::vector< double > m_densitiesid
virtual double CalculatePressure()
virtual double MuShift(int i) const
The shift in the chemical potential of particle species i due to the excluded volume interactions.
virtual double CalculateEntropyDensity()
virtual void SolvePressure()
Solves the transcdental equation for the pressure.
std::vector< double > m_v
virtual void CalculatePrimordialDensities()
Calculates the primordial densities of all species.
virtual double ParticleSkewness(int)
virtual double CalculateEigenvolumeFraction()
virtual void DisableMesonBaryonVirial()
double ScaledVarianceId(int i, double Pressure)
Calculate the ideal gas scaled variance of particle species i number fluctuations for the given press...
virtual void ReadInteractionParameters(const std::string &filename)
Read the set of eigenvolume parameters for all particles from an external file.
virtual double CalculateEnergyDensityDerivativeT()
virtual void CalculateTwoParticleCorrelations()
Computes the fluctuations and correlations of the primordial particle numbers.
virtual void ChangeTPS(ThermalParticleSystem *TPS)
Change the particle list.
virtual void DisableBaryonBaryonAttraction()
double Pressure(double P)
Computes the l.h.s. of the transcdental equation for the pressure.
double VirialCoefficient(int i, int j) const
Return the eigenvolume parameter of particle species i.
virtual ~ThermalModelEVDiagonal(void)
Destroy the ThermalModelEVDiagonal object.
Class containing the particle list.
The main namespace where all classes and functions of the Thermal-FIST library reside.
Structure containing all thermal parameters of the model.