Overview of eos module

The equation of state (EOS) is delivered by the eos module. The MESA EOS combines different input sources in order to cover the wide range of conditions encountered during stellar evolution. The most important EOS controls are those that select which input sources to use and control the location and properties of the transitions between different input sources.

There remain challenges to providing a broad coverage EOS given the current need to combine multiple sources, some of which may not provide the necessary thermodynamic information and which may not agree in their region of overlap.

The EOS primarily works with density, \(\rho\), and temperature, \(T\), as independent variables. These are the natural variables in a Helmholtz free energy formulation of the thermodynamics. The composition-dependence of the EOS is accounted for in different ways in different input sources. However, the metallicity, \(Z\), is the relevant composition parameter for setting the transition between different input sources.

The EOS blend occurs via a sequence of levels. Each level, corresponding to a single component EOS, determines the fraction, \(f\), of the final result that component provides at the specified conditions. If \(f = 0\), the result of the next level is evaluated and returned. If \(f = 1\), the result of the EOS component corresponding to the current level is returned. Otherwise, both results are evaluated, blended, and returned. Smooth blends are assured via the smoothness of the functions that define the component fractions.

This approach means that that EOS components have an order of precedence:

(CMS) > Skye > PC > FreeEOS > OPAL/SCVH > HELM.

EOS components in parentheses are experimental and off by default.

EOS blends in solar-like compositions

The \(\rho-T\) coverage of the EOS for a solar-like composition. See below for descriptions of each EOS component.

EOS blends in metal-dominated compositions

The \(\rho-T\) coverage of the EOS for a metal-dominated composition. See below for descriptions of each EOS component.

EOS Quantities

A call to the equation of state returns a structure with the following quantities. See eos/public/eos_def.f90 for more information.

Quantities returned by the EOS routines




\(P_{\rm gas}\)

gas pressure

\({\rm ergs \ cm^{-3}}\)


specific internal energy

\({\rm ergs \ g^{-1}}\)


specific entropy

\({\rm ergs \ g^{-1} \ K^{-1}}\)


mean molecular weight per gas particle



mean number of free electrons per nucleon



ratio of electron chemical potential to \(k_BT\)


\(\nabla_{\rm ad}\)

adiabatic T gradient with pressure



\(\equiv d{\rm ln}P/d{\rm ln}\rho|_T\)



\(\equiv d{\rm ln}P/d{\rm ln}T|_{\rho}\)


\(C_{\rm P}\)

specific heat at constant pressure

\({\rm ergs \ g^{-1} \ K^{-1}}\)

\(C_{\rm V}\)

specific heat at constant \(V\equiv 1/\rho\)

\({\rm ergs \ g^{-1} \ K^{-1}}\)


\({\rm ergs \ cm^{3} \ g^{-2}}\)


\({\rm ergs \ cm^{3} \ g^{-2} \ K^{-1}}\)


\({\rm ergs \ g^{-1} \ K^{-2}}\)


\(\equiv d{\rm ln}P/d{\rm ln}\rho|_S\)



\(\equiv d{\rm ln}T/d{\rm ln}\rho|_S+1\)


MESA also returns the temperature and density derivatives of these quantities.

Component EOSes


The OPAL/SCVH tables are based on the 2005 update of the OPAL EOS tables (Rogers & Nayfonov 2002). The OPAL tables assume a scaled-solar metal abundance pattern and have composition parameterized via \(X\) and \(Z\). To extend to lower temperatures and densities, we use the SCVH tables (Saumon, Chabrier, & van Horn 1995), and construct a smooth transition between these tables in the overlapping region. This blend occurs in a pre-processing step and cannot be modified at runtime. The SCVH tables are for a H/He EOS and so only depend on \(X\).


The FreeEOS (Alan W. Irwin) tables are based on the FreeEOS code, version 2.2.1, and utilize the EOS1 option suite. FreeEOS is described as an “efficient free-energy minimization technique that is suitable for physical conditions in stellar interiors.” It provides results for arbitrary chemical composition that are thermodynamically consistent to machine precision. The tables assume a scaled-solar chemical composition and are parameterized by \(X\) and \(Z,\) with tables provided up to \(Z=1.\) FreeEOS covers a similar domain to the OPAL EOS.


The HELM EOS (Timmes & Swesty 2000) is a fully-ionized electron-ion plasma EOS that includes the effects of electron-positron pair production. It is explicitly constructed from a free energy approach, guaranteeing thermodynamic consistency. The composition is accounted for via \(\overline{{\rm A}}\) (the mass-averaged atomic weight), and \(\overline{\rm Z}\) (the mass-averaged atomic charge).


HELM serves as a “backstop” EOS for MESA. When applied at low temperatures, it falls back into an ideal gas mode.


The PC EOS (Potekhin & Chabrier 2010) is a fully-ionized electron-ion plasma EOS. It includes a detailed treatment of Coulomb interactions and so is preferred once the Coulomb coupling parameter becomes significant. It includes the phase transition associated with ion crystallization. The composition is accounted for by including all isotopes with mass fractions above a specified minimum.


The Skye EOS (Jermyn et al. 2021) is a free-energy-based EOS for fully ionized matter. Roughly, Skye is designed to cover conditions that were previously covered by the combination of HELM and PC. Skye includes the effects of positrons, relativity, electron degeneracy, Coulomb interactions, nonlinear mixing effects, and quantum corrections. Skye determines the point of Coulomb crystallization in a self-consistent manner, accounting for mixing and composition effects automatically. A defining feature of this equation of state is that it uses analytic free energy terms and provides thermodynamic quantities using automatic differentiation machinery.



This EOS is experimental.

CMS is the EOS for dense H/He mixtures of Chabrier, Mazevet, & Soubiran (2019).