The standard computational tool of anyone interested in understanding stars is a stellar evolution code — a piece of software that can construct a model for the interior of a star, and then evolve it over time. Evolution codes allow us to check and refine the various physical theories that together compose stellar astrophysics (e.g., atomic physics, nuclear physics, fluid dynamics, thermodynamics); they provide laboratories for performing experiments on stars (e..g, discovering what factors contribute to the formation of red giants); and, they shed light on stages of stellar evolution that may be too fleeting to observe directly in the Universe.

Stellar evolution codes are often complicated to use, and so I've created EZ-Web, a simple, web-based interface to a code that can be used to calculate models over a wide range of masses and metallicities.

UPDATE:As an alternative to EZ-Web, consider using MESA-Web — a web-based interface to the fully-featured MESA stellar evolution code. MESA-Web can produce models which are suitable for detailed scientific investigations.


Stellar evolution codes trace their ancestry back half a century, to a seminal paper by Henyey, Forbes & Gould (1964). With the advent of electronic computers, these authors devised a way to solve the partial differential equations governing stellar structure and evolution. In these equations, spatial gradients are replaced by finite-difference approximations represented on a discrete grid of points, extending from the center of the model to the surface. This leads to a large set of simultaneous equations for the state variables (pressure, density, etc.) at each grid point, which can be solved using matrix methods.

Many evolution codes have been written based on the Henyey method, and various improvements to the method have been introduced over time. Among the most well-known historical codes are those by Eggleton, Kippenhahn and Paczynski — quite a few modern codes are essentially heavily modified versions of these. The Eggleton (1971) code was particularly innovative, in that it introduced an algorithm for automatic redistribution of grid points. This allows stars to be evolved up the red giant branch with only a few hundred points in total, which makes the code very fast.

One descendent of the original Eggleton code is the TWIN code (still maintained by Eggleton), which allows simulation of binary evolution as well as single-star evolution. While the physics in TWIN is quite up to date, it is very user-unfriendly. To address this issue, Rob Izzard and Evert Glebbeek have developed Window To The Stars (WTTS), a superb graphical interface to TWIN.

Bill Paxton has taken a different approach to modernizing the Eggleton code: he has converted it to Fortran 90 and significantly cleaned it up, to produce his Evolve ZAMS (EZ) code. In turn, to make EZ even more easy to use, I have developed a web-based interface named EZ-Web. This interface was originally hosted at the University of Delaware, but — with a number of updates, including the ability to evolve beyond the Helium flash — I've now moved it over to one of my servers here at U. Wisconsin-Madison.

Using EZ-Web

To construct and evolve a model, enter parameters into the form below, and then submit the calculation request to the server. The parameters control what sort of star is evolved, for how long it is evolved, and what sort of output is produced. In order, they are

Upon submission, the server will perform basic validation on the parameters, and then assign an identification number to the request. If you're submitting many requests in a row, it's a good idea to avoid confusion by noting down which id number corresponds to which calculation.

During a calculation, stellar properties (e.g., radius, core and surface temperature, luminosity) are written to a summary file at discrete time intervals ('steps'), extending up to the specified maximum age or maximum number of steps. If requested, detailed structure files are also written at each step, specifying state variables and associated data at each grid point in the stellar interior. The format of both types of file are discussed below.

After a calculation has completed (which may take a while, if the server is dealing with many requests at the same time), the output files are packaged into a zip file. Then, a notification email is sent to the specified address, containing a link which may be used to download the zip file from the server. Zip files that are not downloaded within a day of creation are automatically deleted.

Submit a Calculation

Output File Formats

Summary Files

Summary files have the filename 'summary.txt'. They are text (ASCII) files containing one line for each time step. Each line is divided into 23 columns, containing the following data:

