Here, the structure and function of the data file used by the code is described.
DATA (fort.20)
This is file that effects how the model will be run. It consists of a block of 221 numbers, some of which relate to the model's evolution, while the others affect the format of the output. The structure of DATA is given below. I have tried to keep the variable names the same as in the code, at the expense of aesthetics in displaying the file's structure. The function of each variable is discussed below, with bracketed quantities representing the usual values they take.
NMSH2 ITER1 ITER2 JIN JOUT NCH JP ITH IX IY IZ
ICL ION IAM IOP INUC IBC ICN
NWRT1 NWRT2 NWRT3 NWRT4 NWRT5 NSAVE
EPS DEL DH0 DT3 DDD
NE1 NE2 NE3 NB NEV NF J1 J2 IH JH
ID(11-110) - 7 lines
ISX(1-45) - 3 lines
DT1 DT2 CT(1) CT(2) CT(3) CT(4) CT(5) CT(6) CT(7) CT(8) CT(9) CT(10)
ZS ALPHA CH CC CN CO CNE CMG CSI CFE
RCD OS RML RMG ECA XF DR
RMT RHL AC AK1 AK2 ECT TRB
NMSH2 - The desired number of mesh points. If this is different from that in modin, the code should interpolate the given model to give the new one, provided that NCH is greater than or equal to 1. (199)
ITER1 - The maximum number of iterations allowed on the first timestep. (10)
ITER2 - The maximum number of iterations allowed on later timesteps. (10)
JIN - The number of independent variables of the H, DH arrays to be read in. (11)
JOUT - The number of independent variables written out at the end of a run. (11)
NCH - This affects the remeshing of the model. For an NCH of 2 or 3, the model will alter the spacing of the mesh points so that they are optimally spaced according to the mesh spacing function. NCH=3 is used for changing the composition of a model. (1,2 or 3)
JP - This affects the guessed increments for DH for the next timestep. If it is set to 1, the values used are those of the previous timestep. If it is zero, then the increments are set to zero. (0, sometimes 1)
ITH - The thermal energy generation rate is ITH*T*DS/Dt. Setting ITH to zero enables T*DS/Dt to be ignores. (1, sometimes 0)
IX - DX/Dt = IX * (burning rate of Hydrogen). Setting this equal to 0 allows the model to ignore composition changes whilst still burning hydrogen. This is useful for creating intial models. (1, sometimes 0)
IY - as for IX, but relates to helium-4 instead. (1, sometimes 0)
IZ - as for IX, but relates to carbon-12 and oxygen-16. (1, sometimes 0)
ICL - If ICL=1, then PRESSI will include the effects of the Coloumb interaction. (1)
ION - Used by STATEF. This is the number of elements that that the routine will calculate ionizations for. (2)
IAM - If set to zero, the program will use integer atomic weights. (1)
IOP - Used to select spline interpolation in opacity. If set to 1, spline interpolation will be used. If set to zero, a linear interpolation in opacity will be used. (1)
INUC - No current function.
IBC - No current function.
ICN - Used for CNO equilibrium on the main sequence. If ICN=1, a baryon correction is applied to the hydrogen evolution equation. The timestep used is also affected by ICN=1. (0)
NWRT1 - Prints the internal details of every NWRT1'th model to OUT. (e.g. 100)
NWRT2 - Prints the internal of every NWRT2'th meshpoint when the internal model is printed to OUT. (e.g. 1 or 2)
NWRT3 - Affects the number of 'pages' printed out for every NWRT1'th model. (1-3)
NWRT4 - Prints a short summary of every NWRT4'th model. (e.g. 1 or 4)
NWRT5 - Prints a one-line summary of each iteration of each model, excluding the first NWRT5 iterations of each model. (e.g. 0 or 2)
NSAVE - An output model is saved to MODOUT every NSAVE'th timestep, in the same format as the input model, so that it can be used for a further run. The final model is automatically saved. (300)
EPS - The accuracy to which SOLVER is expected to solve the equations. (10-6 or 10-7)
DEL - This is the maximum value in ERR for which the whole correction is applied in SOLVER. Above this limit, the correction applied is reduced by a factor of ERR/DEL. (0.01)
DH0 - Affects the value of the increments of the variables during the numeric differentiation. It is no longer so important, now that everything is in double precision. (10-7)
DT3 - No current function.
DDD - Sets the modulus of the total increment that is desired in one timestep. (0.5 to 4)
NE1 - The number of 1st order equations the code will use. (5)
NE2 - The number of 2nd order equations the code will use. (5)
NE3 - This defines a subset of the 1st order equations that may be defined at 3, rather than two, adjacent meshpoints. At present, this is not implemented in the code. (0)
NB - The number of boundary conditions possessed by the 1st order equations at the stellar surface. (3)
NEV - The number of 'eigenvalues' (i.e. quantites that don't vary with the mesh) used by the model. At present there is only one, that being the gradient of the mesh spacing function. (1)
NF - This affects the number of variables being passed between the routines used by SOLVER. (30)
J1, J2, IH, JH - These variables are used for debugging. Suitable choice gives an output via PRINTC that can be used to see if FUNCS and EQUNS are setting up the difference equations correctly. (0,0,0,99 - this suppresses the debugging output.)
ID(1-110) - This is two blocks of numbers, one for FUNCS1/EQUNS1, the other for FUNCS2/EQUNS2. Each block consists of 1 lines of ten, and 3 lines of 15 integers. The line of 10 contains NE1,NE2,NB,NEV,NF,J1,J2,IH,JH (ie ID(1-10) is the previous line of the data file). The usual values are (5,5,0,3,1,30,0,0,0,99). Of the 3 lines of 15 integers, the first is a permutation of the independent variables (1,2,4,5,3,9,10,8,7,6,0,0,0,0,0), the second that of the the equations (6,7,8,9,4,2,1,3,5,0,0,0,0,0,0) and the last that of the boundary conditions (4,5,6,7,2,3,1,2,3,1,0,0,0,0,0).
ISX(1-45) - These values affect the variables of the internal structure that are printed to OUT. The first 15 values define what will be placed on the first 'page', with the next two sets of 15 defining the output to the extra pages. The options are:
1 - , 2 - P, 3 -
, 4 - T, 5 -
, 6 -
, 7 -
, 8 -
, 9 - m, 10 - 1H, 11 - 4He, 12 - 12C, 13 - 14N, 14 - 160, 15 - 20Ne
, 16 - 24Mg, 17 - r, 18 - L, 19 - , 20 -
, 21 -
, 22 -
, 23 - k2, 24 - n/n+1, 25 - Uhom, 26 - Vhom, 27 - U, 28 - S, 29 - L/LEdd, 30 - w.l
23 is the square of the radius of gyration; 24-26 are homology invariants; 30 is the convective velocity times the mixing length.
DT1 - Places a lower limit of DT1 * current timestep on the size of the next timestep. (0.8. 0.95 or 1.0)
DT2 - Places an upper limit of DT2 * current timestep on the size of the next timestep. If both DT1 and DT2 are set to 1, then the timestep is constant, unless the model fails to converge (in which case it will become 0.8 times the current value for the next run). (1.2, 1.05 or 1)
CT(1-10) - These are coefficients used in the mesh spacing function, Q.
ZS - This is the star's metallicity. See the receipes section if you wish to change the metallicity of the model you currently have. (e.g. 0.02, 0.001)
ALPHA - The mixing length. (2.00)
CH-CFE - These are the values for initalising the abundances of hydrogen-1 through to iron-56 of a model. The metals are expressed as a fraction of the total metallicity. These are only used for ZAMS models, and with NCH set to 3. (0.7 or 0.73, 0.176, 0.502, 0.092, 0.034, 0.072, 0.072)
RCD - The diffusion coefficient for convective mixing is RCD*()2/tnuc. (106)
OS - A convective overshoot parameter. Zero implies no overshoot. (0)
RML, RMG and RMT - At the surface, the mass loss rate is equal to -RML*Lr/m + RMG*m - RMT*[rstar/rlobe-1]3. This enables inclusion of a Reimers' type mass-loss rate, a constant mass-loss/gain rate (used mainly for running up and down the main sequence - see the receipes), and/or Roche-lobe overflow. All the units are solar and years. (0 or 4x10-13, 0 or +/- 5x10-7, 103 respectively)
ECA - Used in the evolution of EC for pre-MS construction. (0)
XF - Defines the boundary of a core, for printout purposes only, to be at X(1H) or X(4He) = XF
DR - Defines the boundary between a convection and semiconvection zone, for printout purposes only, to be at = DR. (0.01)
RHL - The intrinsic rate of loss of angular momentum from the binary, excluding that from stellar wind by either star. The total angular momentum loss is a combination of the intrinsic loss (here just a constant logarithmic rate) combined with the wind from both stars. (0)
AC - If there is Roche-lobe overflow, the stellar wind is a fraction 1-AC of the mass being lost by star 1. (1.0)
AK1 - The loss of angular momentum from star 1 as wind is AK1*the orbital angular momentum per unit mass as star 1. (0.0 or 1.0)
AK2 - The loss of angular momentum from star 2 as wind is AK2*the orbital angular momentum per unit mass as star 2.(1.0 or 0.0)
ECT - A constant logarithmic increase or decrease for EC (see the section on MODIN), which can be used to push a ZAMS star back up it's Hayashi track to make a pre-MS star.(0)
TRB - Used in setting the surface conditions of binaries.