This site uses cookies. By continuing to use this site you agree to our use of cookies. To find out more, see our Privacy and Cookies policy. Close this notification

EZ to Evolve ZAMS Stars: A Program Derived from Eggleton's Stellar Evolution Code

Published 2004 June 22 © 2004. The Astronomical Society of the Pacific. All rights reserved. Printed in U.S.A.
, , Citation Bill Paxton 2004 PASP 116 699 DOI 10.1086/422345

1538-3873/116/821/699

ABSTRACT

"Evolve ZAMS" (EZ) is a code derived from Peter Eggleton's stellar evolution program. The core of EZ is a stripped down, rewritten version of a subset of Eggleton's code, specialized to handle single star evolution from the zero‐age main sequence until forced to stop by an event such as a helium flash or a crystallizing core. The procedure and data interfaces to the program are designed to be easy to use while still providing a wide range of function. EZ is written in Fortran 95 following current programming practices and can be downloaded from the Web at http://theory.kitp.ucsb.edu/~paxton.

Export citation and abstract BibTeX RIS

1. INTRODUCTION

The main sequence is where stars spend most of their lives while they burn hydrogen in their cores. The zero‐age main sequence (ZAMS) corresponds to stars that are just settling into their careers as hydrogen burners after having formed from a collapsing gas cloud. After a long time spent doing pretty much the same thing, they eventually evolve away from the main sequence and begin burning other elements. Stellar evolution programs simulate this based on the relevant opacities and nuclear rates and some simplifying assumptions that hopefully preserve the important features while making the computation tractable.

Plots are a great tool to show a stellar structure and its evolution. The textbooks (e.g., Clayton 1968; Hansen & Kawaler 1994; and Kippenhahn & Weigert 1990) and the research journals are full of them—stars evolving along twisting paths in the Hertzsprung‐Russell diagram, convection zones and burning shells moving about at various stages of evolution, or Sunlike stars ascending the giant branch to ignite in a helium flash while similar stars peel off to become white dwarfs. The plots are fascinating to look at, but it is even better to make them yourself. What is needed is a simple‐to‐use evolution package.

Peter Eggleton's stellar evolution program has much to recommend it as a candidate for this kind of application (descriptions can be found in Eggleton 1971, 1972, 1973; and Eggleton et al. 1973). It has been widely used and repeatedly upgraded for a series of projects (recent examples include Han et al. 1994, 2003; and Pols et al. 1995). It has introduced innovations to the field, as evidenced by the discussion of relaxation methods for boundary value problems in Press et al. (1988), which is based on algorithms developed by Eggleton.

"Evolve ZAMS" (EZ) is derived from Eggleton's program as it was in late 2003. The core of EZ is a stripped down, rewritten version of a subset of Eggleton's code, specialized to handle single star evolution from the zero‐age main sequence until forced to stop by an event such as a helium flash or a crystallizing core. You can download EZ from the Web site.1 The download contains a read me file to guide you in building and using the system.

The following sections give more details. Section 2 sketches the changes that were made to get to EZ from Eggleton's program. Section 3 outlines the new procedure interface, while § 4 covers the new data interface. Finally, § 5 describes the demo programs that illustrate what you can get from EZ with a modest amount of work.

2. GETTING TO EZ FROM EGGLETON'S CODE

Blame it on Lars. That's Lars Bildsten at the University of California, Santa Barbara. He suggested looking at the late ignition of helium in stars that were on the way to becoming white dwarfs (along the lines of Han et al. 2003). It soon became clear that the project needed something better than I could put together from the pieces of code floating around Lars's group. That led me to e‐mail Peter Eggleton, and he kindly sent me his current version. I spent several months getting to know Eggleton's code and modifying it for use in the project with Lars. The following is a sketch of that process.

The first step was to replace GOTOs by label‐less control structures to help me understand the program flow. This was followed by replacing IMPLICITs by explicit type declarations for the variables and procedures. The program was simplified by removing the parts for binary evolution. Then it was converted to Fortran 95, and the COMMON blocks were eliminated. Symbolic names replaced numeric constants in the subroutines, and the data declarations were restructured and given extensive comments. A control interface was created based on a small number of procedures, and a data interface was constructed based on Fortran 95 data MODULEs. Procedures were added to allow a complete state of the system to be saved and restored during a run. Finally, EZ was extensively tested by comparing low‐level output with similar data from Eggleton's code.

3. PROCEDURE INTERFACE

