Material#

class pyrost.multislice.Material(formula, density, dbase='Chantler')#

Material serves for getting refractive index and absorption coefficient of a material specified by its chemical formula and density.

Parameters
  • formula (str) – The string representation of a chemical compound.

  • density (float) – Atomic density of the compound.

  • dbase (str) –

    Database of the tabulated scattering factors of each element. The following keywords are allowed:

    • Henke : (10 eV < E < 30 keV) [Henke].

    • Chantler : (11 eV < E < 405 keV) [Chantler].

    • BrCo : (30 eV < E < 509 keV) [BrCo].

name#

Name of the compound.

elements#

List of elements in the chemical formula.

Type

List[pyrost.multislice.ms_parameters.Element]

quantities#

Coefficients in the chemical formula.

Type

List[int]

mass#

Molar mass [u].

density#

Atomic density of the element.

References

Henke

http://henke.lbl.gov/optical_constants/asf.html B.L. Henke, E.M. Gullikson, and J.C. Davis, X-ray interactions: photoabsorption, scattering, transmission, and reflection at E=50-30000 eV, Z=1-92, Atomic Data and Nuclear Data Tables 54 (no.2) (1993) 181-342.

Chantler

http://physics.nist.gov/PhysRefData/FFast/Text/cover.html http://physics.nist.gov/PhysRefData/FFast/html/form.html C. T. Chantler, Theoretical Form Factor, Attenuation, and Scattering Tabulation for Z = 1 - 92 from E = 1 - 10 eV to E = 0.4 - 1.0 MeV, J. Phys. Chem. Ref. Data 24 (1995) 71-643.

BrCo

http://www.bmsc.washington.edu/scatter/periodic-table.html ftp://ftpa.aps.anl.gov/pub/cross-section_codes/ S. Brennan and P.L. Cowan, A suite of programs for calculating x-ray absorption, reflection and diffraction performance for a variety of materials at arbitrary wavelengths, Rev. Sci. Instrum. 63 (1992) 850-853.

export_dict()#

Export object to a dictionary.

Return type

Dict[str, Union[str, float]]

Returns

Dictionary with element’s name, mass, and density.

get_absorption_coefficient(energy)#

Calculates the linear absorption coefficientfor the given photon energy.

Parameters

energy (Union[float, ndarray]) – Photon energy [eV].

Return type

Union[float, ndarray]

Returns

Linear absorption coefficient [cm^-1]

Notes

The absorption coefficient is the inverse of the absorption length and is given by [GISAXS]:

\[\mu = \frac{\rho N_a}{m_a} 2 r_e \lambda f_2 = \frac{4 \pi \beta}{\lambda}\]

where \(\rho\) is physical density, \(N_a\) is Avogadro constant, \(m_a\) is atomic molar mass, \(r_e\) is radius of electron, \(\lambda\) is wavelength, \(f_1\) and \(f_2\) are real and imaginary components of scattering factor.

get_ref_index(energy)#

Calculates the complex refractive index for the given photon energy.

Parameters

energy (Union[float, ndarray]) – Photon energy [eV].

Return type

Union[float, ndarray]

Returns

Linear absorption coefficient [cm^-1]

Notes

The complex refractive index is customary denoted as:

\[n = 1 - \delta + i \beta\]

The real and imaginary components, \(\delta\) and \(\beta\) are given by [GISAXS]:

\[\delta = \frac{\rho N_a r_e \lambda f_1}{2 \pi m_a}\]
\[\beta = \frac{\rho N_a r_e \lambda f_2}{2 \pi m_a}\]

where \(\rho\) is physical density, \(N_a\) is Avogadro constant, \(m_a\) is atomic molar mass, \(r_e\) is radius of electron, \(\lambda\) is wavelength, \(f_1\) and \(f_2\) are real and imaginary components of scattering factor.

Reference:
GISAXS(1,2)

http://gisaxs.com/index.php/Refractive_index

get_sf(energy)#

Return a complex scattering factor (f1 + 1j * f2) for the given photon energy.

Parameters

energy (Union[float, ndarray]) – Photon energy [eV].

Return type

Union[float, ndarray]

Returns

Complex scattering factor.