pub fn interface(
ks: [[Complex; 2]; 2],
zs: [Complex; 2],
q: [f64; 2],
axis: usize,
fixed_q: bool,
) -> Result<(Blocks, InterfaceResidual)>Expand description
Interface from wavenumbers and impedances, indexed by medium (negative side, then
positive side), and the real transverse wavevector q.
axis is the Cartesian normal, and q holds the two components after it in cyclic
order. Returns four helicity scattering blocks with polarization order (0, 1). With
fixed_q, the pullback holds q fixed and returns a zero q gradient.
Upstream: treams.SMatrices.interface.