Implementing the ISUEVO Stellar Evolution Code

advertisement
Implementing the
ISUEVO
Stellar Evolution
Code
By Jeffrey Burkett
Minnesota State University, Mankato
Introduction
The ISUEVO stellar evolution code was designed by Dr. Steve Kawaler of Iowa State
University for the purpose of studying the interior structure of stars. It creates models
using the equations of stellar structure, knowledge of gas properties to determine the
opacity within the star, and equations for determining the energy output of the star.
These latter equations are the result of understanding the nuclear reactions that occur
within the star’s core, the temperatures and pressures needed to sustain them, the amount
of hydrogen that the star contains to begin with, and the fraction of that hydrogen that is
near enough the core to be consumed as nuclear fuel.
When all of these things are considered together, the result is a system of differential
equations that is solved, by methods of iteration, for concentric spherical layers of the
star; by the FORTRAN programs that make up the ISUEVO code. Models computed
with these programs also compute the rotational properties of each shell, assuming
conservation of angular momentum per unit mass. It is this differential rotation of
conducting fluids within the interior that can give rise to a star’s powerful and complex
magnetic field. A further modification to the code, providing for a different prescription
of angular velocity in convective zones, is currently under construction.
The research I did this summer (2001) was actually the first step of a two part project. I
have evolved model stars from their main sequence birth to the point of their imminent
deaths. Soon, we will pass these models on to Dr. Adam Frank and his colleagues at the
University of Rochester in New York. They will use our models to compute their
magnetic fields, and than proceed to evolve them into their planetary nebula phase. The
gaseous outer layers of these dying stars may be guided into their unusual shapes, at least
in part, by the magnetic field lines. Ultimately, we hope to replicate the conditions of
observed planetary nebula with our models, and thus gain a better understanding of the
processes that form them.
While I evolved models for the purpose of studying planetary nebula formation, this code
is ideal for working on any stellar evolution project dealing with stars in the the range of
2.5 to 3.0 solar masses. These stars are massive enough to smoothly ignite helium in
their cores, thus avoiding the many problems associated with modeling the helium flash.
They are also low enough in mass to end its their lives as planetary nebulae, rather than
as neutron stars or a black holes.
In addition to building models with the ISUEVO code, I have assembled this manual on
its basic use and operation. It is far from complete, and deals only with the aspects
necessary to repeat my work. Three things are assumed of the user of this manual.
First, that they are familiar with a Linux operating environment. Second, that they
possess a basic understanding of the concepts and terminology of stellar astrophysics.
Finally, that with permission they have gained access to the ISUEVO directory, and have
compiled versions of all of the programs therein.
Creating a Zero Age Main Sequence Model
1. In order to choose the parameters for the type of star you wish to create, open the file
zmod.par with the vi editor. You will see the following screen:
1.3000
0.74 0.02 0.0120
00
1.40000
0.2750 3.7935
17.2360 7.1912
0.28
0.001
< Mass of model, in solar masses
< X, Z, and mass fraction of N14
< ieqep, ieqecc: 1 for equilibrium epsilon: pp, CN
< Mixing length, in pressure scale heights
< guess at log(L/Lo), log(Te)
< guess at log(Pc), log(Tc)
< Mass at fitting point
< Quality of fit at fitting point
2. Edit the file so that the desired mass and composition are given on the top left of the
first two lines. Note that the mass of the star must be given in solar masses.
3. Leave the lines labeled "iequp, ieqecc: 1 for equilibrium epsilon: pp, CN" and
"Mixing length, in pressure scale heights" alone. No changes need be made.
4. The next two lines are the place in which to enter guesses of the initial
luminosity(L/Lo), effective temperature(Te), central pressure(Pc), and central
temperature(Tc). Note that all of these quantities must be given as logarithms, and
that the luminosity is in terms of solar luminosity.
By the Vogt−Russell theorem the mass and composition will uniquely determine the
properties and subsequent evolution of the star. So it doesn’t matter what guesses you
choose. Once the mass and composition are specified, any set of guesses will
eventually converge upon the same solution.
5. The next line is the fraction of the mass outward from the center of the star at which
the program will attempt to converge a solution. The final line is the decimal
accuracy of this convergence at the fitting point. For now, these two lines may be left
alone.
6. Note that not all sets of guesses will allow the program to converge on a solution,
especially if the numbers are very far off. The following table shows guesses that will
produce working models for stars of 2.5 to 3.0 solar masses.
Leave composition at 0.74 0.02 0.0120.
Set mass at fitting point to 0.35
Set quality of fit at fitting point to 0.0001
1
M/Mo
2.5
2.6
2.7
2.8
2.9
3.0
Log L/Lo
1.49
1.56
1.62
1.69
1.75
1.80
Log Te
4.00
4.00
4.00
4.03
4.04
4.05
Log Pc
17.15
17.13
17.12
17.10
17.10
17.10
Log Tc
7.33
7.34
7.34
7.35
7.35
7.35
7. Once the parameters have been set, exit the file to Linux and type the command
"zmod2c" to run the program. The created model will be stored as "first.bin".
The ISUEVO Program
1. Again, some setup is necessary before the code can be run. Open the file
"isuevo.par". The following file will be displayed:
100
NMOD: number of models to compute
20
NSAV: every NSAV models is written to file ISUEVO.BIN
10 2
NPRINT, NZP: print details of every NPRINT models at NPZ....
−0.9
DTFAC: time step control: 0=auto, +=Fixed, − = auto * −DTFAC
−−−−−−−−−−−−−−−parameters below rarely need changing−−−−−−−−−−−−−−−
2. The first line (NMOD)indicates how many models you want the program to create.
Each model represents a progressively later time in the stars evolution. Change this
parameter to the desired number of models.
3. The second line (NSAV) determines how many of these models will actually be
recorded in the file "isuevo.bin". It takes longer to write out more models, as the
properties of each concentric spherical shell of the star are recorded. However, if the
program experiences difficulties, it is advantageous to have a recent model to restart
from, after the necessary parameters have been changed. I recommend saving every
20 models or so.
4. The third line (NPRINT<,NPZ) is important primarily for troubleshooting the code,
and need not be changed.
5. The forth line (DTFAC) sets the time step at which the star evolves. Setting this
quantity to zero causes the program to use it’s own intelligent default. A negative
number will increase or decrease the default by that factor. For example, setting this
parameter to −0.5 will cause the star to evolve in time increments equal to half of the
default time step. Finally, a positive number causes the star to evolve at a time step
fixed by the user. By entering 100, the star would evolve in increments of exactly 100
years.
Over the course of any model’s evolution, the timestep will vary greatly depending on
2
the complexity of the current reactions within the star. I have found that a timestep of
−0.9 to −0.75 is ideal for most models. If the program experiences difficulties
evolving a stellar model, as a general rule the first thing to try is reducing the time
step.
6. There are more parameters below these that may also be changed, however there is
rarely a need to do so. They can simply be ignored by the beginning user.
7. Once the above parameters have been set as desired, save them and exit "isuevo.par".
8. Upon returning to the Linux command window, type "editmod" to run that program.
Editmod will prompt you for the name of the model that you wish to work with. For
now, enter "first.bin". Later, you may need to use editmod with other models you
have extracted and saved, as discussed later in this manual. After returning the
desired model, you will be presented with the following options:
(1) − dmdt (currently 0.000E+00)
(2) − time
(currently 1.309E+09 years)
(3) − modno (currently 4501)
(4) − teffl
(currently 3.5414)
(5) − fls
(currently 3.7025)
(6) − mass (currently 2.5000..scale mass only)
(7) − mass (currently 2.5000..remove zones)
(8) − OBC envelope mass (currently 1.000E−01)
(9) − time step
(currently 1.363E+00years)
(10) − alfa (currently 1.4000)
(11) − Surface rotation velocity
(99) − DONE
Enter parameter to be changed (by number)
|
9. In the middle of it’s evolution, it is unlikely that you will wish to change the age,
mass, etc. of the star. What does need to be changed is the OBC envelope mass. Enter
option "8" and than change that parameter to "0.1". The reason for doing this is that
there is no true ’surface’ of the star. The outer shells rapidly become increasing less
dense, and the program cannot converge a solution if it is dealing with zones that are
too optically thin.
10. Now choose option "11" and enter "1" for the surface rotation velocity. All future
velocities will be scaled to this number, and be given as a factor of this initial velocity.
When this is done, choose option "99" to quit editmod.
11.Editmod has now created and stored a new model, with these new specifications, in
the file "newmod.bin". When the evolution code is initiated, it begins with the model
"first.bin" as it’s ZAMS starting point. It is therefore necessary to copy the contents
of "newmod.bin" to "first.bin" before beginning the star’s evolution.
3
12.Finally, enter the command "isuevoc" to begin running the evolution code. The
program will proceed to generate the number of models specified, at the desired
timestep, and store them in the file "isuevo.bin". The code can take anywhere from a
few minutes to a few hours to run, depending on how many models are being
generated and the current phase of the stars evolution. In general, the main sequence
and red giant branches are relatively simple and evolve quickly. Conversely, the
period of thermal pulses at the end of the AGB can take quite a long time.
Extracting and Working With Stellar Models
There are several data files created by the ISUEVO code, as well as several programs
accompanying it; that can be used to extract and manipulate the generated stellar models.
Each of these is discussed in turn in the following paragraphs.
last.bin: This data file contains the final model generated by the ISUEVO program. In
order to evolve the star further from the point at which you left off, simply
copy the contents of "last.bin" to "first.bin" and enter the command "isuevoc"
to run the code again.
modxtr: This is an executable program that is implemented in Linux by simply typing
the command "modxtr". Upon execution, a list of the models by number is
displayed and you will be prompted to enter the model you wish to extract.
This model is then stored in the file "temp.bin". It is advisable to immediately
copy extracted models that you wish to save for later use into another file, as
each time modxtr is used it overwrites temp.bin.
isuevo.sum: This data file contains a brief summary of the basic physics of each model
generated in the last implementation of isuevoc. For each model there will
be two rows of numbers. In order, this is what each of those numbers
represent: model number, current age, log L/Lo, log Te, log R/Ro, log g,
mass, log Tc, log central density, Xc, Yc, Cc, mass of convective core,
mass or convective envelope, mass within which X=0, mass within which
Y=0. All of these are standard astronomy notation, with X and Y
indicating composition mass fractions, C indicating carbon mass fraction, a
subscript ’c’ meaning central, a subscript ’e’ meaning effective, and Lo
indicating solar luminosity.
It is a good idea to keep a running summary for any star that you are
working on. Each time you run isuevoc, be sure to copy the contents of
isuevo.sum into a data file for that particular star. It will be very useful for
plotting H−R diagrams and other graphs using Super Mango, xgraph, or
similar graphing programs.
plotmod: This is another program that can be run in by entering the command
"plotmod". It is useful for creating data files of specific quantities for
4
specific stellar models. As an example, plotmod can be used to create a file
that contains the star’s temperature and density as a function of radius; at a
precise time in it’s evolution. When executed the program will prompt you
to enter the name of a model. Upon doing so you will see the following menu:
(0) − Mr
(1) − r
(2) − P
(3) − T
(4) − Lr
(5) − rho
(6) − delad
(7) − delrad
(8) − del
(9) − Q
(10) − Xt
(11) − Xd
(12) − kappa
(13) − kt
(14) − kd
(15) − eps
(16) − epst
(17) − epsd
(18) − mu
(19) − DlnP
(20) − DlnT
(21) − X
(22) − X2
(23) − Y3
(24) − Y4
(25) − Li6
(26) − Li7
(27) − Be7
(28) − C12
(29) − C13
(30) − N14
(31) − N15
(32) − O16
(33) − J/M
(34) − I
(35) − Omega
(36) − zone #
Enter X axis quantity number
|
The ’X’ quantity entered by number will be the first column in a data file
entitled plotmod.out". Subsequent ’Y’ quantities will be be assigned to the
second, third, and so on, columns of the same file. You will also be given the
option of selecting a logarithmic scale for each quantity. The plotmod.out file
thus created can than be used in conjunction with one of the aforementioned
graphing programs, to gain an understanding of the star’s interior at a specific
point in time.
Final Commentary
As I have already indicated in my introduction, this manual is really only a beginner’s
guide. It is my hope that it proves useful in getting someone started on the task of picking
up my work where I left off. I also hope that in the future this manual will continue to
change and evolve along with the programs it documents. I invite and encourage anyone
working with the ISUEVO program to bring about that evolution, so that the
documentation eventually encompasses the entire scope and depth of the ISUEVO stellar
evolution code.
5
Download