Introduction     History     Code design     Literature   



Introduction

This Diplomarbeit wouldn't exist without the Tübingen NLTE Model Atmosphere Package (TMAP). All stellar atmospheres and synthetic spectras have been calculated with this program. Therefore one has to understand the whole CSC package only as a tool preparing atomic data for the TMAP. The Tübingen NLTE Model Atmosphere Package has been designed and implemented by Klaus Werner, Stefan Dreizler, and Thomas Rauch over the last 10 years.
The Tübingen Cross-Section Creation Package (CSC) provides the possibility to create line cross-sections and model atom files for iron-group elements, i.e. Sc to Zn and other complicated species.
The aim of CSC is the preparation of Radiative Bound-Bound (RBB), Radiative Bound-Free (RBF) as well as Collisional Bound-Bound (CBB) and Collisional Bound-Free (RBF) Cross-Sections (CS) as input to TMAP.
A detailed consideration of all atomic line transitions which are known from experiments or theoretical calculations is impossible. The large number of levels would exceed the computational power for model atmosphere calculations available at the moment. The main task of CSC is therefore to reduce this large number of levels in an adequate way.
The major concept for achieving this goal is to combine all energy levels of one (model) ion to typically seven energy bands. This reduces the number of levels dramatically without loosing too much information about the physics of the system. An atom, whose level structure is simplified in that way is called a model atom.

Additionally, CSC offers the possibility to combine several chemical species to one generic model atom. Generic model atom means it looks like one atom with several bands but contains the coadded cross-section of all included species. The contribution of the individual species to the total result is determined by their abundance with respect to the dominating atom (e.g. Fe/Fe=1 and Ni/Fe=0.5 etc.). The dominating atom is called here the MAIN_Z_SYMBOL (e.g. FE), or the MAIN_Z_VALUE (e.g. 26) respectively.
Furthermore CSC allows to generate a combined model atom. That means, that one combines several model atoms for different elements. All calculations have to be done on one common frequency grid.
The following sections contain a software design document (SDD) of the Tübingen Cross-Section Creation Package. Main purpose of this chapter is to provide a description of all I/O interfaces of FORTRAN programs and tcsh scripts. This chapter is unimportant for the comprehension of the results of this Diploma Thesis, but it is crucially important to support further work to be done in this area.


History

The first version of this software package had been designed and was implemented by Dreizler and Werner. They decided to use a modular concept and focused on the implementation of the relevant physics. This original code was written in FORTRAN77 and designed to run on fast vector machines like CRAY computers.
The major problem of this first version was, that it was very time consuming and error prone to create a new model atom with all relevant cross sections. Loop sizes, ionisation stages, element names, masses etc. had to be manually inserted in all parts of the code, individually for each element and ionisation stage. Furthermore this version was restricted to only one dominating atom, i.e. iron. So only different generic iron atoms could be created. The calculation of a completely new generic atom from scratch, including all experimentally and theoretically known lines, would have lasted at least 1000 hours (6-8 weeks on DEC-Alpha Workstation, 233 MHz, 500 MB main memory).
The second step in the development of this software was the implementation of Opacity Distribution Functions (ODF) in an extra FORTRAN programm by Stefan Haas as a part of his Phd thesis. In this Phd thesis the influence of the number of bands (seven versus twenty) was tested as well as Opacity Sampling (OS) was compared with ODF.
After the end of his Dissertation Stefan Haas handed over the latest version of the program package to me in November 1997. At this time the whole software, consisting of about 4500 lines of code, was completely undocumented. Only a few pages of general description were available.
This Diploma Thesis had three major aims concerning this software. The first was to combine this loosely coupled modules to one software package driven by one input file. Any error prone editing in the code by the user should be avoided. The second aim was to speed up the code by a factor of at least 10. The third aim was to offer a wider spectrum of physical parameters (different dominating atoms, combined model atoms, microturbulence, different number of bands per ion etc.).
Most of these ideas have been realised in the actual version of CSC. It comprises about 14000 lines (including 4500 coment lines). This SDD is a weak attempt to make this software a little bit more comprehensible for further developing as well as for those, who want to use CSC simply as a `black box'.
To summerize: Now this software can be used by everyone, who is familar with the general concepts, and can provide results within hours.


Code design


Concept

CSC consists of two major parts. The modules of the first part calculate cross-sections on a `fine' frequency grid (typically 0.1 dopplerwidths, i.e. some 10^5 frequency points), based on input data of Kurucz. Here one has the choice between the full data set of experimental and theoretical lines or the small one containing only the experimentaly known levels and lines. For the model atmosphere calculations, cross-sections are interpolated by the modules of the second part on a `coarse' frequency grid with about 10^3-10^4 frequency points. The `fine' cross-sections are calculated once, while changes in the other model atoms - and thus, in the atomic data file ATOMS require only a new interpolation on the `coarse' frequency grid. The time-consuming sampling procedure has to be done only if changes in the model atoms or abundance ratios of the iron group elements occur.




Implementation

CSC consist of 16 independent `calculation modules' implemented in FORTRAN77 or FORTRAN90. Attached to each `calculation module' is a `service module' implemented in the tcsh script language. There exists some additional `service modules', one `meta module', and one `Graphical User Interface Module' (GUI) which help to control the entire package.



CSC is driven by one parameter file. This file contains all necessary variables, paths, switches and physical quantities. The GUI, allows an easy handling of this parameter file.
This type of design (modules and strict interfaces) has several advantages: Firstly it is easy to change the behavior (e.g. improved modelling of physical quantities) of an individual module without getting in conflict with other parts of the package. Secondly it is possible to achieve different results, e.g. by using different sampling methods, just by replacing one of the modules. The third advantage is that in case of new parameters only those modules have to be started again, for which the parameters or input data has really changed. At the beginning, for example, it was very time consuming to calculate cross section for Ca, Fe, and Ni separately, but once done, it was no problem to combine them in different model atoms, thereby one achieved a tremendous speed up of the turn around time.


Literature

  • My Diplomarbeit contains a software design documetn (SDD) of the Tübingen Cross-Section Creation Package:
    Deetjen, J.L., 1999, Die Eisenhäufigkeit ind Wasserstoffreichen Zentralsternen Planetarischer Nebel ,
    Diplomarbeit, Universität Tübingen
    (1.525k gzip'ed Postscript including figures)
  • The PhD-thesis of Stefan Haas describes in Detail the ideas and the physics CSC is based on:
    Haas, S., 1997, Die Atmosphären unterleuchtkräftiger O-Sterne: Die Rolle der Eisengruppenelemente,
    Dissertation, Universität Erlangen-Nürnberg


  • Haas, S. et. al., 1996, Iron and nickel abundances of subluminous O-stars. I. NLTE-model atmospheres with line blanketing by iron group elements, A&A 311, 669



Robinson Crusoe was the only man who got his work done by Friday.
So, don't Panic.