Saturday 5 October 2013

Some useful atomic data in IDL

Here I list a couple of my IDL routines that load some useful atomic data (atomic numbers up to 92 are supported).


List of elements

This routine returns symbols and names of atomic elements for a given atomic number Z.

load_list_of_elements.pro

Example:
IDL> sym = LOAD_LIST_OF_ELEMENTS([6, 7, 8], element = names)
IDL> PRINT, sym
C N O
IDL> PRINT, names
Carbon Nitrogen Oxygen


Atomic weights (aka relative atomic masses)

This routine loads the atomic weights for a given atomic number Z. The data comes from
  http://www.nist.gov/pml/data/comp.cfm

The original source is Wieser & Berglund (2009, Pure Appl. Chem., Vol.81, No.11, p.2131-2156), published as an IUPAC Tecnical Report available at:
   http://pac.iupac.org/publications/pac/pdf/2009/pdf/8111x2131.pdf

load_atomic_weights.pro

Example:
IDL> a = LOAD_ATOMIC_WEIGHTS([1, 2, 6, 7, 8])
IDL> PRINT, a
1.00790      4.00260      12.0107      14.0067      15.9994



Atomic ionization energies

This routine loads the atomic ionization energied for a given atomic number Z and for a given ionization stage r. The energy of the first ionization is obtained for r = 0. The first ten ionization energies are available (r < 10). All the output values are in eV.

The data is downloaded from
  http://physics.nist.gov/PhysRefData/ASD/IonEnergy.html

The full reference is
  Kramida, A., Ralchenko, Yu., Reader, J. and NIST ASD Team (2013),
  NIST Atomic Spectra Database (ver. 5.1), [Online]. Available:
  http://physics.nist.gov/asd [2013, November 5], National Institute
  of Standards and Technology, Gaithersburg, MD. 

load_ionization_energies.pro
 
Examples:
; The first 4 ionization energies for H, He, Li, C, N and O
IDL> a = LOAD_IONIZATION_ENERGIES([1, 2, 3, 6, 7, 8], [0, 1, 2, 3])
IDL> PRINT, a
13.598434  24.587388  5.3917147  11.260300  14.534130  13.618054
0.0000000  54.417762  75.640092  24.384500  29.601250  35.121110
0.0000000  0.0000000  122.45435  47.887780  47.445300  54.935540
0.0000000  0.0000000  0.0000000  64.493580  77.473500  77.413500

; The first 4 ionization energies for O
IDL> a = LOAD_IONIZATION_ENERGIES(8, [0, 1, 2, 3])  
IDL> PRINT, a
13.618054
35.121110
54.935540
77.413500

; The second ionization energy for He 
IDL> a = LOAD_IONIZATION_ENERGIES(2, 1)
IDL> PRINT, a
54.417762

; The first 10 ionization energies for O
IDL> a = LOAD_IONIZATION_ENERGIES(8)
IDL> PRINT, a 
13.618054
35.121110
54.935540
77.413500
113.89900
138.11890
739.32678
871.40983
0.0000000
0.0000000


Solar abundances

This routine reads tables of the solar chemical composition from several sources and for a given Z. It can return either the logarithmic abundances relative to hydrogen (default), or the linear abundances relative to H in part per milion (ppm), or the mass fractions X, Y, Z (of H, He and metals). See the header of the routine for the options.

In the current version 7 sets of abundances are supported:

Short referenceCodeADS reference/link
Withbroe (1971)W711971spas.conf..127W
Grevesse (1984)G841984PhST....8...49G
Anders & Grevesse (1989)AG891989GeCoA..53..197A
Grevesse & Sauval (1998)GS981998SSRv...85..161G
Asplund et al (2005)A052005ASPC..336...25A
Asplund et al (2009)A092009ARA&A..47..481A
Lodders et al (2009)L092009LanB...4B...44L

The set of Withbroe is the least complete (only 20 elements), but it is included because the infamous VAL3C model of the solar atmosphere is constructed using these valus.

The pre-2000 sets are generally considered obsolete. There is a number of extensive review papers on that topic (e.g. see 2009ARA&A..47..481A). The post-2000 sets of Asplund et al are based on the 3D hydrodynamical simulations and have considerably smaller metalicity than the older ones. The set of Lodders et al is a compilation of the solar photospheric and meteoritic values.

Anyone using the abundance data should have in mind that the photospheric abundance measurements are always model- and data-dependent. Thus before using the data, it is highly recommended to read the original papers. That is particularly true for the oxygen that is the third most abundant element in the Universe. The use of the 3D simulations instead of the 1D models led to a reduction of the oxygen abundance for the factor of ~2. Beside the oxygen abundances listed in these tables, there is a large number of papers dealing with that issue (look for the papers of Asplund et al, Caffau et al, Socas-Navarro et al, Ayres et al, Allende Prieto et al, etc).

If you use any of these data in a publication, please acknowledge it appropriately by citing the corresponding paper.

load_abundances.pro

Examples:
; Logarithimic abundances for C. N and O relative to H from 
; Asplund et al, 2009
IDL> a = LOAD_ABUNDANCES([6, 7, 8], source = 'A09')
IDL> PRINT, a
8.4300000       7.8300000       8.6900000

; Linear abundances for C. N and O relative to H [in ppm].
IDL> a = LOAD_ABUNDANCES([6, 7, 8], source = 'A09', /ppm)
IDL> PRINT, a
269.15348       67.608298       489.77882

; Mass fractions X, Y, Z computed using the abundances of
; Asplund et al, 2009. 
IDL> a = LOAD_ABUNDANCES(source = 'A09', /xyz)               
IDL> PRINT, a.x
      0.73738727
IDL> PRINT, a.y
      0.24924153
IDL> PRINT, a.z
     0.013371199}

No comments:

Post a Comment