exspy.utils.eels#

effective_angle(E0, E, alpha, beta)

Calculates the effective collection angle

get_edges_near_energy(energy[, width, ...])

Find edges near a given energy that are within the given energy window.

get_info_from_edges(edges)

Return the information of a sequence of edges as a list of dictionaries

iMFP_angular_correction(density, ...)

Estimate the effect of limited collection angle on EELS mean free path

iMFP_Iakoubovskii(density, electron_energy)

Estimate electron inelastic mean free path from density

iMFP_TPP2M(electron_energy, density, M, N_v, E_g)

Electron inelastic mean free path using TPP-2M.

exspy.utils.eels.effective_angle(E0, E, alpha, beta)#

Calculates the effective collection angle

Parameters:
  • E0 (float) – electron beam energy in keV

  • E (float) – energy loss in eV

  • alpha (float) – convergence angle in mrad

  • beta (float) – collection angle in mrad

Returns:

effective_angle – The effective collection angle in mrad.

Return type:

float

Notes

Code translated to Python from Egerton (second edition) page 420

exspy.utils.eels.get_edges_near_energy(energy, width=10, only_major=False, order='closest')#

Find edges near a given energy that are within the given energy window.

Parameters:
  • energy (float) – Energy to search, in eV

  • width (float) – Width of window, in eV, around energy in which to find nearby energies, i.e. a value of 10 eV (the default) means to search +/- 5 eV. The default is 10.

  • only_major (bool) – Whether to show only the major edges. The default is False.

  • order (str) – Sort the edges, if ‘closest’, return in the order of energy difference, if ‘ascending’, return in ascending order, similarly for ‘descending’

Returns:

edges – All edges that are within the given energy window, sorted by energy difference to the given energy.

Return type:

list

exspy.utils.eels.get_info_from_edges(edges)#

Return the information of a sequence of edges as a list of dictionaries

Parameters:

edges (str or iterable) – the sequence of edges, each entry in the format of ‘element_subshell’.

Returns:

info – A list of dictionaries with information corresponding to the provided edges.

Return type:

list

exspy.utils.eels.iMFP_Iakoubovskii(density, electron_energy)#

Estimate electron inelastic mean free path from density

Parameters:
  • density (float) – Material density in g/cm**3

  • beam_energy (float) – Electron beam energy in keV

Returns:

inelastic_mean_free_path – The inelastic mean free path in nanometers.

Return type:

float

See also

exspy.utils.eels.iMFP_TPP2M, exspy.utils.eels.angular_correction

Notes

For details see Equation 9 in reference [*].

exspy.utils.eels.iMFP_TPP2M(electron_energy, density, M, N_v, E_g)#

Electron inelastic mean free path using TPP-2M.

Parameters:
  • electron_energy (float) – Electron beam energy in keV

  • density (float) – Material density in g/cm**3

  • M (float) – Molar mass in g / mol

  • N_v (int) – Number of valence electron

  • E_g (float) – Band gap in eV

Returns:

inelastic_mean_free_path – The inelastic mean free path in nanometers.

Return type:

float

Notes

For details see reference [].

exspy.utils.eels.iMFP_angular_correction(density, beam_energy, alpha, beta)#

Estimate the effect of limited collection angle on EELS mean free path

Parameters:
  • density (float) – Material density in g/cm**3

  • beam_energy (float) – Electron beam energy in keV

  • alpha (float) – Convergence and collection angles in mrad.

  • beta (float) – Convergence and collection angles in mrad.

Returns:

correction – The correction factor on the mean free path due to the collection angle.

Return type:

float

Notes

For details see Equation 9 in reference [].