CFML_Scattering_Tables

This module provides tabulated data for atomic properties.

Tables

anomalous_scfac
  • Description: Tabulated Delta-Fp and Delta-Fpp for 5 common radiations: Cr, Fe, Cu, Mo, Ag

  • Entry type: Dictionary of type anomalous_sc_type.

  • Dimension: (98)

See table. Table rows are extracted with the function get_anomalous_scfac.

chem_info
  • Description: Tabulated chemical data.

  • Entry type: Dictionary of type chem_info_type.

  • Dimension: (108)

See table. Table rows are extracted with the function get_chem_info.

magnetic_form
  • Description: Tabulated magnetic form factors <j0> P.J. Brown.

  • Entry type: Dictionary of type magnetic_form_type.

  • Dimension: (119)

See table. Table rows are extracted with the function get_magnetic_form.

magnetic_j2
  • Description: Tabulated magnetic form factor J2.

  • Entry type: Dictionary of type magnetic_form_type.

  • Dimension: (97)

See table. Table rows are extracted with the function get_magnetic_j2.

magnetic_j4
  • Description: Tabulated magnetic form factor J4.

  • Entry type: Dictionary of type magnetic_form_type.

  • Dimension: (97)

See table. Table rows are extracted with the function get_magnetic_j4.

magnetic_j6
  • Description: Tabulated magnetic form factor J6.

  • Entry type: Dictionary of type magnetic_form_type.

  • Dimension: (39)

See table. Table rows are extracted with the function get_magnetic_j6.

xray_form
  • Description: Tabulated x-ray scattering factor coefficients.

  • Entry type: Dictionary of type xray_form_type.

  • Dimension: (214)

See table. Table rows are extracted with the function get_xray_form.

xray_wavelengths
  • Description: Tabulated K-Series for x-ray for Cr, Fe, Cu, Mo, Ag, Co and Ni.

  • Entry type: Dictionary of type xray_wavelength_type.

  • Dimension: (7)

See table. Table rows are extracted with the function get_xray_wavelengths.

Dictionaries

anomalous_sc_type

Keys and types:

  • symb (str): chemical symbol.

  • fp (ndarray, dim=(5), float32): delta Fp.

  • fpp (ndarray, dim=(5), float32): delta Fpp.

chem_info_type

Keys and types:

  • atwe (float): atomic weight (amu).

  • name (str): name of the element.

  • oxid (ndarray, dim=(5), type=int32): oxidation states.

  • rcov (float): covalent radius (angstroms).

  • rion (ndarray, dim=(5), type=float32): ionic radii (angstroms).

  • rwaals (float): van der Waals radius (angstroms).

  • sctf (str): Fermi length (10-12 cm).

  • sedinc (str): incoherent neutron scattering cross section (barns (10-24 cm2)).

  • sea (str): neutron absorption cross section (barns (10-24 cm2)).

  • symb (str): chemical symbol.

  • vatm (str): atomic volume (cm3/mol).

  • z (int): atomic number.

magnetic_form_type

Keys and types:

  • symb (str): chemical symbol.

  • sctm (numpy.ndarray, dim=(7), numpy.float32): scattering factors.

xray_form_type

X-ray scattering factors are computed as:

f(s) = Sum_{i=1,4} (a(i) exp(-b(i)*s^2)) + c,

where s is sin(theta) / lambda.

Keys and types:

  • symb (str): chemical symbol.

  • z (int): atomic number.

  • a (ndarray, dim=(4), float32): coefficient.

  • b (ndarray, dim=(4), float32): coefficient.

  • c (float32): coefficient.

xray_wavelength_type

Keys and types:

  • symb (str): chemical symbol.

  • kalfa (ndarray, dim=(2), float32): k_alpha wavelengths.

  • kbeta (float32): k_beta wavelength.

Functions

get_abs_xs(symb)

Returns the absorption cross-section (barns, energy = 0.025 eV) of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

absorption cross-section

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_abs_xs('Fe')
2.559999942779541
get_anomalous_scfac(r)

Returns the row r of the table anomalous_scfac.

Parameters:

r (int) – row

Returns:

anomalous scattering factors

Return type:

dict. See anomalous_sc_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_anomalous_scfac(26)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: fe
    fp: [-1.339 -2.095 -1.179  0.301  0.244]
   fpp: [0.764 0.566 3.204 0.845 0.545]
get_atomic_mass(symb)

Returns the atomic mass (amu) of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

atomic mass

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_atomic_mass('Fe')
55.84700012207031
get_atomic_vol(symb)

