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