Function adas.xxdata_06

def xxdata_06(file=None, ndlev=450, ndtrn=15000, ndmet=13, ndqdn=8, ndpro=20, nvmax=50, itieactn=True)

Reads an adf06 specific ion file and returns all of its contents in a dictionary.

Parameters

file : str
full name of ADAS adf06 file
ndlev : int, optional
maximum number of levels - defaults is 450
ndtrn : int, optional
maximum number of transitions - default is 15000
ndmet : int, optional
maximum number of metastables - default is 13
ndqdn : int, optional
maximum principal quantum number of orbitals - default is 8
nvmax : int, optional
maximum number of temperatures/energies - default is 100
itieactn : bool
When set to False terminate if any levels are untied. The default is to to continue.

Returns

fulldata : dict
contents of the adf06 file
    'file'       :  adf06 filename
    'adf06_type' :  variant of the adf06 file
                      1 = collision strengths vs E/delta_E
                      2 = unused
                      3 = effective collision strengths
                      4 = non-Maxwellian
                      5 = collision strengths vs E-delta_E (Ryd)
                      6 = specific for BBGP
    'iz0'        :  nuclear charge
    'iz'         :  recombined ion charge
    'ia'         :  energy level index number (array)
    'cstrga'     :  nomenclature/configuration for level (array)
    'isa'        :  multiplicity for level (array)
                       note: (isa-1)/2 = quantum number (s)
    'ila'        :  quantum number (l) for level (array)
    'xja'        :  quantum number (j-value) for level (array)
                       note: (2*xja)+1 = statistical weight
    'wa'         :  energy relative to level 1 (cm-1) for level (array)
    'npla'       :  number of parent/zeta contributions to ionisation
                    of level (array)
    'ipla'       :  parent index of contributions to ionisation
                    of level (array[parent index, level index])
    'zpla'       :  effective zeta parameter of contributions to ionisation
                    of level (array[parent index, level index])
    'ltied'      :  indicates whether a level is tied (True )
                    or not (False). (array)
    'bwno'       :  ionisation potential (cm-1) of lowest parent
    'bwnoa'      :  ionisation potential (cm-1) of parents (array)
    'cprta'      :  parent name in brackets (array)
    'prtwta'     :  parent weight for parents in bwnoa array
    'eorb'       :  orbital energies (Rydberg) of occupied orbitals
                    in the configuration present (array)
    'qdn'        :  quantum defect for n-shells (array)
    'qdorb'      :  quantum defects for nl-orbitals (array) indexed by
                    ADAS i4idfl routine.
    'lqdorb'     :  indication whether source data available for quantum
                    defect (True) (array)
    'te'         :  electron temperatures (K) or energy parameter (array)
    'lower'      :  lower energy level index for excitation (array)
    'upper'      :  upper energy level index for excitation (array)
    'aval'       :  transition probability (s-1) (array [transition])
    'gamma'      :  gamma (array [transition, te, projectile]
                      - effective collision strength for type 3 adf06
                      - collision strength for type 1
    'projectile' :  name of projectile (array [projectile]), eg '7^Li'
    'charge_prj' :  charge of projectile (array [projectile])
    'mass_prj'   :  mass of projectile (array [projectile]) in atomic number
    'mass_target':  mass of target (array [projectile]) in atomic number
    'bt_type'    :  Burgess Tully classification of transition (1-4)
    'beth'       :  Bethe coefficient
    'level_ion'  :  ionising level index for ionisation (array)
    'parent_ion' :  parent level index for ionisation (array)
    'ion'        :  ionisation rate (cm3 s-1) (array[te, transition])

Notes

Calls a fortran based shared object file - not pure python.

References

ADAS manual description of adf06: http://www.adas.ac.uk/man/appxa-06.pdf

Any meaningful A-value is the electric quadrupole (E2) transition. It is not dependent on the projectile and is repeated in each projectile block.

Version History

  • Martin O'Mullane, 06-09-2018

    • First version
  • Martin O'Mullane, 16-07-2020

    • Extra ouptut from xxdtes.
  • Martin O'Mullane, 16-07-2020

    • Correct dimension of beth for multiple projectiles.
    • Fix reversed ionization parent/level identifiers.

Example

Show first 3 configurations and the effective collision strength for the 6th transition in the adf06 file.

>>> import adas as adas
>>> file='/home/adas/adas/adf06/lilike/lilike_aug99#li0_t1.dat'
>>> fulldata = adas.xxdata_06(file)
>>> fulldata['cstrga_std'][0:3]
array(['1S2 2S1', '1S2 2P1', '1S2 3S1'], dtype='<U7')
>>> fulldata['te'][0:40:5]
array([1.00e+02, 2.85e+02, 8.11e+02, 2.31e+03, 6.58e+03, 1.87e+04,
       5.34e+04, 1.52e+05])
>>> fulldata['gamma'][3,0:40:5]
array([4.23e-01, 4.34e+01, 3.42e+02, 2.34e+03, 8.68e+03, 1.13e+04,
       1.22e+04, 1.28e+04])