1 #ifndef THERMALMODELPCE_H 2 #define THERMALMODELPCE_H 180 bool SahaEquationForNuclei =
true,
181 bool FreezeLongLived =
false,
182 double WidthCut = 0.015);
232 std::vector<double>
Equations(
const std::vector<double> &x);
void SetLonglivedResonanceWidthCut(double width_cut)
The threshold resonance width value to consider the resonance long-lived and its abundance frozen in ...
Abstract base class for an HRG model implementation.
double m_EntropyDensityInit
const std::vector< double > & ChemicalPotentials() const
std::vector< double > m_ChemCurrent
Partial chemical equilibrium at fixed value of the temperature.
Class implementing HRG in partial chemical equilibrium.
double EntropyDensityChem() const
ThermalModelBase * m_model
void SetEntropyDensityChem(double sinit)
Sets the entropy density at the chemical freeze-out.
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...
std::vector< double > Equations(const std::vector< double > &x)
ThermalModelBase * ThermalModel() const
Pointer to the HRG model used in calculations.
virtual void SetStabilityFlags(const std::vector< int > &StabilityFlags)
Manually set the PCE stability flags for all species.
int m_N
The number of equations.
Class containing the particle list.
bool FreezeLonglivedResonances() const
int m_StableComponentsNumber
std::vector< int > m_StabilityFlags
std::vector< double > m_ChemInit
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 void CalculatePCE(double param, PCEMode mode=AtFixedTemperature)
Solves the equations of partial chemical equilibrium at a fixed temperature or a fixed volume...
bool m_FreezeLonglivedResonances
Whether long-lived resonances are frozen at Tch.
std::vector< double > m_StableDensitiesInit
double m_ParticleDensityInit
void FreezeLonglivedResonances(bool flag)
Whether long-lived resonances yields should be frozen.
bool UseSahaForNuclei() const
bool m_IsCalculated
Whether PCE has been calculated.
Partial chemical equilibrium at fixed value of the volume.
ThermalModelPCE(ThermalModelBase *THMbase, bool FreezeLonglived=false, double LonglivedResoWidthCut=0.015)
Construct a new ThermalModelPCE object.
bool m_ChemicalFreezeoutSet
Whether the chemical freeze-out "initial" condition has been set.
static void PrepareNucleiForPCE(ThermalParticleSystem *TPS)
Fills the "decay" products of light nuclei in accordance with their baryon content.
bool m_UseSahaForNuclei
Whether nuclear abundances are calculated via the Saha equation.
std::vector< int > m_StableMapTo
ThermalModelParameters m_ParametersCurrent
The current PCE thermal paratmeres and chemical potentials.
std::vector< std::vector< double > > m_EffectiveCharges
virtual ~ThermalModelPCE(void)
Destroy the ThermalModelPCE object.
std::vector< double > m_DensitiesInit
void UseSahaForNuclei(bool flag)
Whether the nuclear abundances are evaluated through the Saha equation.
ThermalModelParameters m_ParametersInit
Parameters at the chemical freeze-out.
bool m_StabilityFlagsSet
PCE configuration, list of stable species etc.
Implementation of the generic Broyden's method routines.
BroydenEquationsPCE(ThermalModelPCE *model, int mode=0)
double LonglivedResonanceWidthCut() const
PCEMode
Whether partial chemical equilibrium should be calculated at a fixed value of the temperature or a fi...
void ApplyFixForBoseCondensation()
Modifies the decay threshold masses of bosonic resonances such that the Bose-Condesation does not occ...
double m_ResoWidthCut
Resonance width cut for freezeing the resonance abundances.
const std::vector< int > & StabilityFlags() const
The main namespace where all classes and functions of the Thermal-FIST library reside.
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...