jaxrts.models.PeakCollection

class jaxrts.models.PeakCollection(k_pos: Quantity, intensity: Array, peak_function: Callable[[Quantity], Array])[source]

A model for approximating \(S_\text{ii}\) as a sum of peaks. Can be used to model, e.g., ideal powder diffraction, where elastic signal would only be expected at certain values of \(k\).

Parameters:
  • k_pos (Quantity) – The position of the peaks in \(k\) space.

  • intensity (jnp.ndarray) – The intensity of the peaks. Should have the same length as k_pos.

  • peak_function (Callable[[Quantity], jnp.ndarray]) –

    A function defining the shape of a peak. The function must:

    • Be normalized such that its integral over all \(k\) equals 1.

    • Be centered at zero in \(k\)-space.

    • Accept exactly one argument: a position in \(k\)-space.

    • Return an array with shape (n, n), where n is the number of ion species (jaxrts.PlasmaState.nions).

Methods

Rayleigh_weight(plasma_state, setup)

This is the result from Wünsch [Wünsch, 2011], to calculate the Rayleigh weight for a plasma from multiple species.

S_ii(plasma_state, setup)

__init__(k_pos, intensity, peak_function)

check(plasma_state)

Test if the model is applicable to the PlasmaState.

citation([style, comment])

Return bibliographic information for the Model used.

evaluate(plasma_state, setup)

prepare(plasma_state, key)

Modify the plasma_state in place.

Attributes

allowed_keys

A list of keywords where this model is adequate for

cite_keys

A list of bibtex keys.

Examples using jaxrts.models.PeakCollection

LatticeDebyeModel for approximating diffuse scattering in crystals

LatticeDebyeModel for approximating diffuse scattering in crystals