pymiediff.multishell.nearfields#
- pymiediff.multishell.nearfields(k0, r_probe, r_layers=None, eps_layers=None, r_c=None, eps_c=None, r_s=None, eps_s=None, eps_env=1.0, E_0=1, backend='pena', precision='double', which_jn='recurrence', n_max=None)#
Compute incident, scattered, and total near fields.
- Parameters:
k0 (tensor-like) – Vacuum wavevector(s), rad/nm.
r_probe (tensor-like) – Cartesian probe coordinates with last dimension 3.
r_layers (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
eps_layers (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
r_c (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
eps_c (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
r_s (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
eps_s (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
eps_env (tensor-like) – Geometry/material inputs (multilayer-first with legacy fallback).
E_0 (complex or float, default=1) – Incident field amplitude.
backend ({"pena", "torch", "scipy"}, default="pena") – Coefficient backend.
precision ({"single", "double"}, default="double") – Precision for torch-based routines.
which_jn ({"recurrence", "ratios"}, default="recurrence") – Torch-only spherical
j_nimplementation.n_max (int, optional) – Truncation order. Auto-estimated when omitted.
- Returns:
E_i,H_i,E_s,H_s,E_t, andH_t.- Return type:
dict