![]() |
Thermal-FIST 1.5
Package for hadron resonance gas model applications
|
Abstract base class for an HRG model implementation. More...
#include <ThermalModelBase.h>
Public Types | |
enum | ThermalModelEnsemble { GCE = 0 , CE = 1 , SCE = 2 , CCE = 3 } |
The list of statistical ensembles. More... | |
enum | ThermalModelInteraction { Ideal = 0 , DiagonalEV = 1 , CrosstermsEV = 2 , QvdW = 3 , RealGas = 4 , MeanField = 5 } |
Type of interactions included in the HRG model. More... | |
Public Member Functions | |
ThermalModelBase (ThermalParticleSystem *TPS, const ThermalModelParameters ¶ms=ThermalModelParameters()) | |
Construct a new ThermalModelBase object. | |
virtual | ~ThermalModelBase (void) |
int | ComponentsNumber () const |
Number of different particle species in the list. | |
virtual void | FillVirial (const std::vector< double > &ri=std::vector< double >(0)) |
Fills the excluded volume coefficients \( \tilde{b}_{ij} \) based on the provided radii parameters for all species. | |
bool | UseWidth () const |
Whether finite resonance widths are considered. | |
void | SetUseWidth (bool useWidth) |
Sets whether finite resonance widths are used. Deprecated. | |
void | SetUseWidth (ThermalParticle::ResonanceWidthIntegration type) |
Sets the finite resonance widths scheme to use. | |
void | SetNormBratio (bool normBratio) |
Whether branching ratios are renormalized to 100%. | |
bool | NormBratio () const |
void | SetOMP (bool openMP) |
OpenMP support. Currently not used. | |
virtual void | SetParameters (const ThermalModelParameters ¶ms) |
The thermal parameters. | |
const ThermalModelParameters & | Parameters () const |
void | UpdateParameters () |
Calls SetParameters() with current m_Parameters. | |
virtual void | SetTemperature (double T) |
Set the temperature. | |
virtual void | SetBaryonChemicalPotential (double muB) |
Set the baryon chemical potential. | |
virtual void | SetElectricChemicalPotential (double muQ) |
Set the electric chemical potential. | |
virtual void | SetStrangenessChemicalPotential (double muS) |
Set the strangeness chemical potential. | |
virtual void | SetCharmChemicalPotential (double muC) |
Set the charm chemical potential. | |
virtual void | SetGammaq (double gammaq) |
Set the light quark fugacity factor. | |
virtual void | SetGammaS (double gammaS) |
Set the strange quark fugacity factor. | |
virtual void | SetGammaC (double gammaC) |
Set the charm quark fugacity factor. | |
virtual void | SetBaryonCharge (int B) |
Set the total baryon number (for canonical ensemble only) | |
virtual void | SetElectricCharge (int Q) |
Set the total electric charge (for canonical ensemble only) | |
virtual void | SetStrangeness (int S) |
Set the total strangeness (for canonical ensemble only) | |
virtual void | SetCharm (int C) |
Set the total charm (for canonical ensemble only) | |
virtual void | SetRadius (double) |
Set the same excluded volume radius parameter for all species. | |
virtual void | SetRadius (int, double) |
Set the radius parameter for particle species i. | |
virtual void | SetVirial (int, int, double) |
Set the excluded volume coefficient \( \tilde{b}_{ij} \). | |
virtual void | SetRepulsion (int i, int j, double b) |
Same as SetVirial() but with a more clear name on what is actually does. | |
virtual void | SetAttraction (int, int, double) |
Set the vdW mean field attraction coefficient \( a_{ij} \). | |
virtual void | DisableMesonMesonVirial () |
void | DisableMesonMesonRepulsion () |
virtual void | DisableMesonMesonAttraction () |
virtual void | DisableMesonBaryonVirial () |
void | DisableMesonBaryonRepulsion () |
virtual void | DisableMesonBaryonAttraction () |
virtual void | DisableBaryonBaryonVirial () |
void | DisableBaryonBaryonRepulsion () |
virtual void | DisableBaryonBaryonAttraction () |
virtual void | DisableBaryonAntiBaryonVirial () |
void | DisableBaryonAntiBaryonRepulsion () |
virtual void | DisableBaryonAntiBaryonAttraction () |
virtual void | ReadInteractionParameters (const std::string &) |
Reads the QvdW interaction parameters from a file. | |
virtual void | WriteInteractionParameters (const std::string &) |
Write the QvdW interaction parameters to a file. | |
virtual void | ChangeTPS (ThermalParticleSystem *TPS) |
Change the particle list. | |
virtual double | VirialCoefficient (int, int) const |
Excluded volume coefficient \( \tilde{b}_{ij} = 0 \). | |
double | RepulsionCoefficient (int i, int j) const |
virtual double | AttractionCoefficient (int, int) const |
QvdW mean field attraction coefficient \( a_{ij} \). | |
bool | QuantumStatistics () const |
virtual void | SetStatistics (bool stats) |
virtual void | SetCalculationType (IdealGasFunctions::QStatsCalculationType type) |
Sets the CalculationType() method to evaluate quantum statistics. Calls the corresponding method in TPS(). | |
virtual void | SetClusterExpansionOrder (int order) |
Set the number of terms in the cluster expansion method. Calls the corresponding method in TPS(). | |
void | SetResonanceWidthShape (ThermalParticle::ResonanceWidthShape shape) |
Set the ThermalParticle::ResonanceWidthShape for all particles. Calls the corresponding method in TPS(). | |
void | SetResonanceWidthIntegrationType (ThermalParticle::ResonanceWidthIntegration type) |
Set the ThermalParticle::ResonanceWidthIntegration scheme for all particles. Calls the corresponding method in TPS(). | |
virtual void | FillChemicalPotentials () |
Sets the chemical potentials of all particles. | |
virtual void | SetChemicalPotentials (const std::vector< double > &chem=std::vector< double >(0)) |
Sets the chemical potentials of all particles. | |
const std::vector< double > & | ChemicalPotentials () const |
A vector of chemical potentials of all particles. | |
double | ChemicalPotential (int i) const |
Chemical potential of particle species i. | |
virtual void | SetChemicalPotential (int i, double chem) |
Sets the chemical potential of particle species i. | |
virtual double | FullIdealChemicalPotential (int i) const |
Chemical potential entering the ideal gas expressions of particle species i. | |
bool | ConstrainMuB () const |
void | ConstrainMuB (bool constrain) |
bool | ConstrainMuQ () const |
void | ConstrainMuQ (bool constrain) |
bool | ConstrainMuS () const |
void | ConstrainMuS (bool constrain) |
bool | ConstrainMuC () const |
void | ConstrainMuC (bool constrain) |
void | UsePartialChemicalEquilibrium (bool usePCE) |
Sets whether partial chemical equilibrium with additional chemical potentials is used. | |
bool | UsePartialChemicalEquilibrium () |
Whether partial chemical equilibrium with additional chemical potentials is used. | |
void | SetSoverB (double SB) |
The entropy per baryon ratio to be used to constrain the baryon chemical potential. | |
double | SoverB () const |
void | SetQoverB (double QB) |
The electric-to-baryon charge ratio to be used to constrain the electric chemical potential. | |
double | QoverB () const |
void | SetVolume (double Volume) |
Sets the system volume. | |
double | Volume () const |
System volume (fm \(^3\)) | |
void | SetVolumeRadius (double R) |
Sets the system radius. | |
double | CanonicalVolume () const |
The canonical correlation volume V \(_c\) (fm \(^3\)) | |
void | SetCanonicalVolume (double Volume) |
Set the canonical correlation volume V \(_c\). | |
void | SetCanonicalVolumeRadius (double Rc) |
Set the canonical correlation system radius. | |
void | ConstrainChemicalPotentials (bool resetInitialValues=true) |
Constrains the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) by the conservation laws imposed. | |
virtual void | FixParameters () |
Method which actually implements ConstrainChemicalPotentials() (for backward compatibility). | |
virtual void | FixParametersNoReset () |
Method which actually implements ConstrainChemicalPotentialsNoReset() (for backward compatibility). | |
virtual bool | SolveChemicalPotentials (double totB=0., double totQ=0., double totS=0., double totC=0., double muBinit=0., double muQinit=0., double muSinit=0., double muCinit=0., bool ConstrMuB=true, bool ConstrMuQ=true, bool ConstrMuS=true, bool ConstrMuC=true) |
The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified total baryon, electric, strangeness, and charm charges of the system. | |
virtual bool | FixChemicalPotentialsThroughDensities (double rhoB=0., double rhoQ=0., double rhoS=0., double rhoC=0., double muBinit=0., double muQinit=0., double muSinit=0., double muCinit=0., bool ConstrMuB=true, bool ConstrMuQ=true, bool ConstrMuS=true, bool ConstrMuC=true) |
The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified baryon, electric, strangeness, and charm densities. | |
virtual void | CalculatePrimordialDensities ()=0 |
Calculates the primordial densities of all species. | |
virtual void | CalculateDensities () |
Calculates the primordial and total (after decays) densities of all species. | |
virtual void | ValidateCalculation () |
Checks whether issues have occured during the calculation of particle densities in the CalculateDensities() method. | |
std::string | ValidityCheckLog () const |
All messaged which occured during the validation procedure in the ValidateCalculation() method. | |
virtual void | CalculateDensitiesGCE () |
Calculates the particle densities in a grand-canonical ensemble. | |
virtual void | CalculateFeeddown () |
Calculates the total densities which include feeddown contributions. | |
virtual void | CalculateFluctuations () |
Computes the fluctuation observables. | |
virtual void | CalculateTemperatureDerivatives () |
Computes the temperature derivatives of densities, shifted chemical potentials, and primordial hadron number susceptibilities. | |
virtual void | CalculateTwoParticleCorrelations () |
Computes the fluctuations and correlations of the primordial particle numbers. | |
virtual void | CalculateTwoParticleFluctuationsDecays () |
Computes particle number correlations and fluctuations for all final-state particles which are marked stable. | |
virtual double | TwoParticleSusceptibilityPrimordial (int i, int j) const |
Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand. | |
virtual double | TwoParticleSusceptibilityPrimordialByPdg (long long id1, long long id2) |
Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. | |
virtual double | TwoParticleSusceptibilityTemperatureDerivativePrimordial (int i, int j) const |
Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand. | |
virtual double | TwoParticleSusceptibilityTemperatureDerivativePrimordialByPdg (long long id1, long long id2) |
Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. | |
virtual double | NetParticleSusceptibilityPrimordialByPdg (long long id1, long long id2) |
Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between primordial net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. | |
virtual double | TwoParticleSusceptibilityFinal (int i, int j) const |
Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable. | |
virtual double | TwoParticleSusceptibilityFinalByPdg (long long id1, long long id2) |
Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable. | |
virtual double | NetParticleSusceptibilityFinalByPdg (long long id1, long long id2) |
Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between final net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. | |
virtual double | PrimordialParticleChargeSusceptibility (int i, ConservedCharge::Name chg) const |
Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | PrimordialParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg) |
Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | PrimordialNetParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg) |
Returns the computed primordial net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | FinalParticleChargeSusceptibility (int i, ConservedCharge::Name chg) const |
Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | FinalParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg) |
Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | FinalNetParticleChargeSusceptibilityByPdg (long long id1, ConservedCharge::Name chg) |
Returns the computed final (after decays) net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand. | |
virtual double | SusceptibilityDimensionfull (ConservedCharge::Name i, ConservedCharge::Name j) const |
A 2nd order susceptibility of conserved charges. | |
virtual void | CalculateSusceptibilityMatrix () |
Calculates the conserved charges susceptibility matrix. | |
virtual void | CalculateProxySusceptibilityMatrix () |
Calculates the susceptibility matrix of conserved charges proxies. | |
virtual void | CalculateParticleChargeCorrelationMatrix () |
Calculates the matrix of correlators between primordial (and also final) particle numbers and conserved charges. | |
virtual std::vector< double > | CalculateChargeFluctuations (const std::vector< double > &chgs, int order=4) |
Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge. | |
Abstract base class for an HRG model implementation.
Contains the base implementation of an arbitrary HRG model. The actual calculations of thermodynamic functions are implemented in derived classes.
Definition at line 28 of file ThermalModelBase.h.
The list of statistical ensembles.
Enumerator | |
---|---|
GCE | Grand canonical ensemble. |
CE | Canonical ensemble. |
SCE | Strangeness-canonical ensemble. |
CCE | Charm-canonical ensemble. |
Definition at line 35 of file ThermalModelBase.h.
Type of interactions included in the HRG model.
Definition at line 46 of file ThermalModelBase.h.
thermalfist::ThermalModelBase::ThermalModelBase | ( | ThermalParticleSystem * | TPS, |
const ThermalModelParameters & | params = ThermalModelParameters() ) |
Construct a new ThermalModelBase object.
TPS | A pointer to the ThermalParticleSystem object containing the particle list |
params | ThermalModelParameters object with current thermal parameters (default is ThermalModelParameters()) |
Definition at line 24 of file ThermalModelBase.cpp.
|
inlinevirtual |
Definition at line 63 of file ThermalModelBase.h.
|
inlinevirtual |
QvdW mean field attraction coefficient \( a_{ij} \).
i | 0-based index of the first particle species |
j | 0-based index of the second particle species |
Reimplemented in thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 344 of file ThermalModelBase.h.
|
virtual |
Calculates fluctuations (diagonal susceptibilities) of an arbitrary "conserved" charge.
Each particle specie is assumed to carry a conserved charge with a value provided by an input vector.
Restricted to the grand canonical ensemble.
chgs | A vector with conserved charge values for all species. 0-based indices of the vector must correspond to the 0-based indices of the particle list TPS() |
order | Up to which order the susceptibilities are computed |
Reimplemented in thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelIdeal, thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 652 of file ThermalModelBase.cpp.
|
virtual |
Calculates the primordial and total (after decays) densities of all species.
Definition at line 626 of file ThermalModelBase.cpp.
|
inlinevirtual |
Calculates the particle densities in a grand-canonical ensemble.
A non-GCE based derived class will override this method.
Reimplemented in thermalfist::ThermalModelCanonicalCharm, thermalfist::ThermalModelCanonicalStrangeness, thermalfist::ThermalModelEVCanonicalStrangeness, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 684 of file ThermalModelBase.h.
|
virtual |
Calculates the total densities which include feeddown contributions.
Calculation is based on the primordial densities computed by CalculateDensities().
Definition at line 407 of file ThermalModelBase.cpp.
|
virtual |
Computes the fluctuation observables.
Includes the matrix of 2nd order susceptibilities of conserved charges, as well as particle number correlations and fluctuations, both for primordial yields and after decays.
Reimplemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelCanonicalCharm, thermalfist::ThermalModelCanonicalStrangeness, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelIdeal, thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 1418 of file ThermalModelBase.cpp.
|
virtual |
Calculates the matrix of correlators between primordial (and also final) particle numbers and conserved charges.
Correlators are normalized by VT^3.
The calculation results are accessible through PrimordialParticleChargeCorrelation() and FinalParticleChargeCorrelation().
Definition at line 1366 of file ThermalModelBase.cpp.
|
pure virtual |
Calculates the primordial densities of all species.
Implemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelCanonicalCharm, thermalfist::ThermalModelCanonicalStrangeness, thermalfist::ThermalModelEVCanonicalStrangeness, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelIdeal, thermalfist::ThermalModelRealGas, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
|
virtual |
Calculates the susceptibility matrix of conserved charges proxies.
The following proxies are used: final net proton number for baryon number, net charge as is, and net kaon number for net strangeness. Charm not yet considered.
Decay feeddown contributions are in accordance with the stability flags.
The calculation results are accessible through ProxySusc()
Definition at line 1326 of file ThermalModelBase.cpp.
|
virtual |
Calculates the conserved charges susceptibility matrix.
Computes \( \chi_{ijkl}^{BSQC}~=~\frac{\partial^{l+m+n+k}p/T^4}{\partial(\mu_B/T)^i \,\partial(\mu_S/T)^j \,\partial(\mu_Q/T)^k\,\partial(\mu_C/T)^l} \) where i+j+k+l = 2.
If temperature derivatives are available, calculates also the temperature derivative of the conserved charges susceptibility matrix.
\( \frac{\partial\chi_{ijkl}^{BSQC}}{\partial T} \)
The calculation results are accessible through Susc() and dSuscdT()
Definition at line 1292 of file ThermalModelBase.cpp.
|
virtual |
Computes the temperature derivatives of densities, shifted chemical potentials, and primordial hadron number susceptibilities.
Reimplemented in thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelIdeal, thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 1422 of file ThermalModelBase.cpp.
|
virtual |
Computes the fluctuations and correlations of the primordial particle numbers.
More specifically, computes the susceptibility matrix \( \frac{1}{VT^3} \, \langle \Delta N_i^* \Delta N_j^* \rangle \), where \( N_i^* \) is the primordial yield of species i.
Reimplemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelIdeal, thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 964 of file ThermalModelBase.cpp.
|
virtual |
Computes particle number correlations and fluctuations for all final-state particles which are marked stable.
More specifically, computes the susceptibility matrix \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \), where \( N_i \) is the final yield of species i, and indices i and j corresponds to stable particles only.
To incorporate probabilistic decays uses the formalism from paper V.V. Begun, M.I. Gorenstein, M. Hauer, V. Konchakovski, O.S. Zozulya, Phys.Rev. C 74, 044903 (2006), https://arxiv.org/pdf/nucl-th/0606036.pdf
Definition at line 969 of file ThermalModelBase.cpp.
|
inline |
The canonical correlation volume V \(_c\) (fm \(^3\))
Definition at line 530 of file ThermalModelBase.h.
|
virtual |
Change the particle list.
TPS | A pointer to new particle list. |
Reimplemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelCanonicalCharm, thermalfist::ThermalModelCanonicalStrangeness, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, and thermalfist::ThermalModelVDW.
Definition at line 322 of file ThermalModelBase.cpp.
double thermalfist::ThermalModelBase::ChemicalPotential | ( | int | i | ) | const |
Chemical potential of particle species i.
i | 0-based index of particle species |
Definition at line 372 of file ThermalModelBase.cpp.
|
inline |
A vector of chemical potentials of all particles.
Definition at line 418 of file ThermalModelBase.h.
|
inline |
Number of different particle species in the list.
Definition at line 66 of file ThermalModelBase.h.
void thermalfist::ThermalModelBase::ConstrainChemicalPotentials | ( | bool | resetInitialValues = true | ) |
Constrains the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) by the conservation laws imposed.
This procedure uses the Broyden's method to solve the system of equations corresponding to the conservation laws. The actual implementation of the procedure is in FixParameters() and FixParametersNoReset() methods.
resetInitialValues | Whether initial guess values for \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) are reset or current values will be used |
Definition at line 447 of file ThermalModelBase.cpp.
|
inline |
Whether the baryon chemical potential is to be constrained by a fixed entropy per baryon ratio SoverB().
Definition at line 450 of file ThermalModelBase.h.
|
inline |
Sets whether the baryon chemical potential is to be constrained by a fixed entropy per baryon ratio SoverB().
Definition at line 454 of file ThermalModelBase.h.
|
inline |
Whether the charm chemical potential is to be constrained by the condition of charm neutrality
Definition at line 474 of file ThermalModelBase.h.
|
inline |
Sets whether the charm chemical potential is to be constrained by the condition of charm neutrality
Definition at line 478 of file ThermalModelBase.h.
|
inline |
Whether the electric chemical potential is to be constrained by a fixed electric-to-baryon ratio QoverB().
Definition at line 458 of file ThermalModelBase.h.
|
inline |
Sets whether the electric chemical potential is to be constrained by a fixed electric-to-baryon ratio QoverB().
Definition at line 462 of file ThermalModelBase.h.
|
inline |
Whether the strangeness chemical potential is to be constrained by the condition of strangeness neutrality
Definition at line 466 of file ThermalModelBase.h.
|
inline |
Sets whether the strangeness chemical potential is to be constrained by the condition of strangeness neutrality
Definition at line 470 of file ThermalModelBase.h.
|
virtual |
Switches off QvdW attraction terms for all baryon-antibaryon pairs i.e. \( a_{ij} = 0 \) for baryon-antibaryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 302 of file ThermalModelBase.cpp.
|
inline |
Definition at line 290 of file ThermalModelBase.h.
|
virtual |
Switches off eigenvolume terms for all baryon-antibaryon pairs i.e. \( \tilde{b}_{ij} = 0 \) for baryon-antibaryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 289 of file ThermalModelBase.cpp.
|
virtual |
Switches off QvdW attraction terms for all baryon-baryon pairs i.e. \( a_{ij} = 0 \) for baryon-baryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 276 of file ThermalModelBase.cpp.
|
inline |
Definition at line 279 of file ThermalModelBase.h.
|
virtual |
Switches off excluded volume terms for all baryon-baryon pairs i.e. \( \tilde{b}_{ij} = 0 \) for baryon-baryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 263 of file ThermalModelBase.cpp.
|
virtual |
Switches off QvdW attraction terms for all meson-baryon pairs i.e. \( a_{ij} = 0 \) for meson-baryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 250 of file ThermalModelBase.cpp.
|
inline |
Definition at line 268 of file ThermalModelBase.h.
|
virtual |
Switches off excluded volume terms for all meson-baryon pairs i.e. \( \tilde{b}_{ij} = 0 \) for meson-baryon pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 237 of file ThermalModelBase.cpp.
|
virtual |
Switches off QvdW attraction terms for all meson-meson pairs i.e. \( a_{ij} = 0 \) for meson-meson pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 225 of file ThermalModelBase.cpp.
|
inline |
Definition at line 257 of file ThermalModelBase.h.
|
virtual |
Switches off excluded volume terms for all meson-meson pairs i.e. \( \tilde{b}_{ij} = 0 \) for meson-meson pairs
Reimplemented in thermalfist::ThermalModelEVDiagonal.
Definition at line 213 of file ThermalModelBase.cpp.
|
virtual |
Sets the chemical potentials of all particles.
Uses the current values of \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_Q \) to set \( \mu_i \).
Reimplemented in thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 357 of file ThermalModelBase.cpp.
|
virtual |
Fills the excluded volume coefficients \( \tilde{b}_{ij} \) based on the provided radii parameters for all species.
Fills the coefficients in accordance with Eqs. (5) and (7) here https://arxiv.org/pdf/1606.06218.pdf
ri | A vector with radii parameters for all species. 0-based indices of the vector must corresponds to the 0-based indices of the particle list TPS() |
Reimplemented in thermalfist::ThermalModelEVCanonicalStrangeness, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 94 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed final (after decays) net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1277 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1257 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed final (after decays) particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1266 of file ThermalModelBase.cpp.
|
virtual |
The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified baryon, electric, strangeness, and charm densities.
Uses the Broyden's method to determine the chemical potentials. The resulting chemical potentials are stored in Parameters().
rhoB | The total desired net baryon charge of the system. |
rhoQ | The total desired electric charge of the system. |
rhoS | The total desired net strangeness of the system. |
rhoC | The total desired net charm of the system. |
muBinit | The initial guess for the baryon chemical potential. |
muQinit | The initial guess for the electric chemical potential. |
muSinit | The initial guess for the strangeness chemical potential. |
muCinit | The initial guess for the charm chemical potential. |
ConstrMuB | Whether the baryon chemical potential should be constrained. |
ConstrMuQ | Whether the electric chemical potential should be constrained. |
ConstrMuS | Whether the strangeness chemical potential should be constrained. |
ConstrMuC | Whether the charm chemical potential should be constrained. |
Definition at line 529 of file ThermalModelBase.cpp.
|
virtual |
Method which actually implements ConstrainChemicalPotentials() (for backward compatibility).
Reimplemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelCanonicalCharm, and thermalfist::ThermalModelCanonicalStrangeness.
Definition at line 455 of file ThermalModelBase.cpp.
|
virtual |
Method which actually implements ConstrainChemicalPotentialsNoReset() (for backward compatibility).
Reimplemented in thermalfist::ThermalModelCanonical.
Definition at line 488 of file ThermalModelBase.cpp.
|
virtual |
Chemical potential entering the ideal gas expressions of particle species i.
Includes chemical non-equilibrium and EV/vdW effects
i | 0-based index of particle species |
Definition at line 388 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between final net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
Definition at line 1186 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) between primordial net-particle numbers for pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
Definition at line 1117 of file ThermalModelBase.cpp.
|
inline |
Definition at line 108 of file ThermalModelBase.h.
|
inline |
Definition at line 121 of file ThermalModelBase.h.
|
virtual |
Returns the computed primordial net particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1242 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with id i and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1222 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed primordial particle vs conserved charge (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_chg \rangle \) for particle with pdg code id1 and conserved charge chg. CalculateFluctuations() must be called beforehand.
Definition at line 1231 of file ThermalModelBase.cpp.
|
inline |
Definition at line 507 of file ThermalModelBase.h.
|
inline |
Whether quantum statistics is used, 0 - Boltzmann, 1 - Quantum
Definition at line 348 of file ThermalModelBase.h.
|
inlinevirtual |
Reads the QvdW interaction parameters from a file.
Actual implementation is in a derived class.
filename | File with interaction parameters. |
Reimplemented in thermalfist::ThermalModelEVCanonicalStrangeness, thermalfist::ThermalModelEVCrossterms, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 304 of file ThermalModelBase.h.
|
inline |
Definition at line 334 of file ThermalModelBase.h.
|
inlinevirtual |
Set the vdW mean field attraction coefficient \( a_{ij} \).
i | 0-based index of the first particle species |
j | 0-based index of the second particle species |
a | vdW mean field attraction parameter \( a_{ij} \) (GeV fm \(^3\)) |
Reimplemented in thermalfist::ThermalModelEVCrossterms, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 251 of file ThermalModelBase.h.
|
virtual |
Set the total baryon number (for canonical ensemble only)
B | Total baryon number |
Definition at line 189 of file ThermalModelBase.cpp.
|
virtual |
Set the baryon chemical potential.
muB | Baryon chemical potential (GeV) |
Definition at line 149 of file ThermalModelBase.cpp.
|
inlinevirtual |
Sets the CalculationType() method to evaluate quantum statistics. Calls the corresponding method in TPS().
type | Method to evaluate quantum statistics. |
Definition at line 360 of file ThermalModelBase.h.
|
inline |
Set the canonical correlation volume V \(_c\).
Volume | Canonical correlation volume (fm \(^3\)) |
Definition at line 537 of file ThermalModelBase.h.
|
inline |
Set the canonical correlation system radius.
The canonical correlation volume is computed as \(V_c = \frac{4\pi}{3} \, R_c^3\)
Radius |
Definition at line 547 of file ThermalModelBase.h.
|
virtual |
Set the total charm (for canonical ensemble only)
B | Total charm |
Definition at line 207 of file ThermalModelBase.cpp.
|
virtual |
Set the charm chemical potential.
muC | Charm chemical potential (GeV) |
Reimplemented in thermalfist::ThermalModelCanonicalCharm.
Definition at line 170 of file ThermalModelBase.cpp.
|
virtual |
Sets the chemical potential of particle species i.
i | 0-based index of particle species |
chem | value of the chemical potential |
Definition at line 380 of file ThermalModelBase.cpp.
|
virtual |
Sets the chemical potentials of all particles.
chem | A vector with chemical potentials of all species. 0-based indices of the vector must corresponds to the 0-based indices of the particle list TPS() |
Reimplemented in thermalfist::ThermalModelRealGas, and thermalfist::ThermalModelVDW.
Definition at line 363 of file ThermalModelBase.cpp.
|
inlinevirtual |
Set the number of terms in the cluster expansion method. Calls the corresponding method in TPS().
Sets the same value for all particles. To set individually for each particle use ThermalParticle::SetClusterExpansionOrder().
order | Number of terms. |
Definition at line 372 of file ThermalModelBase.h.
|
virtual |
Set the total electric charge (for canonical ensemble only)
B | Total electric charge |
Definition at line 195 of file ThermalModelBase.cpp.
|
virtual |
Set the electric chemical potential.
muQ | Electric chemical potential (GeV) |
Definition at line 156 of file ThermalModelBase.cpp.
|
virtual |
Set the charm quark fugacity factor.
gammaC | Charm quark fugacity factor |
Definition at line 183 of file ThermalModelBase.cpp.
|
virtual |
Set the light quark fugacity factor.
gammaq | Light quark fugacity factor |
Definition at line 315 of file ThermalModelBase.cpp.
|
virtual |
Set the strange quark fugacity factor.
gammaS | Strange quark fugacity factor |
Definition at line 177 of file ThermalModelBase.cpp.
void thermalfist::ThermalModelBase::SetNormBratio | ( | bool | normBratio | ) |
Whether branching ratios are renormalized to 100%.
normBratio | Whether branching ratios shoul be renormalized to 100%. |
Definition at line 117 of file ThermalModelBase.cpp.
|
inline |
OpenMP support. Currently not used.
Definition at line 112 of file ThermalModelBase.h.
|
virtual |
The thermal parameters.
params | The thermal parameters to be used |
Reimplemented in thermalfist::ThermalModelCanonicalCharm, and thermalfist::ThermalModelCanonicalStrangeness.
Definition at line 137 of file ThermalModelBase.cpp.
|
inline |
The electric-to-baryon charge ratio to be used to constrain the electric chemical potential.
QB | The electric-to-baryon charge ratio |
Definition at line 506 of file ThermalModelBase.h.
|
inlinevirtual |
Set the same excluded volume radius parameter for all species.
rad | Radius parameter (fm) |
Reimplemented in thermalfist::ThermalModelEVCanonicalStrangeness, thermalfist::ThermalModelEVCrossterms, thermalfist::ThermalModelEVCrosstermsLegacy, and thermalfist::ThermalModelEVDiagonal.
Definition at line 219 of file ThermalModelBase.h.
|
inlinevirtual |
Set the radius parameter for particle species i.
i | 0-based index of particle species |
rad | Radius parameter (fm) |
Reimplemented in thermalfist::ThermalModelEVCanonicalStrangeness, and thermalfist::ThermalModelEVDiagonal.
Definition at line 227 of file ThermalModelBase.h.
|
inlinevirtual |
Same as SetVirial() but with a more clear name on what is actually does.
Definition at line 242 of file ThermalModelBase.h.
void thermalfist::ThermalModelBase::SetResonanceWidthIntegrationType | ( | ThermalParticle::ResonanceWidthIntegration | type | ) |
Set the ThermalParticle::ResonanceWidthIntegration scheme for all particles. Calls the corresponding method in TPS().
type | ThermalParticle::ResonanceWidthIntegration |
Definition at line 347 of file ThermalModelBase.cpp.
|
inline |
Set the ThermalParticle::ResonanceWidthShape for all particles. Calls the corresponding method in TPS().
This global setting can be overriden for individual particles by ThermalParticle::SetResonanceWidthShape().
shape | ThermalParticle::ResonanceWidthShape |
Definition at line 383 of file ThermalModelBase.h.
|
inline |
The entropy per baryon ratio to be used to constrain the baryon chemical potential.
SB | The entropy per baryon |
Definition at line 494 of file ThermalModelBase.h.
|
virtual |
Set whether quantum statistics is used, 0 - Boltzmann, 1 - Quantum
Reimplemented in thermalfist::ThermalModelCanonical, thermalfist::ThermalModelCanonicalCharm, and thermalfist::ThermalModelCanonicalStrangeness.
Definition at line 341 of file ThermalModelBase.cpp.
|
virtual |
Set the total strangeness (for canonical ensemble only)
B | Total strangeness |
Definition at line 201 of file ThermalModelBase.cpp.
|
virtual |
Set the strangeness chemical potential.
muS | Strangeness chemical potential (GeV) |
Reimplemented in thermalfist::ThermalModelCanonicalStrangeness.
Definition at line 163 of file ThermalModelBase.cpp.
|
virtual |
Set the temperature.
T | Temperature (GeV) |
Definition at line 143 of file ThermalModelBase.cpp.
void thermalfist::ThermalModelBase::SetUseWidth | ( | bool | useWidth | ) |
Sets whether finite resonance widths are used. Deprecated.
If the widths are to be used, the ThermalParticle::ResonanceWidthIntegration::BWTwoGamma scheme will be used.
useWidth | Whether to use the finite resonance widths. |
Definition at line 98 of file ThermalModelBase.cpp.
void thermalfist::ThermalModelBase::SetUseWidth | ( | ThermalParticle::ResonanceWidthIntegration | type | ) |
Sets the finite resonance widths scheme to use.
type | ThermalParticle::ResonanceWidthIntegration scheme |
Definition at line 110 of file ThermalModelBase.cpp.
|
inlinevirtual |
Set the excluded volume coefficient \( \tilde{b}_{ij} \).
Excluded parameter for repulsive interaction between particle species i and j.
i | 0-based index of the first particle species |
j | 0-based index of the second particle species |
b | Excluded volume parameter \( \tilde{b}_{ij} \) (fm \(^3\)) |
Reimplemented in thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 239 of file ThermalModelBase.h.
|
inline |
Sets the system volume.
Volume | System volume (fm \(^3\)) |
Definition at line 515 of file ThermalModelBase.h.
|
inline |
Sets the system radius.
The system volume is computed as \(V = \frac{4\pi}{3} \, R^3\)
Volume | System radius (fm) |
Definition at line 527 of file ThermalModelBase.h.
|
virtual |
The procedure which calculates the chemical potentials \( \mu_B,\,\mu_Q,\,\mu_S,\,\mu_C \) which reproduce the specified total baryon, electric, strangeness, and charm charges of the system.
Uses the Broyden's method to determine the chemical potentials. The resulting chemical potentials are stored in Parameters(). Useful for canonical ensemble applications.
totB | The total desired net baryon charge of the system. |
totQ | The total desired electric charge of the system. |
totS | The total desired net strangeness of the system. |
totC | The total desired net charm of the system. |
muBinit | The initial guess for the baryon chemical potential. |
muQinit | The initial guess for the electric chemical potential. |
muSinit | The initial guess for the strangeness chemical potential. |
muCinit | The initial guess for the charm chemical potential. |
ConstrMuB | Whether the baryon chemical potential should be constrained. |
ConstrMuQ | Whether the electric chemical potential should be constrained. |
ConstrMuS | Whether the strangeness chemical potential should be constrained. |
ConstrMuC | Whether the charm chemical potential should be constrained. |
Definition at line 539 of file ThermalModelBase.cpp.
|
inline |
Definition at line 495 of file ThermalModelBase.h.
|
virtual |
A 2nd order susceptibility of conserved charges.
\( \chi_{11}^{c_i c_j} \)
i | First conserved charge |
j | Second conserved charge |
Definition at line 2120 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable.
Definition at line 1153 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed final particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand. Both particle species must be those marked stable.
Definition at line 1169 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand.
Definition at line 1066 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed primordial particle number (cross-)susceptibility \( \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
Definition at line 1075 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with ids i and j. CalculateFluctuations() must be called beforehand.
Definition at line 1092 of file ThermalModelBase.cpp.
|
virtual |
Returns the computed temperature derivative of the primordial particle number (cross-)susceptibility \( \frac{\partial}{\partial T} \frac{1}{VT^3} \, \langle \Delta N_i \Delta N_j \rangle \) for particles with pdg codes id1 and id2. CalculateFluctuations() must be called beforehand.
Definition at line 1100 of file ThermalModelBase.cpp.
|
inline |
Calls SetParameters() with current m_Parameters.
Definition at line 128 of file ThermalModelBase.h.
|
inline |
Whether partial chemical equilibrium with additional chemical potentials is used.
Definition at line 484 of file ThermalModelBase.h.
|
inline |
Sets whether partial chemical equilibrium with additional chemical potentials is used.
Definition at line 481 of file ThermalModelBase.h.
|
inline |
Whether finite resonance widths are considered.
Definition at line 82 of file ThermalModelBase.h.
|
virtual |
Checks whether issues have occured during the calculation of particle densities in the CalculateDensities() method.
Reimplemented in thermalfist::ThermalModelCanonical.
Definition at line 633 of file ThermalModelBase.cpp.
|
inline |
All messaged which occured during the validation procedure in the ValidateCalculation() method.
Definition at line 676 of file ThermalModelBase.h.
|
inlinevirtual |
Excluded volume coefficient \( \tilde{b}_{ij} = 0 \).
Excluded parameter for repulsive interaction between particle species i and j.
i | 0-based index of the first particle species |
j | 0-based index of the second particle species |
Reimplemented in thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 333 of file ThermalModelBase.h.
|
inline |
System volume (fm \(^3\))
Definition at line 517 of file ThermalModelBase.h.
|
inlinevirtual |
Write the QvdW interaction parameters to a file.
Actual implementation is in a derived class.
filename | Output file. |
Reimplemented in thermalfist::ThermalModelEVCanonicalStrangeness, thermalfist::ThermalModelEVCrossterms, thermalfist::ThermalModelEVCrosstermsLegacy, thermalfist::ThermalModelEVDiagonal, thermalfist::ThermalModelVDW, and thermalfist::ThermalModelVDWCanonicalStrangeness.
Definition at line 313 of file ThermalModelBase.h.