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