pymiediff.multishell.mie_coefficients

pymiediff.multishell.mie_coefficients#

pymiediff.multishell.mie_coefficients(k0, r_layers=None, eps_layers=None, r_c=None, eps_c=None, r_s=None, eps_s=None, eps_env=1.0, return_internal=False, backend='pena', precision='double', which_jn='recurrence', n_max=None)#

Compute Mie coefficients for spherical particles.

Parameters:
  • k0 (tensor-like) – Vacuum wavevector(s), rad/nm.

  • r_layers (tensor-like, optional) – Preferred multilayer inputs.

  • eps_layers (tensor-like, optional) – Preferred multilayer inputs.

  • r_c (tensor-like, optional) – Legacy core/shell inputs.

  • eps_c (tensor-like, optional) – Legacy core/shell inputs.

  • r_s (tensor-like, optional) – Legacy core/shell inputs.

  • eps_s (tensor-like, optional) – Legacy core/shell inputs.

  • eps_env (tensor-like, default=1.0) – Environment permittivity.

  • return_internal (bool, default=False) – Return internal coefficients where supported.

  • backend ({"pena", "torch", "scipy"}, default="pena") – Numerical backend.

  • precision ({"single", "double"}, default="double") – Precision for torch-based recurrences.

  • which_jn ({"recurrence", "ratios"}, default="recurrence") – Torch-only spherical j_n implementation.

  • n_max (int, optional) – Truncation order. Auto-estimated when omitted.

Returns:

External coefficients a_n/b_n and solver metadata.

Return type:

dict