As a neutral particle travels through a plasma it undergoes several different types of interactions
These cross sections, as well as Maxwellian averaged reaction rates, are pre-computed over a range of logarithmically spaced collision energies and target temperatures.
Some of atomic transitions needed by FIDASIM are not available. In particular, FIDASIM needs the n/m-resolved charge exchange cross sections. While certain transitions are available through ADAS [4] others are not, as such, certain approximations are needed to fill out the table.
For instance, we use the equivalence principle (reversibility formula) to mirror the known ADAS cross sections. This however is insufficient to completly fill out the table.
Additionally, since the total cross sections for a transition from a given to any are given by Janev[2] we can then also assume that the probability of a transition from the state decreases exponentially with energy difference between the states we can "spread" the total cross section amoung the different m levels.
Total cross sections for are not available so the total cross sections are used. Also we normalize the m levels to the Janev tables for consistancy.
A summary of the various approximations used in the charge exchange tables is given in the table below. (Spreading is done over m/rows)
n \ m | 1 | 2 | 3 | 4 | 5 | 6 | Total |
---|---|---|---|---|---|---|---|
1 | ADAS | ADAS | ADAS | ADAS | Spread | Spread | Janev(n=1) |
2 | Equivalence | ADAS | ADAS | Spread | Spread | Spread | Janev(n=2) |
3 | Equivalence | ADAS | ADAS | ADAS | ADAS | Spread | ADAS/Janev(n=3) |
4 | Equivalence | Equivalence | Equivalence | Spread | Spread | Spread | Janev(n=4) |
5 | Spread | Equivalence | Equivalence | Spread | Spread | Spread | Janev(n=4) |
6 | Spread | Equivalence | Equivalence | Spread | Spread | Spread | Janev(n=4) |
FIDASIM provides a routine, generate_tables to generate the atomic tables. To generate the atomic tables with the default settings all you need to do is, from the install directory, run
make atomic_tables
This is computationally expensive so make sure you run this on a computer
where you won't get angry emails for using up all the CPU's.
Optionally you can add NTHREADS=#
to the command to set the number of threads.
The default settings should be appropriate for most devices but in some cases it may be necessary to generate custom tables. For instance, the default tables are calculated assuming the main impurity is Carbon-6 so it would be inappropriate to the default tables if you have a different main impurity. To generate custom tables from the tables directory run
./generate_tables > table_settings.dat
to generate the namelist file that contains the default settings. Edit this file to change the settings.
After editing the namelist file run
./generate_tables table_settings.dat [NUM_THREADS] <-- NUM_THREADS is optional
and wait for a couple of hours depending on the number of threads used.
The atomic data is taken from a variety of sources [1-5]
A more precice references can be found in the Fortran function documentation. For example, p_cx_janev
tables_file
: Location of atomic tables file