MLL#

class pyrost.multislice.MLL(layers, mat1_r, mat2_r, sigma)#

Multilayer Laue lens class.

Parameters
  • mat1_r (complex) – Fresnel transmission coefficients for the first material, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.

  • mat2_r (complex) – Fresnel transmission coefficients for the second material, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.

  • sigma (float) – Bilayer’s interdiffusion length [um].

  • layers (ndarray) – MLL’s bilayers x coordinates [um].

get_profile(x_arr, output, num_threads=1)#

Return a generator, that yields transmission profiles of the lens at each slice and writes to output array.

Parameters
  • x_arr (ndarray) – Coordinates array [um].

  • output (ndarray) – Output array.

  • num_threads (int) – Number of threads.

Return type

Iterable

Returns

The generator, which yields lens’ transmission profiles.

get_span()#

Return the pair of bounds (x_min, x_max) of the MLL along the x axis.

Return type

Tuple[float, float]

Returns

MLL’s bounds along the x axis [um].

classmethod import_params(params)#

Return a new MLL object import from the MSParams multislice parameters object.

Parameters

params (MSParams) – Experimental parameters of the multislice beam propagation simulation.

Return type

MLL

Returns

New MLL object.

property n_slices: int#

Total number of slices

Return type

int

update_interdiffusion(sigma)#

Return a new MLL object with the updated sigma.

Parameters

sigma (float) – Bilayer’s interdiffusion length [um].

Return type

MLL

Returns

New MLL object with the updated sigma.

update_materials(mat1_r, mat2_r)#

Return a new MLL object with the updated materials mat1_r and mat2_r.

Parameters
  • mat1_r (complex) – Fresnel transmission coefficients for each of the materials, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.

  • mat2_r (complex) – Fresnel transmission coefficients for each of the materials, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.

Return type

MLL

Returns

New MLL object with the updated mat1_r and mat2_r.