glassure.scattering_factors module

exception glassure.scattering_factors.ElementNotImplementedException(element)

Bases: Exception

class glassure.scattering_factors.ScatteringFactorCalculatorBrownHubbell

Bases: ScatteringFactorCalculator

Scattering factor calculator based on the work of Brown et al., 2006 and Hubbell et al., 1975.

property elements

Returns a list of available elements.

get_coherent_scattering_factor(element: str, q)

Calculates the coherent scattering factor for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

Returns:

coherent scattering factor array

get_incoherent_intensity(element: str, q)

Calculates the incoherent scattering intensity for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

Returns:

incoherent scattering intensity array

class glassure.scattering_factors.ScatteringFactorCalculatorHajdu

Bases: ScatteringFactorCalculator

Scattering factor calculator based on the work of Hajdu et al. (Acta Cryst. (1992). A48, 344-352).

property elements

Returns a list of available elements.

get_coherent_scattering_factor(element: str, q)

Calculates the coherent scattering factor for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

Returns:

coherent scattering factor array

get_incoherent_intensity(element: str, q)

Calculates the incoherent scattering intensity for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

Returns:

incoherent scattering intensity array

class glassure.scattering_factors.ScatteringFactorCalculatorXraylib

Bases: ScatteringFactorCalculator

Scattering factor calculator using xraylib library. See https://github.com/tschoonj/xraylib/wiki for more details.

property elements

Returns a list of available elements.

get_coherent_scattering_factor(element: str, q)

Calculates the coherent scattering factor for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

Returns:

coherent scattering factor array

get_incoherent_intensity(element: str, q)

Calculates the incoherent scattering intensity for a given element and q values, using SF_Compt for q_xr >= 0.001, and cubic interpolation for q_xr < 0.001.

Parameters:
  • element – Element symbol

  • q – 1D numpy array of q values

Returns:

numpy array of incoherent scattering intensity

exception glassure.scattering_factors.SourceNotImplementedException(source)

Bases: Exception

glassure.scattering_factors.calculate_coherent_scattering_factor(element: str, q: ndarray, source: str = 'hajdu') ndarray

Calculates the coherent scattering factor for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array in A^-1

  • source – Source of the scattering factors. Possible sources are ‘hajdu’, ‘brown_hubbell’ and ‘xraylib’.

Returns:

coherent scattering factor array

glassure.scattering_factors.calculate_incoherent_scattered_intensity(element: str, q: ndarray, source: str = 'hajdu') ndarray

Calculates the incoherent scattering intensity for a given element and q values.

Parameters:
  • element – Element symbol

  • q – q array

  • source – Source of the scattering factors. Possible sources are ‘hajdu’, ‘brown_hubbell’ and ‘xraylib’.

Returns:

incoherent scattering intensity array

glassure.scattering_factors.get_available_elements(source: str) list[str]

Returns a list of available elements for a given source. Possible sources are ‘hajdu’, ‘brown_hubbell’ and ‘xraylib’.

glassure.scattering_factors.get_calculator(source: str) ScatteringFactorCalculator

Returns the calculator for a given source. Possible sources are ‘hajdu’, ‘brown_hubbell’ and ‘xraylib’.