Repository navigation
v0.1.0
First release.
Added
solve_tmm(omega, layer_thickness, layer_n, ...): transfer-matrix method for
planar multilayer stacks, s and p polarization at oblique incidence, absorbing
layers and evanescent waves, returning a frozenResult(omega, r, t, R, T, A).num_substrate_passesfor time-gated measurements, with aUserWarningwhen
front-layer echoes beyond the implied gate exceedsubstrate_pass_tolerance.conjugate_modelfor theexp(+i omega t)time convention.- Single-interface functions:
fresnel_r,fresnel_t,fresnel_R,fresnel_T,
critical_angle,brewster_angle,admittance,snell_cos_theta,
snell_theta, andpropagation_phase. - Physical constants
SPEED_OF_LIGHT,VACUUM_PERMEABILITY,
VACUUM_PERMITTIVITY,VACUUM_IMPEDANCE. - THEORY.md (derivation, conventions, substrate-pass validity), examples
(antireflection coating, Fabry–Pérot slab, angle dependence), tests and a
GitHub Actions workflow. examplesextra installing cjcplot pinned tov0.2.0; the examples plot
with cjcplot.pip install cjctmmitself stays numpy-only.