Using a custom stratified composition

ASCII Format

To use a stratified ejecta composition in TARDIS, the elemental abundances may be specified on a per-cell basis via an external ASCII file (similar to setting up a custom density profile). An ASCII file that could work on a mesh with ten cells should be formatted like this:

# index Z=1 - Z=30
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0 0.1 0 0.2 0 0.2 0 0 0 0 0 0.2 0.1 0.1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0 0.1 0 0.2 0 0.2 0 0 0 0 0 0.2 0.1 0.1 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0 0.1 0 0.2 0 0.2 0 0 0 0 0 0.2 0.1 0.1 0 0
3 0 0 0 0 0 0 0 0.2 0 0 0 0.1 0 0.2 0 0.2 0 0.2 0 0.1 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0.2 0 0 0 0.1 0 0.2 0 0.2 0 0.2 0 0.1 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0.2 0 0 0 0.1 0 0.2 0 0.2 0 0.2 0 0.1 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0.2 0 0 0 0.1 0 0.2 0 0.2 0 0.2 0 0.1 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0.2 0 0 0 0.1 0 0.2 0 0.2 0 0.2 0 0.1 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0.5 0 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
9 0 0 0 0 0 0.5 0 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

In this file:

  • there should be the same number of rows as there are cells specified in the velocity/density structure part of the TARDIS setup

  • each row contains 31 numbers, the first of which is the index (i.e. matching the zone to the density profile file)

  • the remaining 30 entries in each row give the set of elemental abundances for atomic number Z=1 to Z=30 (in order)

The abundances are specified as mass fractions (i.e. the sum of columns 1 to 30 in each row should be 1.0). TARDIS does not currently include any elements heavier that Z=30. The mass fractions specified will be adopted directly in the TARDIS calculations — so if your model is, for example, based on an explosion simulation, you may need to calculate the state of any radioactive decay chains at the correct epoch.

The example file shown here has three simple layers:

  • an innermost region (indices 0 to 2) that is composed of Si (Z=14), S (Z=16), Ar (Z=18), Ca (Z=20), Fe (Z=26), Co (Z=27) and Ni (Z=28)

  • a middle region (indices 3 to 7) that is composed of O (Z=8), Mg (Z=12), Si, S, Ar and Ca

  • an outer region (indices 8 and 9) that is composed of C (Z=6) and O (Z=8).

Warning

The example given here is to show the format only. It is not a realistic model. In any real calculation, better resolution (i.e. more grid points) should be used.

Warning

The calculation can be no better / more complete than the atomic data set. For further information on the atomic database — including details of how to develop your own dataset to suit your needs, please contact us.

TARDIS ascii input file

If you create a correctly formatted abundance profile file (called “abund.dat” in this example), you can use it in TARDIS by putting the following lines in the model section of the YAML file:

model:
    abundances:
        type: file
        filename: abund.dat
        filetype: simple_ascii

CSV Format

In this format, both elemental and isotopic abundances may be specified on a per-cell basis via an external CSV file. A CSV file that could work on a mesh with ten cells should be formatted like this:

Index C O Mg Si Ni56 Ni58
0 0 0 0 0.6 0.4 0
1 0 0 0 0.1 0.5 0.4
2 0 0 0 0.3 0 0.7
3 0 0.2 0.8 0 0 0
4 0 0.3 0.7 0 0 0
5 0 0.2 0.8 0 0 0
6 0 0.2 0.8 0 0 0
7 0 0.2 0.8 0 0 0
8 0.5 0.5 0 0 0 0
9 0.5 0.5 0 0 0 0

Note

The file should always contain the cell index as a running index in the first column.

Danger

The header line for the isotopic abundance structure can under no circumstances start with a ‘#’.

In this file:

  • Header row contains element and isotopes symbol

  • the remaining entries in each row give the set of elemental and isotopic abundances.

  • the first column contains a running index

The abundances are specified as mass fractions (i.e. the sum of columns in each row should be 1.0). The mass fractions specified will be adopted directly in the TARDIS calculations.

The example file shown here has three simple layers:

  • an innermost region that is composed of Si and two Nickel Isotopes Ni56 and Ni58

  • a middle region that is composed of O and Mg

  • an outer region that is composed of C and O

Note

Suppose you specify Elemental and Isotopic abundances for the same element. For ex- Ni and Ni56. Here, Ni will refer to the stable Nickel (i.e. Z=26, A=58).

Note

As with the custom density file, the first row will be ignored. It is supposed to give the composition below the photosphere. Thus, the first row (after the header) can be filled with dummy values.

Warning

The example given here is to show the format only. It is not a realistic model. In any real calculation better resolution (i.e. more grid points) should be used.

TARDIS CSV input file

If you create a correctly formatted abundance profile file (called “tardis_model_abund.csv” in this example), you can use it in TARDIS by putting the following lines in the model section of the YAML file:

model:
    abundances:
        type: file
        filename: tardis_model_abund.csv
        filetype: custom_composition

Convert ASCII abundance file format to CSV format

If you want to convert an ASCII abundance file (say “abund.dat”) to CSV format, you can use convert_abundances_format function for it. Here is an example to demonstrate this:

from tardis.util import convert_abundances_format
df = convert_abundances_format('abund.dat')
df.to_csv('converted_abund.csv', index=False, sep=' ')