interface

Function interface 

Source
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.