Stellar Equations Of State


Astronomy Research
   Radiative Opacity
   2024 Neutrino Emission from Stars
   2023 White Dwarfs & 12C(α,γ)16O
   2023 MESA VI
   2022 Earendel, A Highly Magnified Star
   2022 Black Hole Mass Spectrum
   2021 Skye Equation of State
   2021 White Dwarf Pulsations & 22Ne
   Software Instruments
     Stellar equation of states
     EOS with ionization
     EOS for supernovae
     Chemical potentials
     Stellar atmospheres

     Voigt Function
     Jeans escape
     Polytropic stars
     Cold white dwarfs
     Adiabatic white dwarfs

     Cold neutron stars
     Stellar opacities
     Neutrino energy loss rates
     Ephemeris routines
     Fermi-Dirac functions

     Polyhedra volume
     Plane - cube intersection
     Coating an ellipsoid

     Nuclear reaction networks
     Nuclear statistical equilibrium
     Laminar deflagrations
     CJ detonations
     ZND detonations

     Fitting to conic sections
     Unusual linear algebra
     Derivatives on uneven grids
     Pentadiagonal solver
     Quadratics, Cubics, Quartics

     Supernova light curves
     Exact Riemann solutions
     1D PPM hydrodynamics
     Hydrodynamic test cases
     Galactic chemical evolution

     Universal two-body problem
     Circular and elliptical 3 body
     The pendulum


     Zingale's software
     Brown's dStar
     GR1D code
     Iliadis' STARLIB database
     Herwig's NuGRID
     Meyer's NetNuc

AAS Journals
   2024 AAS YouTube
   2024 AAS Peer Review Workshops

2024 ASU Energy in Everyday Life
2024 MESA Classroom
Outreach and Education Materials

Other Stuff:
   Bicycle Adventures

Contact: F.X.Timmes
my one page vitae,
full vitae,
research statement, and
teaching statement.

Before using the software instruments below, perhaps glance at the articles that describe them. The first law of thermodynamics $$ {\rm dE = T \ dS + {P\over \rho^2} \ d\rho} \label{eq1} \tag{1} $$ is an exact differential, which requires that the thermodynamic relations $$ \eqalignno { {\rm P} \ & = \ {\rm \rho^2 \ \dfrac{\partial E}{\partial \rho} \Biggm|_T \ + \ T \ \dfrac{\partial P}{\partial T} \Biggm|_{\rho} } & (2) \cr {\rm \dfrac{\partial E}{\partial T} \Biggm|_{\rho}} \ & = \ {\rm T \ \dfrac{\partial S}{\partial T} \Biggm|_{\rho} } & (3) \cr {\rm - \dfrac{\partial S}{\partial \rho} \Biggm|_T } \ & = \ {\rm {1 \over \rho^2} \ \dfrac{\partial P}{\partial T} \Biggm|_{\rho} } & (4) \cr } $$ be satisfied. An equation of state is thermodynamically consistent if all three of these identities are true. Thermodynamic inconsistency may manifest itself in the unphysical buildup (or decay) of the entropy (or temperature) during numerical simulations of what should be an adiabatic flow.

When the temperature and density are the natural thermodynamic variables to use, the appropriate thermodynamic potential is the Helmholtz free energy $$ {\rm F = E - T \ S} \hskip 0.5in {\rm dF = -S \ dT + {P \over \rho^2} \ d\rho} \label{eq5} $$ With the pressure defined as $$ {\rm P \ = \ \rho^2 \ \dfrac{\partial F}{\partial \rho} \Biggm|_T } \label{eq6} \tag{6} $$ the first of the Maxwell relations (Eq. 2) is automatically satisfied, as substitution of Eq. (5) into Eq. (6) demonstrates. With the entropy defined as $$ {\rm S \ = \ -\dfrac{\partial F}{\partial T} \Biggm|_{\rho} } \label{eq7} \tag{7} $$ the second of the Maxwell relations (Eq. 3) is automatically satisfied, as substitution of Eq. (5) into Eq. (7) demonstrates. The requirement that the mixed partial derivatives commute $$ {\rm \dfrac{\partial^2 F}{\partial T \ \partial \rho} \ = \ \dfrac{\partial F}{\partial \rho \ \partial T} } \label{eq8} \tag{8} $$ ensures that the third of the thermodynamic identity (Eq. 4) is satisfied, as substitution of Eq. (5) into Eq. (8) shows.

Consider any interpolating function for the Helmholtz free energy $F(\rho,{\rm T})$ which satisfies Eq. (8). Thermodynamic consistency is guaranteed as long as Eq. (6) is used first to evaluate the pressure, Eq. (7) is used second to evaluate the entropy, and finally Eq. (5) is used to evaluate the internal energy. In fact, this procedure is almost too robust! The interpolated values may be a horribly inaccurate but they will be thermodynamically consistent.

Here then are bzip2 tarballs of six stellar interior equations of state:

helmholtz.tbz nadyozhin.tbz iben.tbz
weaver.tbz arnett.tbz timmes.tbz

Also see Josiah Schwab's python-helmholtz for the Helmholtz equation of state, and Matt Coleman's port of the Helmholtz equation of state to python helmeos.

The Skye EOS = an improved Helmholtz EOS for the non-interacting parts + an improved Potekhin & Chabrier EOS for the Coulomb plama parts + auto-differentiation. Its the bees knees for ionized plasmas as of 2021. Skye is avaliable at https://github.com/adamjermyn/Skye, and the article is described more on the thermodynamics research page.

The Helmholtz EOS implements the formalism above on a grid, executes the fastest (memory is faster than cpu), displays perfect thermodynamic consistency, and has a maximum error on the default grid of 10$^{-6}$. Helmholtz is the stellar EOS of choice in the FLASH software instrument and a backplane of the EOS module in the MESA software instrument. The Helmholtz free energy data file provided spans 10$^{-12}$ ≤ density (g cm$^{-3}$) ≤ 10$^{15}$ and 10$^{3}$ ≤ temperature (K) ≤ 10$^{13}$ at 20 points per decade. The Nadyozhin EOS is the fastest of the analytic routines, has very good thermodynamic consistency, a maximum error of 10$^{-5}$, and is also avaliable in FLASH. The Timmes EOS is as slow as molasses during a North Dakota winter, but it computes the non-interacting electron-positron equation of state with no approximations, is exact to machine precision in IEEE double precision arithmetic, has excellent thermodynamic consistency, and serves as the reference point for comparisons to the other EOS routines. In fact, the Helmholtz free energy table used by the Helmholtz EOS is calculated from the Timmes EOS.

image image

There are times when a simpler cold fermi gas EOS is a wonderful thing. Such an EOS is in cold_fermi_gas.tbz. One can see this equation of state in action on this cold white dwarf page.

Please cite the relevant references if you publish a piece of work that use these codes, pieces of these codes, or modified versions of them. Offer co-authorship as appropriate.