Returns the atomic volume (cm3/mol) of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

atomic vol

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_atomic_vol('Fe')
7.099999904632568
get_chem_info(r)

Returns the row r of the table chem_info.

Parameters:

r (int) – row

Returns:

chemical information

Return type:

dict. See chem_info_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_chem_info(26)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: FE
  name: Iron
     z: 26
  atwe: 55.84700012207031
  rcov: 1.1699999570846558
rwaals: 2.440000057220459
  vatm: 7.099999904632568
  oxid: [2 3 0 0 0]
  rion: [0.76 0.64 0.   0.   0.  ]
  sctf: 0.9449999928474426
sedinc: 0.4000000059604645
   sea: 2.559999942779541
get_chem_symb(label)

Returns the chemical symbol of an element from a label.

Parameters:

label (str) – atom label

Returns:

chemical symbol

Return type:

str

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_chem_symb('Fe+2')
'Fe'
get_covalent_radius(symb)

Returns the covalent radius (angstroms) of a chemical element. If an error ocurred, it returns 1.4.

Parameters:

symb (str) – atomic symbol

Returns:

covalent radius

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_covalent_radius('Fe')
1.1699999570846558
get_fermi_length(symb)

Returns the Fermi length (10-12 cm) of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

Fermi length

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_fermi_length('Fe')
0.9449999928474426
get_inc_xs(symb)

Returns the incoherent scattering neutron cross section (barns) of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

incoherent scattering cross section

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_inc_xs('Fe')
0.4000000059604645
get_ionic_radius(symb, valence)

Returns the ionic radius (angstroms) of an ion. If an error ocurred, it returns 0.

Parameters:
  • symb (str) – atomic symbol

  • valence (int) – ion valence

Returns:

ionic radius

Return type:

float

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_covalent_radius('Fe',2)
0.7599999904632568
get_magnetic_form(r)

Returns the row r of the table magnetic_form.

Parameters:

r (int) – row

Returns:

magnetic form factors

Return type:

dict. See magnetic_form_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_magnetic_form(1)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: MSC0
  sctm: [ 2.51200e-01  9.00296e+01  3.29000e-01  3.94021e+01  4.23500e-01
  1.43222e+01 -4.30000e-03]
get_magnetic_j2(r)

Returns the row r of the table magnetic_j2.

Parameters:

r (int) – row

Returns:

magnetic form factor j2

Return type:

dict. See magnetic_form_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_magnetic_j2(1)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: SC0
  sctm: [1.08172e+01 5.43270e+01 4.73530e+00 1.48470e+01 6.07100e-01 4.21800e+00
 1.10000e-03]
get_magnetic_j4(r)

Returns the row r of the table magnetic_j4.

Parameters:

r (int) – row

Returns:

magnetic form factor j4

Return type:

dict. See magnetic_form_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_magnetic_j4(1)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: SC0
  sctm: [ 1.342  10.2     0.3837  3.079   0.0468  0.118  -0.0328]
get_magnetic_j6(r)

Returns the row r of the table magnetic_j6.

Parameters:

r (int) – row

Returns:

magnetic form factor j6

Return type:

dict. See magnetic_form_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_magnetic_j6(1)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: CE2
  sctm: [-1.212e-01  7.994e+00 -6.390e-02  4.024e+00  1.519e-01  1.096e+00
  7.800e-03]
get_xray_form(r)

Returns the row r of the table xray_form.

Parameters:

r (int) – row

Returns:

x-ray scattering factor coefficients

Return type:

dict. See xray_form_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_xray_form(54)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: fe+3
     z: 26
     a: [11.1764  7.3863  3.3948  0.0724]
     b: [ 4.6147  0.3005 11.6729 38.5566]
     c: 0.9707000255584717
get_xray_wavelengths(r)

Returns the row r of the table xray_wavelengths.

Parameters:

r (int) – row

Returns:

k-series wavelengths for x-rays

Return type:

dict. See xray_wavelength_type.

>>> from pycrysfml import cfml_scattering_tables
>>> row = cfml_scattering_tables.get_xray_wavelengths(1)
>>> for k in row:
...   print(f'{k :>6}: {row[k]}')
...
  symb: CR
 kalfa: [2.28988 2.29428]
 kbeta: 2.0848000049591064
get_z_symb(symb)

Returns the atomic number of a chemical element. If an error ocurred, it returns 0.

Parameters:

symb (str) – atomic symbol

Returns:

atomic number

Return type:

int

>>> from pycrysfml import cfml_scattering_tables
>>> cfml_scattering_tables.get_z_symb('Fe')
26