Skip to content

Releases: vlvovch/Thermal-FIST

Version 1.6

17 Feb 04:12

Choose a tag to compare

Version 1.6

Date: 2026-02-16

The major additions in this version are:

  • Update the default particle list to PDG2025
  • Significantly extended and validated charm sector
  • WebAssembly (WASM) support for running the GUI in a web browser: https://thermal-fist.vovchenko.net
  • Improved calculation of Fermi-Dirac intergrals at low temperatures
  • A number of technical improvements and minor bugfixes

Development Note

This is the first version with significant involvement of AI coding agents, primarily Claude Code and OpenAI Codex. Their use streamlined the refactoring of the code, including but not limited to: WASM implementation of QtThermalFIST; validation of hadron properties against PDG; documentation; extension of exampled and unit tests. The AI still made some mistakes which needed manual input to fix. However, the capability of the agents ahve increased significantly recently and their use is likely to become more frequent.

PDG2025 particle lists

  • The default particle list is now based on the 2025 edition of the PDG listing
  • Significantly extended and validated charm sector: charmed hadrons and charmonia cross-checked against PDG2025 mass/width data, with corrected branching ratios and catch-all decay channels for completeness
  • Modular list structure in input/list/PDG2025/modular/ for fine-grained customization
  • Isospin-symmetric list available (list-isospin-symmetric.dat)

WebAssembly (WASM) support

The QtThermalFIST GUI can now run directly in a web browser via WebAssembly. It can be accessed directly at thermal-fist.vovchenko.net. Chrome is recommended for multi-threaded execution.

  • Core GUI functionality in the browser, including thermal model calculations, thermal fits, equation of state, and event generator
  • Calculations are performed locally (client-side) in the browser using your CPU
  • Supports both single-threaded and multi-threaded builds (Qt 6.10.1 + Emscripten 4.0.7); multi-threaded builds require proper COOP/COEP headers and SharedArrayBuffer support
  • See docs/wasm-build.md for build and deployment instructions

GUI enhancements

  • Quick particle list switching via two combo boxes: PDG edition (PDG2014/2020/2025) and list variant (default, no nuclei, with charm, etc.)
  • Informative display of loaded particle list with particle count
  • Improved rendering of lattice QCD data for ratios in the equation of state tab
  • Better default parameter ranges for cosmic trajectory calculations

Improved low-temperature ideal gas functions

  • Replaced simple Gauss-Laguerre quadrature with a Sommerfeld-Legendre scheme that splits integration at the Fermi momentum p_F: 32-point Gauss-Legendre below p_F with an adaptive mapping that concentrates nodes near the Fermi surface at low T, plus 32-point shifted Gauss-Laguerre above p_F. The old scheme failed to resolve the sharp Fermi step at low temperatures, producing errors of 100–390% in susceptibilities
  • Applied integration-by-parts (IBP) decomposition to Fermi-Dirac integrands for baryon susceptibilities (χ₂, χ₃, χ₄), replacing oscillatory Fermi-Dirac derivative products with smoother forms amenable to the Sommerfeld-Legendre + Laguerre quadrature scheme
  • Applied double-IBP (σ·H) form for ds/dT achieving ~2×10⁻⁴ relative accuracy at low T (16× improvement over original integrand)
  • Extracted analytic T = 0 values for susceptibilities and entropy/energy density derivatives, decomposing each result into a known constant plus a thermal correction that vanishes as T → 0
  • Added CalculateEntropyDensityDerivativeT() and CalculateEnergyDensityDerivativeT() to all model classes (Ideal, VDW, EV-Diagonal, RealGas) with proper T = 0 support
  • Added dimensionfull flag to CalculateChargeFluctuations across all model implementations to avoid T-division that breaks at T = 0
  • Added LaTeX technical note documenting the IBP derivations and numerical improvements (docs/notes/FermiIntegralIBP/)

Bugfixes

  • Fixed calculation of charge susceptibilities at zero temperature
  • Fixed Bose-Einstein integrals at T = 0 and μ > m
  • Fixed Broyden solver stability issues with SearchFirstSolution fallback
  • Fixed V_c fits in charm-canonical ensemble
  • Added check for multi-charmed states in ThermalModelCanonicalCharm
  • Thermodynamic stability checks via Hessian eigenvalue analysis
  • More stable cosmic trajectory calculations in the GUI
  • More lenient handling of missing decays
  • Fixed slow font lookup on macOS due to missing "Monospace" font family in particle dialog

