What ran

The /thermodynamics explorer surfaces the quasi-harmonic (QHA) and harmonic thermodynamic results computed during the phonon campaign — it adds no new calculations.

For each (potential, structure), after the cell relaxation (FrechetCellFilter + FIRE, to a force-convergence criterion of fmax = 1e-4 eV/Å on the maximum cell+ion generalized force), phonons are computed over an 11-volume strain grid (ε ∈ [−4 %, +6 %]); a Vinet EOS is fit (dynamically-unstable volumes dropped), giving the temperature-dependent equilibrium volume V(T), volumetric thermal expansion α(T), isothermal bulk modulus B(T), heat capacities Cv(T)/Cp(T), and the Gibbs free energy G(P,T). The harmonic free energy F(T), entropy S(T) and zero-point energy ZPE come from the equilibrium-volume phonons.

How to read it

There is no per-structure DFT ground truth for these thermodynamic quantities, so each panel shows a cross-potential consensus: the median curve + a spread band (IQR or min–max), both recomputed over the potentials you select. The only DFT anchor is the static K_VRH marked at 0 K on B(T) (0 K static vs a finite-T thermally-softened modulus — B(T) sits below the 0 K static K through thermal softening, so the static-K anchor lies above the band).

Consensus uses every potential with a usable QHA fit for that structure — both done (the full 11-volume EOS) and partial (an EOS fit from 4–10 volumes, after dynamically-unstable volumes were dropped). Both yield valid temperature-dependent curves; only failed fits (≤ 3 usable volumes, no curve) are excluded. The structures table shows the usable/total coverage (hover for the full-EOS breakdown), and the explorer's Min EOS volumes control lets you tighten the fit-quality threshold — 11 keeps only done fits. This matters for soft/heavy elements (e.g. Au, Re, Te): few potentials converge all 11 volumes there, so a done-only view would collapse to a handful while most produce a perfectly usable partial fit.

See the Phonons & QHA methodology for the harmonic protocol, campaign completeness, and the cell-relaxation criterion in full detail.

See the explorer → · ← Methodology overview

Code

Quasi-harmonic thermodynamics for one crystal (same code as the phonon track, phonon_compute.compute_qha): volume sweep + phonopy QHA fit.

from ase.build import bulk
from phonon_compute import compute_qha
calc = ...   # any ASE calculator for your MLIP (e.g. mace_mp(model="medium", device="cuda"))

res = compute_qha(bulk("Cu", "fcc", a=3.6, cubic=True), calc)
# res → V(T), thermal expansion α(T), bulk modulus B(T), Cp/Cv(T), Gibbs G(P,T)