Thermal-FIST
1.3
Package for hadron resonance gas model applications
|
Class implementing HRG in partial chemical equilibrium. More...
#include <ThermalModelPCE.h>
Classes | |
class | BroydenEquationsPCE |
Public Types | |
enum | PCEMode { AtFixedTemperature = 0, AtFixedVolume = 1 } |
Whether partial chemical equilibrium should be calculated at a fixed value of the temperature or a fixed value of the volume. More... | |
Public Member Functions | |
ThermalModelPCE (ThermalModelBase *THMbase, bool FreezeLonglived=false, double LonglivedResoWidthCut=0.015) | |
Construct a new ThermalModelPCE object. More... | |
virtual | ~ThermalModelPCE (void) |
Destroy the ThermalModelPCE object. More... | |
ThermalModelBase * | ThermalModel () const |
Pointer to the HRG model used in calculations. More... | |
virtual void | CalculatePCE (double param, PCEMode mode=AtFixedTemperature) |
Solves the equations of partial chemical equilibrium at a fixed temperature or a fixed volume. More... | |
const std::vector< double > & | ChemicalPotentials () const |
double | Volume () const |
void | ApplyFixForBoseCondensation () |
Modifies the decay threshold masses of bosonic resonances such that the Bose-Condesation does not occur due to large fugacities. More... | |
void | UseSahaForNuclei (bool flag) |
Whether the nuclear abundances are evaluated through the Saha equation. More... | |
bool | UseSahaForNuclei () const |
void | FreezeLonglivedResonances (bool flag) |
Whether long-lived resonances yields should be frozen. More... | |
bool | FreezeLonglivedResonances () const |
void | SetLonglivedResonanceWidthCut (double width_cut) |
The threshold resonance width value to consider the resonance long-lived and its abundance frozen in the hadronic phase. More... | |
double | LonglivedResonanceWidthCut () const |
virtual void | SetStabilityFlags (const std::vector< int > &StabilityFlags) |
Manually set the PCE stability flags for all species. More... | |
const std::vector< int > & | StabilityFlags () const |
void | SetChemicalFreezeout (const ThermalModelParameters ¶ms, const std::vector< double > &ChemInit=std::vector< double >(0)) |
Sets the chemical freeze-out conditions to be used as an initial condition for PCE calculations. More... | |
void | SetEntropyDensityChem (double sinit) |
Sets the entropy density at the chemical freeze-out. More... | |
double | EntropyDensityChem () const |
Static Public Member Functions | |
static void | PrepareNucleiForPCE (ThermalParticleSystem *TPS) |
Fills the "decay" products of light nuclei in accordance with their baryon content. More... | |
static std::vector< int > | ComputePCEStabilityFlags (const ThermalParticleSystem *TPS, bool SahaEquationForNuclei=true, bool FreezeLongLived=false, double WidthCut=0.015) |
Computes the PCE stability flags based on the provided particle list and a number of parameters. More... | |
Protected Attributes | |
ThermalModelBase * | m_model |
bool | m_UseSahaForNuclei |
Whether nuclear abundances are calculated via the Saha equation. More... | |
bool | m_FreezeLonglivedResonances |
Whether long-lived resonances are frozen at Tch. More... | |
double | m_ResoWidthCut |
Resonance width cut for freezeing the resonance abundances. More... | |
bool | m_ChemicalFreezeoutSet |
Whether the chemical freeze-out "initial" condition has been set. More... | |
bool | m_IsCalculated |
Whether PCE has been calculated. More... | |
bool | m_StabilityFlagsSet |
PCE configuration, list of stable species etc. More... | |
std::vector< int > | m_StabilityFlags |
int | m_StableComponentsNumber |
std::vector< std::vector< double > > | m_EffectiveCharges |
std::vector< int > | m_StableMapTo |
ThermalModelParameters | m_ParametersInit |
Parameters at the chemical freeze-out. More... | |
std::vector< double > | m_ChemInit |
std::vector< double > | m_DensitiesInit |
std::vector< double > | m_StableDensitiesInit |
double | m_EntropyDensityInit |
double | m_ParticleDensityInit |
ThermalModelParameters | m_ParametersCurrent |
The current PCE thermal paratmeres and chemical potentials. More... | |
std::vector< double > | m_ChemCurrent |
Class implementing HRG in partial chemical equilibrium.
Partial chemical equilbiirum (PCE) describes the hadronic phase dynamics.
The basic ideas about PCE can be found in H. Bebie, P. Gerber, J.L. Goity, H. Leutwyler, Nucl. Phys. B 378, 95 (1992)
The present implementation was used (and described) in a paper V. Vovchenko, K. Gallmeister, J. Schaffner-Bielich, C. Greiner, Phys. Lett. B 800, 135131 (2020), arXiv:1903.10024
A typical usage pattern is the following:
Definition at line 35 of file ThermalModelPCE.h.
Whether partial chemical equilibrium should be calculated at a fixed value of the temperature or a fixed value of the volume.
Used in CalculatePCE()
Enumerator | |
---|---|
AtFixedTemperature |
Partial chemical equilibrium at fixed value of the temperature. |
AtFixedVolume |
Partial chemical equilibrium at fixed value of the volume. |
Definition at line 45 of file ThermalModelPCE.h.
thermalfist::ThermalModelPCE::ThermalModelPCE | ( | ThermalModelBase * | THMbase, |
bool | FreezeLonglived = false , |
||
double | LonglivedResoWidthCut = 0.015 |
||
) |
Construct a new ThermalModelPCE object.
THMbase | A pointer to the ThermalModelBase object containing the HRG model implementation |
FreezeLonglived | Whether long-lived resonance abundances should be frozen at Tch along with the stable hadrons |
LonglivedResoWidthCut | Threshold width for the long-lived resonances to be considered stable in the PCE |
Definition at line 15 of file ThermalModelPCE.cpp.
|
inlinevirtual |
Destroy the ThermalModelPCE object.
Definition at line 66 of file ThermalModelPCE.h.
void thermalfist::ThermalModelPCE::ApplyFixForBoseCondensation | ( | ) |
Modifies the decay threshold masses of bosonic resonances such that the Bose-Condesation does not occur due to large fugacities.
This is only necessary if energy-dependent Breit-Wigner widths are used.
Definition at line 335 of file ThermalModelPCE.cpp.
|
virtual |
Solves the equations of partial chemical equilibrium at a fixed temperature or a fixed volume.
param | Temperature (in GeV) if mode correspond to PCE at fixed temperature, Volume (in fm^3) if mode correspond to PCE at fixed volume. |
mode | Determines whether the PCE calculation is perfored at a fixed temperature (default) or at a fixed volume. |
Definition at line 117 of file ThermalModelPCE.cpp.
|
inline |
Definition at line 156 of file ThermalModelPCE.h.
|
static |
Computes the PCE stability flags based on the provided particle list and a number of parameters.
TPS | Pointer to the particle list |
SahaEquationForNuclei | Whether the Saha equation is applied to light nuclei |
FreezeLongLived | Whether long-lived resonance yields are frozen at the chemical freeze-out |
WidthCut | The threshold resonance width value to consider the resonance long-lived and its abundance frozen [GeV] |
Definition at line 305 of file ThermalModelPCE.cpp.
|
inline |
Definition at line 135 of file ThermalModelPCE.h.
|
inline |
Whether long-lived resonances yields should be frozen.
If set, the long-lived resonance with width smaller than LonglivedResonanceWidthCut() are frozen at the chemical freeze-out of stable hadrons. Otherwise, their abundances are evaluated through the chemical potentials of their decay products.
flag | Whether long-lived resonances yields should be frozen. |
Definition at line 89 of file ThermalModelPCE.h.
|
inline |
Definition at line 90 of file ThermalModelPCE.h.
|
inline |
Definition at line 102 of file ThermalModelPCE.h.
|
static |
Fills the "decay" products of light nuclei in accordance with their baryon content.
TPS | Pointer to the particle list |
Definition at line 182 of file ThermalModelPCE.cpp.
void thermalfist::ThermalModelPCE::SetChemicalFreezeout | ( | const ThermalModelParameters & | params, |
const std::vector< double > & | ChemInit = std::vector<double>(0) |
||
) |
Sets the chemical freeze-out conditions to be used as an initial condition for PCE calculations.
params | Thermal parameters at the chemical freeze-out. |
ChemInit | Chemical potentials of all species at the chemical freeze-out. If this vector is empty (default value), the chemical potentials are populated using params |
Definition at line 74 of file ThermalModelPCE.cpp.
|
inline |
Sets the entropy density at the chemical freeze-out.
sinit | Entropy density at the chemical freeze-out. |
Definition at line 134 of file ThermalModelPCE.h.
|
inline |
The threshold resonance width value to consider the resonance long-lived and its abundance frozen in the hadronic phase.
Note: This function sets FreezeLonglivedResonances() to true.
width_cut | The threshold resonance width [GeV]. |
Definition at line 101 of file ThermalModelPCE.h.
|
virtual |
Manually set the PCE stability flags for all species.
StabilityFlags | Vector of stability flags. Each element corresponds to a particle specie with the same 0-based index in the particle list. Element i equal to zero means particle yield is not frozen in the hadronic phase, otherwise it is frozen. |
Definition at line 27 of file ThermalModelPCE.cpp.
|
inline |
Definition at line 114 of file ThermalModelPCE.h.
|
inline |
Pointer to the HRG model used in calculations.
Definition at line 141 of file ThermalModelPCE.h.
|
inline |
Whether the nuclear abundances are evaluated through the Saha equation.
If not set, the nuclear abundances are frozed at the chemical freeze-out of stable hadrons.
flag | Flag whether the Saha equation is used. |
Definition at line 76 of file ThermalModelPCE.h.
|
inline |
Definition at line 77 of file ThermalModelPCE.h.
|
inline |
Definition at line 161 of file ThermalModelPCE.h.
|
protected |
Definition at line 226 of file ThermalModelPCE.h.
|
protected |
Whether the chemical freeze-out "initial" condition has been set.
Definition at line 204 of file ThermalModelPCE.h.
|
protected |
Definition at line 218 of file ThermalModelPCE.h.
|
protected |
Definition at line 219 of file ThermalModelPCE.h.
|
protected |
Definition at line 213 of file ThermalModelPCE.h.
|
protected |
Definition at line 221 of file ThermalModelPCE.h.
|
protected |
Whether long-lived resonances are frozen at Tch.
Definition at line 199 of file ThermalModelPCE.h.
|
protected |
Whether PCE has been calculated.
Definition at line 207 of file ThermalModelPCE.h.
|
protected |
Definition at line 193 of file ThermalModelPCE.h.
|
protected |
The current PCE thermal paratmeres and chemical potentials.
Definition at line 225 of file ThermalModelPCE.h.
|
protected |
Parameters at the chemical freeze-out.
Definition at line 217 of file ThermalModelPCE.h.
|
protected |
Definition at line 222 of file ThermalModelPCE.h.
|
protected |
Resonance width cut for freezeing the resonance abundances.
Definition at line 201 of file ThermalModelPCE.h.
|
protected |
Definition at line 211 of file ThermalModelPCE.h.
|
protected |
PCE configuration, list of stable species etc.
Definition at line 210 of file ThermalModelPCE.h.
|
protected |
Definition at line 212 of file ThermalModelPCE.h.
|
protected |
Definition at line 220 of file ThermalModelPCE.h.
|
protected |
Definition at line 214 of file ThermalModelPCE.h.
|
protected |
Whether nuclear abundances are calculated via the Saha equation.
Definition at line 196 of file ThermalModelPCE.h.