Effective Mass Model

  • Implemented temperature derivatives (ds/dT, de/dT, dn/dT, dχ₂/dT) in the EffectiveMassModel via chain rule through the gap equation, supporting both normal and BEC phases
  • Added DmeffDT() for computing dm*/dT from implicit differentiation of the gap equation
  • Fixed ThermalModelBase::SetParameters() to call FillChemicalPotentials(), ensuring per-species chemical potentials are always up-to-date
  • Added unit tests (test_EMMDerivatives) verifying thermodynamic identity, T-derivatives, and μ-derivatives against numerical finite differences to <10⁻⁶ accuracy, including BEC phase

Other changes

  • Option to use effective mass model for kaon interactions to reach large strangeness/charge chemical potentials (similar to pion implementation which was done before)
  • Added CITATION.cff for automated citation metadata and Zenodo integration
  • Unified configureTableRowHeight implementation across all platforms
  • Various CI/CD improvements
  • Added ALICE Pb-Pb 5.02 TeV symmetrized yield data

Full Changelog: v1.5.2...v1.6

Version 1.5.2

24 Jul 01:56
acc0e66

Choose a tag to compare

Version 1.5.2

Date: 2025-07-23

This update mainly fixes a couple of bugs in event generator mode (thanks to @aohlson).
Namely, it fixes a bug causing an infinite loop in the event generator when the number of particles in the event is zero.
This can happen when simulating low-multiplicity proton-proton collisions with local charge conservation.
It also fixes an issue with initialization of Breit-Wigner distributions in the event generator, which could cause invalid_argument exceptions.

Bugfixes

  • Fixed a bug in the event generator causing an infinite loop when the number of particles in the event is zero.
  • Fixed an issue with initialization of Breit-Wigner distributions by properly checking if the width is zero.

Enhancements

  • Implemented $m \to 0$ limit for quantum statistics calculations using cluster expansion.
  • Added additional flag checks for ThermalModelCanonical calculations.

Full Changelog: v1.5.1...v1.5.2

Version 1.5.1

06 Jul 23:20
8620e34

Choose a tag to compare

Version 1.5.1

Date: 2025-07-06

Bugfixes

  • Fixed the setting of meson–meson and meson–baryon interactions in the GUI (it was opposite to what was selected)
  • Corrected pressure and energy density calculation for mixed-canonical ensembles.

Other changes

  • GUI updates: extended range for $n_B/s$ and added factorial cumulant option.
  • Updated build workflows.
  • Various documentation and typo fixes.

Version 1.5

23 Mar 00:05

Choose a tag to compare

Date: 2024-03-22

Version 1.5 contains a number of new features and improvements.

Real gas HRG

This version contains a first complete version of real gas HRG.
Real gas is a generalization of the van der Waals HRG.
It implements a generalization of the excluded volume prescription by considering non-linear EV prescriptions, such as Carnahan-Starling EoS.
It also allows one to incorporate arbitrary mean fields which can be a function of all densities in the system.
This allows one to model the effects of interactions in dense regime, such as in neutron stars.

A real gas model for a single component case has been formulated in Vovchenko, Phys. Rev. C 96, 015206 (2017) while a paper detailing the formulation of the model for multiple components is in preparation.

Real gas HRG is implemented as a new ThermalModelRealGas class.
It takes as input the excluded volume model and the mean field model, both of which can be arbitrary.
The source code contains a number of examples of both models, such as van der Waals/Carnahan-Starling excluded volume, and van der Waals or baryon density dependent mean field.

Real gas HRG fully supports the calculation of all the standard thermodynamic quantities and susceptibilities and has the complete functionality of van der Waals HRG model from before.

See examples ThermodynamicsBQS.cpp and SusceptibilitiesBQS.cpp which include Real Gas HRG option and this link for documentation.

Cosmic trajectories

This version contains an implementation of cosmic trajectories in the Early Universe, given baryon, charge, lepton flavor asymmetries.