Column Number Datum Description
1 i Step number
2 t Age (years)
3 M Mass (M)
4 Log10 L Luminosity (L)
5 Log10 R Radius (R)
6 Log10 Ts Surface temperature (K)
7 Log10 Tc Central temperature (K)
8 Log10 ρc Central density (kg m-3)
9 Log10 Pc Central pressure (N m-2)
10 ψc Central electron degeneracy parameter
11 Xc Central hydrogen mass fraction
12 Yc Central helium mass fraction
13 XC,c Central carbon mass fraction
14 XN,c Central nitrogen mass fraction
15 XO,c Central oxygen mass fraction
16 τdyn Dynamical timescale (seconds)
17 τKH Kelvin-Helmholtz timescale (years)
18 τnuc Nuclear timescale (years)
19 LPP Luminosity from PP chain (L)
20 LCNO Luminosity from CNO cycle (L)
21 L3α Luminosity from triple-alpha reactions (L)
22 LZ Luminosity from metal burning (L)
23 Lν Luminosity of neutrino losses (L)
24 MHe Mass of helium core (M)
25 MC Mass of carbon core (M)
26 MO Mass of oxygen core (M)
27 RHe Radius of helium core (R)
28 RC Radius of carbon core (R)
29 RO Radius of oxygen core (R)

Note that if the 'Use CGS units' option is checked, CGS units instead of SI units will be used in the summary file (where appropriate).

Detailed Structure Files

Detailed structure files have the filename 'structure_NNNNN.txt', where NNNNN (e.g., 00001, 00002, …) is the step number that the structure is associated with, padded with leading zeros. They are text (ASCII) files containing one line for each grid point of the model. Each line is divided into 36 columns, containing the following data:

Column Number Datum Description
1 Mr Lagrangian mass coordinate (M)
2 r Radius coordinate (R)
3 Lr Luminosity (L)
4 P Total pressure (N m-2)
5 ρ Density (kg m-3)
6 T Temperature (K)
7 U Specific internal energy (J kg-1)
8 S Specific entropy (J K-1 kg-1)
9 CP Specific heat at constant pressure (J K-1 kg-1)
10 Γ1 First adiabatic exponent
11 ad Adiabatic temperature gradient
12 μ Mean molecular weight (see note below)
13 ne Electron number density (m-3)
14 Pe Electron pressure (N m-2)
15 Pr Radiation pressure (N m-2)
16 rad Radiative temperature gradient
17 Material temperature gradient
18 vc Convective velocity (m s-1)
19 κ Rosseland mean opacity (m2 kg-1)
20 εnuc Power per unit mass from all nuclear reactions, excluding neutrino losses (W kg-1)
21 εPP Power per unit mass from PP chain (W kg-1)
22 εCNO Power per unit mass from CNO cycle (W kg-1)
23 ε3α Power per unit mass from triple-alpha reaction (W kg-1)
24 εν,nuc Power loss per unit mass in nuclear neutrinos (W kg-1)
25 εν Power loss per unit mass in non-nuclear neutrinos (W kg-1)
26 εgrav Power per unit mass from gravitational contraction (W kg-1)
27 X Hydrogen mass fraction (all ionization stages)
28 Molecular hydrogen mass fraction
29 X+ Singly-ionized hydrogen mass fraction
30 Y Helium mass fraction (all ionization stages)
31 Y+ Singly-ionized helium mass fraction
32 Y++ Doubly-ionized helium mass fraction
33 XC Carbon mass fraction
34 XN Nitrogren mass fraction
35 XO Oxygen mass fraction
36 ψ Electron degeneracy parameter

Note that if the 'Use CGS units' option is checked, CGS units instead of SI units will be used in the structure files (where appropriate).

Support Files

To facilitate reading EZ-Web files into IDL, I've created functions that load the data into IDL structures (see, for instance, this discussion of how to create and manipulate IDL structures). For reading summary files use read_ezweb_summary.pro, and for reading structure files use read_ezweb_structure.pro. Note that both functions convert all data to SI units, irrespective of what units are used in the file.


EZ-Web and the underlying EZ code have a number of limitations which restrict their validity. In some cases, the results can be misleading or inaccurate, and users should be aware of this if using EZ-Web for research purposes. Issues of particular importance are as follows:

Bug Fixes & Updates

Updated 2021-09-07 20:54:03