pymiediff.Particle.get_angular_scattering

pymiediff.Particle.get_angular_scattering#

Particle.get_angular_scattering(k0: Tensor, theta: Tensor, **kwargs) dict#

Compute angular scattering for a single particle.

Parameters:
  • k0 (torch.Tensor) – Evaluation wavenumbers (rad nm^-1). Will be moved to the particle’s device internally.

  • theta (torch.Tensor) – Scattering angles (rad). Can be any shape that broadcasts with k0.

  • **kwargs (dict) – Additional keyword arguments passed to pymiediff.coreshell.angular_scattering(). Typical options include n_max to manually set the truncation order.

Returns:

Dictionary containing angular‑scattering results. Keys include (but are not limited to):

  • thetatorch.Tensor

    The input angles (rad) after possible broadcasting.

  • i_unpoltorch.Tensor

    Unpolarised intensity as a function of theta and k0.

  • i_partorch.Tensor

    Parallel‑polarised intensity.

  • i_perptorch.Tensor

    Perpendicular‑polarised intensity.

Any additional fields returned by pymiediff.coreshell.angular_scattering() are also present.

Return type:

dict

Notes

The helper function _squeeze_dimensions is applied to the result to remove the singleton particle dimension for single‑particle calculations.