Other new features

  • Partial chemical equilibrium with baryon annihilation

    This version contains an implementation of partial chemical equilibrium with baryon annihilation, namely $B\bar{B} \leftrightarrow n\pi$ reaction, where $n$ is a parameter~(typically $n = 5$), which can be utilized in thermal fits.

  • Neutron star matter calculations

    • Supported by adding leptons to the list from /input/list/electroweak and setting charge neutrality and $\mu_S = 0$
    • For a meaningful calculation, one should use an interacting version of the HRG, e.g. real gas
    • Example here
  • Effective mass model for pions

  • Magnetic field

  • New thermodynamic quantities

    • Temperature derivatives of the energy, entropy and hadron number densities
    • Temperature derivatives of susceptibilities
    • Hessian matrix of the pressure wrt $T$ and $\mu$'s
    • Adiabatic and isothermal sound velocity (with multiple conserved charges and specific entropies)
    • Specific heat capacity $c_V/T^3$

Event generator

New examples

Technical improvements

  • New logo
  • GUI supports and uses Qt6 by default now
    • Qt5 still works but not will not be guaranteed to work in the future
  • Linear algebra: Migrated to Eigen-3.4.0
  • GitHub actions for automated tests/compilation on various platforms
  • Expanded unit tests
  • Better warning and error handling
  • Various fixes of minor errors

GUI enhancements

  • Calculations within real gas HRG (in the model selection)
  • Baryon annihilation in PCE (PCE/Saha/Other...)
  • Effective mass model for pions (PCE/Saha/Other...)
  • Tabular view of calculation in the EoS tab and export to file (Equation of state tab)
  • Calculation of cosmic trajectories (Equation of state tab)
  • Calculations at fixed conserved charge densities (instead of fixed $\mu$'s) (Use densities checkbox in Thermal model tab)
  • Various enhancements

Full Changelog: v.1.4.2...v1.5

Version v1.4.2

08 Nov 04:59
0fb7918

Choose a tag to compare

Date: 2022-11-07

  • Fix bug (introduced in v1.4.1) with the normalization of two-particle susceptibilities in ThermalModelIdeal

Version v1.4.1

19 Oct 03:35
c0cb8cd

Choose a tag to compare

Date: 2022-10-18

  • GUI: Added more clarity concerning the loading of the decays list
  • GUI: Number of known decays channels shown in the table for unstable hadrons
  • Added explicit calculation of Fermi-Dirac integrals at T = 0

Version v1.4

25 Aug 18:19
3fe2829

Choose a tag to compare

Date: 2022-08-25

Main new feature: Excluded volume effect in the Monte Carlo event generator

Enhancements

  • Hard-core repulsion in event generator (see FIST sampler)
  • Crossterms EV-HRG model is now implemented as partial case of QvdW-HRG model (for a = 0)
  • GUI: Blast-wave model: Option to set the value of parameter r_max (the maximim transverse radius)
  • GUI: Minor improvements for PCE-HRG model thermal fits

Bugfixes

  • GUI: Fix bug with the sign of strongly intensive quantity Delta
  • GUI: Options for different treatments of hard-core repulsion in event generator

Version 1.3.4

06 May 02:07
0a3d2ba

Choose a tag to compare

This release fixes a bug with some calculations of scaled moments and Pearson correlation coefficients in GUI that were introduced with the previous release 1.3.3

Version 1.3.3

03 May 22:29
e8784ea

Choose a tag to compare

Date: 2022-05-03

GUI: Added scaled moments and Pearson correlation coefficients into the correlations dialog

Version 1.3.2

19 Feb 00:42
e7c1de0

Choose a tag to compare

Date: 2022-02-18

Minor enhancements and bugfixes

Enhancements

  • GUI: Binning options in event generator
  • GUI: Ability to add resonances and other particles to online analysis
  • GUI: Export Monte Carlo momentum distributions to file
  • Event generator: Monte Carlo sampler of ideal HRG from an arbitrary (numerical) hypersurface
  • Event generator: Event generator output through a new event writer class
  • Event generator: Experimental support for HepMC format
  • Lists: Checks the list for particles with non-zero strangeness/charm but zero strangeness/charm quark content and outputs warnings

Bugfixes

  • Fix the ordering of p0 and px,py,pz output in ascii event generator output. Was px,py,pz,p0, now it is p0,px,py,pz which is consistent with the header line
  • Strangeness/charm neutrality equations will now be solved properly for lists with incorrect zero |s| and |c| columns