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 ]))