Function adas.xxdata_54

def xxdata_54(file=None, variant=None)

Reads an adf54 excitation promotion rules file, or an orbital scalings for AUTOSTRUCTURE file and return all of its contents in a dictionary.

Parameters

file : str
full name of ADAS adf54 file
variant : str (optional)
'prom' : promotion rules 'scale' : scaling parameters for AUTOSTRUCTURE

Returns

fulldata : dict
contents of the adf54 promotions file
    'index'       :  rule index
    'config'      :  ground configuration
    'config_std'  :  ground configuration in ADAS standard
                     ie 10->A, 11->B etc.
    'n_el'        :  number of electrons
    'no_v_shl'    :  number of open shell
    'max_dn_v1'   :  maximum delta n for promotion from first valence shell
    'min_dn_v1'   :  minimum delta n for promotion from first valence shell
    'max_dl_v1'   :  maximum delta l for promotion from first valence shell
    'min_dl_v1'   :  minimum delta l for promotion from first valence shell
    'max_dn_v2'   :  maximum delta n for promotion from second valence shell
    'min_dn_v2'   :  minimum delta n for promotion from second valence shell
    'max_dl_v2'   :  maximum delta l for promotion from second valence shell
    'min_dl_v2'   :  minimum delta l for promotion from second valence shell
    'prom_cl'     :  promote from inner shell closed shells
    'max_n_cl'    :  maximum n for inner shell promotion
    'min_n_cl'    :  minimum n for inner shell promotion
    'max_l_cl'    :  maximum l for inner shell promotion
    'min_l_cl'    :  minimum l for inner shell promotion
    'max_dn_cl'   :  maximum delta n for inner shell promotion
    'min_dn_cl'   :  minimum delta n for inner shell promotion
    'max_dl_cl'   :  maximum delta l for inner shell promotion
    'min_dl_cl'   :  minimum delta l for inner shell promotion
    'fill_n_v1'   :  add all nl configurations
    'fill_par'    :  add parity
    'for_tr_sel'  :  Cowan option for radiative transitions
    'last_4f'     :  shift an electron valence shell to 4f
    'grd_cmplx'   :  include configurations of same complex

   contents of the adf54 AUTOSTRUCTURE scaling file

    'orbitals'    :  list of orbitals, '1s', '2s'...

   collection of dictionaries with keys being the iso-electronic
   sequence element containing,

    'seq'         :  iso-electronic sequence symbol
    'iz0'         :  array of atomic numbers
    'fz'          :  array of z0/N (element / no. electrons)
    'scale'       :  array od Slater orbital scaling parameters
                     dimensions of (z0, orbitals)

Notes

This is a pure python routine.

The routine attempts to determine the variant and will raise an exception if it cannot be determined.

References

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

Version History

  • Martin O'Mullane, 08-08-2022

    • First version.
  • Martin O'Mullane, 08-09-2022

    • Add scaling parameters variant.
  • Martin O'Mullane, 28-10-2022

    • Adjust search string for determining blocks.

Example

The promotion rules used to generate year 41 argon data.

>>> import adas as adas
>>> file='/home/adas/adas/adf54/plt_optimization/ssh41_rules_ar.dat'
>>> fulldata = adas.xxdata_54(file)
>>> fulldata['config'][0]
'1s2  2s2  2p6  3s2  3p6'
>>> fulldata['max_dn_v1']
array([1, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0])

The first 4 Slater orbital scaling parameters for Li-like Xenon

>>> import adas as adas
>>> file='/home/adas/adas/adf54/ssh42_scaling_parameters.dat'
>>> fulldata = adas.xxdata_54(file)
>>> fd['orbitals'][0:4], fd['li']['scale'][34,0:4]
(['1s', '2s', '2p', '3s'], array([1.055, 1.24 , 1.448, 1.24 ]))