fdtdx.compute_pole_coefficients_tensor

fdtdx.compute_pole_coefficients_tensor#

fdtdx.compute_pole_coefficients_tensor(poles, dt)[source]#

Compute ADE recurrence coefficients with full 3x3 coupling tensors.

Generalizes compute_pole_coefficients_per_axis() to oriented poles: the recurrence coefficients c1/c2 stay per-axis (uniform for an oriented pole, whose omega_0/gamma are scalars), while the field coupling c3 becomes a row-major 3x3 tensor per pole — (K dt^2 / D) u u^T for a pole oriented along u, diagonal for per-axis and isotropic poles.

Parameters:
  • poles (tuple[Pole, ...]) – Tuple of poles (may be empty). Oriented poles must have a non-negative coupling K (passivity of the K u u^T tensor).

  • dt (float) – Simulation time step (seconds).

Returns:

c1, c2 of shape (len(poles), 3) and c3 of shape (len(poles), 9).

Return type:

Three numpy arrays