EZ can handle stars from 0.1 M up to 100 M, with several choices for the initial metallicity from 0.0001 to 0.03. There is also a routine to let you modify the helium abundance. The zero‐age main‐sequence stars are created by adjusting the closest of a large set of precomputed models, so getting to an arbitrary starting point is quite fast. The basic two‐step operation of EZ is (1) create a ZAMS model of a certain initial mass and composition, and (2) evolve it, passing each model as it is created to a call‐back subroutine that you provide and that can set system parameters and write to output files. Along the way, you have the option of saving an intermediate state in order to restore it later. This can be a great help when you are searching for a parameter value to accomplish some specific outcome and the parameter only influences later stages of evolution (such as rate of envelope ejection).

4. DATA INTERFACE

The data interface is simply a Fortran module with declarations and lots of comments. The interface includes evolution parameters and their default values. Most will go untouched, but as needed they can be changed either at initialization or between steps. There are parameters such as η for Reimers' wind, with mass‐loss rate equal to 4 × 10-13 M year−1 ([ηRL/M]/[R L/M]; Reimers 1975), α for convective mixing length, and more. There are also parameters unrelated to the physics, such as error tolerances and time step controls.

In addition to legitimate evolution, there are parameters to let you do "pseudoevolution." You can add or remove mass from the surface at arbitrary rates, you can artificially inject energy, you can turn off convective overshooting, and you can do other arcane things as well. Such pseudoevolution can be useful in constructing models. The third demo uses artificial mass loss to mimic envelope ejection during the common envelope phase of a binary, with the resulting star then allowed to evolve normally after the envelope is gone.

5. DEMO PROGRAMS

The demo programs, which can be downloaded as part of the software distribution from the Web site, illustrate the use of EZ and provide templates for your applications. The first demo explores the ZAMS for two different metallicities. The second demo surveys a wide range of masses evolving from the main sequence for Z = 0.02. The third considers a 1 M star under different scenarios of mass loss, including one that leads to a late helium flash when the star is well along the track to becoming a white dwarf. The Web site has details as well as figures in PDF format for downloading. Take a look at the online figures; they may be useful supplements to the standard textbook fare. Here are a few more details.

Demo 1 computes the zero‐age main sequences for Z = 0.02 and 0.0001. The variation with mass along the ZAMS is shown for luminosity, surface temperature, central temperature, central density, radius, P‐P versus CNO nuclear reactions, opacity, nuclear burning timescale, and convection zones.

Demo 2 shows the H‐R diagram tracks and central temperature and density tracks for a sample of Z = 0.02 stars over a wide range of initial mass. The tracks are marked to show the location of break‐even for the net power from nuclear reactions beyond hydrogen burning minus the total power lost to neutrino cooling (i.e., the onset of significant helium burning). The demo also looks in detail at a large number of stars, all simulated with convective overshooting and Reimers' wind (η = 1). In addition to the usual H‐R diagram and central temperature‐density tracks, the figures include histories of the later values for radius, neutrino losses, power from triple‐alpha, power from alpha‐capture, and power from carbon burning, center degeneracy, and total metal fraction. There are plots that trace the evolution of convection zones, burning zones, central abundances, nuclear power sources, and neutrino cooling. In addition, there are figures showing sets of profiles by mass coordinate taken at key moments along the evolution.

Demo 3 treats a 1 M star with Z = 0.02. It takes the star from the main sequence and saves the state near the tip of the giant branch. Then it continues the evolution in three different ways. First, it evolves with no mass loss up to the helium flash. Then it restores the saved state and evolves the star again with the envelope ejected quickly. This gives a smaller core and produces a white dwarf. Finally, it restores state and tries again with a reduced rate of mass loss, which gives a slightly larger core and a late helium flash.

6. CONCLUSION

If you would like to learn more about EZ, the next step is to visit the Web site. Even if you do not plan to download the code, you might enjoy looking at some of the figures. If you do decide to download it, there is a tar file with data and source code, and a read me file to help you along. It includes instructions for building and running EZ, for testing the results, and for making your own applications. Please e‐mail me with comments, questions, and suggestions for improvements.

Lars Bildsten, at the University of California–Santa Barbara, Kavli Institute for Theoretical Physics (KITP), has been a teacher, advisor, and friend for a retired computer scientist with a desire to learn some astrophysics. Phil Arras, a postdoc at KITP, kindly provided code for neutrino cooling (based on Itoh et al. 1996) and volunteered to be the first beta user. And special thanks to Peter Eggleton himself for providing the current version of his code and e‐mail support while I was getting into it. This work was partially supported by the National Science Foundation under grants PHY 99‐07949 and AST 02‐05956.

Footnotes

Please wait… references are loading.
10.1086/422345