From d1c34a6390ae960b041c2a09dd3257ded7f4a8bd Mon Sep 17 00:00:00 2001 From: Garrek Stemo <8449000+garrekstemo@users.noreply.github.com> Date: Mon, 6 Jul 2026 15:04:21 +0900 Subject: [PATCH 1/4] Fix energy conservation for polarization-converting stacks Three root causes, all in the cross-polarization accounting: 1. Cross-polarized transmittances were raw amplitude squares. Tps/Tsp came from |t|^2 in calculate_tr(M_sys) while Tpp/Tss were the TOTAL per-input Poynting fluxes, so converting stacks double-counted the converted channel (a lossless 45-degree half-wave plate reported a p-input budget of 1.85). poynting() now returns the transmitted flux PER substrate eigenmode (each with its own wavevector) and all four T's are per-mode flux ratios. Exact for any lossless substrate, isotropic or birefringent: distinct eigenmodes carry no cross z-flux. 2. The circular basis built [out,in] Jones matrices from the package's in-first-indexed coefficients (rps = p-in -> s-out), i.e. transposed. Invisible for isotropic stacks (diagonal Jones matrices) but broke flux unitarity for converting stacks. Circular transmittance now maps each circular input through the correctly oriented t_lin to the substrate mode amplitudes and uses their per-mode fluxes; the old scalar normalization N = (Tpp+Tss)/(|tpp|^2+|tss|^2) also inherited bug 1 and misnormalized near the half-wave point. 3. calculate_E_modes_tensor assigned raw SVD null-space vectors to degenerate mode pairs, an arbitrary basis of the 2-D eigenspace. For an isotropic magnetic (tensor-mu) substrate the p/s labels came out swapped or mixed, which the old total-flux Tpp masked. Degenerate pairs are now oriented to the scalar path's fixed p/s references, with matching sign conventions. Reflectance is untouched: |r|^2 per element already equals the per-mode reflected flux for a transparent isotropic ambient (verified to machine precision). Budgets Rpp+Rps+Tpp+Tps and Rss+Rsp+Tss+Tsp now close to ~1e-15 for the half-wave plate (normal and oblique), air->glass transmission, rotated anisotropic substrates (where the two transmitted modes have different flux factors and a shared |t|^2 rescale is provably wrong), and gyromagnetic stacks. Non-converting results are numerically unchanged. Co-Authored-By: Claude Fable 5 --- src/coefficients.jl | 62 +++++++++++++++++++------- src/matrix_constructors.jl | 64 +++++++++++++++++++++++++-- src/poynting.jl | 57 +++++++++++++++++------- src/results.jl | 39 ++++++++++++++-- src/transfer.jl | 80 ++++++++++++++++++++------------- test/circular.jl | 45 ++++++++++++++++--- test/exp_propagator.jl | 6 ++- test/functions.jl | 12 ++++- test/integration.jl | 91 +++++++++++++++++++++++++++++++------- test/mu_reference.jl | 4 +- test/mu_tensor.jl | 9 ++-- 11 files changed, 368 insertions(+), 101 deletions(-) diff --git a/src/coefficients.jl b/src/coefficients.jl index 0f35ddd..23d4d6f 100644 --- a/src/coefficients.jl +++ b/src/coefficients.jl @@ -5,8 +5,9 @@ const _C_CIRC = SMatrix{2,2,ComplexF64}(1, im, 1, -im) / sqrt(2) # [1 1; im -im] const _C_CIRC_INV = SMatrix{2,2,ComplexF64}(1, 1, -im, im) / sqrt(2) # [1 -im; 1 im] -# Transmission-null tolerance: below this the transmitted Poynting flux is taken -# as zero, so circular transmittance is defined as 0 (avoids 0/0 at a perfect mirror). +# Transmission-null tolerance: below this the transmitted amplitude weight +# |t_c[L,j]|² + |t_c[R,j]|² is taken as zero, so circular transmittance is +# defined as 0 (avoids 0/0 at a perfect mirror). const _CIRC_T_TOL = 1e-12 # Transform a 2×2 linear Jones matrix ([out,in] ordered p,s) into the circular @@ -14,19 +15,49 @@ const _CIRC_T_TOL = 1e-12 _jones_to_circular(J_lin) = _C_CIRC_INV * J_lin * _C_CIRC # Assemble circular-basis R/T from the linear complex Jones coefficients -# r = (rpp,rps,rss,rsp), t = (tpp,tps,tsp,tss) and the Poynting diagonal -# transmittances Tpp, Tss. Reflectance is |r_circ|^2; transmittance is N·|t_circ|^2 -# with the single polarization-independent Poynting scalar N (exact for an isotropic -# substrate; see `transfer` docstring for caveats). -function _circular_result(r, t, Tpp, Tss) - r_lin = SMatrix{2,2,ComplexF64}(r[1], r[4], r[2], r[3]) # [rpp rps; rsp rss] - t_lin = SMatrix{2,2,ComplexF64}(t[1], t[3], t[2], t[4]) # [tpp tps; tsp tss] +# r = (rpp,rps,rss,rsp), t = (tpp,tps,tsp,tss) and the Poynting flux factors: +# f_out1/f_out2 are the unit-amplitude z-fluxes of the two substrate eigenmodes +# (p-like / s-like), f_in_p/f_in_s those of the incident modes. +# +# Reflectance is |r_circ|^2. Transmittance for circular input j is computed by +# mapping the input Jones vector through t_lin to the substrate (p,s) amplitude +# pair `a`, whose per-mode flux `f_out1|a₁|² + f_out2|a₂|²` is the EXACT total +# transmitted power (distinct lossless eigenmodes carry no cross z-flux). That +# total is then split between the L/R outputs in proportion to |t_circ|². For an +# isotropic substrate (f_out1 = f_out2) the split itself is exact, because the +# circular unit vectors are orthonormal combinations of degenerate modes; for an +# anisotropic substrate the two eigenmodes are not circular, so only the per-input +# TOTAL is exact and the L/R split is the natural |t_circ|²-weighted estimate +# (see `transfer` docstring). +function _circular_result(r, t, f_out1, f_out2, f_in_p, f_in_s) + # Package coefficients are indexed in-first (rps = p input → s output), so + # the [out,in] Jones matrices place the p→s conversion in row 2, column 1. + # (Using the transposed orientation is invisible for isotropic stacks — + # their Jones matrices are diagonal — but breaks flux unitarity, and hence + # the circular energy budget, for polarization-converting stacks.) + r_lin = SMatrix{2,2,ComplexF64}(r[1], r[2], r[4], r[3]) # [rpp rsp; rps rss] + t_lin = SMatrix{2,2,ComplexF64}(t[1], t[2], t[3], t[4]) # [tpp tsp; tps tss] r_c = _jones_to_circular(r_lin) t_c = _jones_to_circular(t_lin) Rc = abs2.(r_c) - denom = abs2(t[1]) + abs2(t[4]) # |tpp|^2 + |tss|^2 - N = denom > _CIRC_T_TOL ? (Tpp + Tss) / denom : zero(denom) - Tc = N .* abs2.(t_c) + + # Unit-amplitude circular incident flux: |χ_p|² f_in_p + |χ_s|² f_in_s with + # χ = (1, ±i)/√2 (incident p/s modes carry no cross z-flux). + f_in = (f_in_p + f_in_s) / 2 + + Tc = MMatrix{2,2,Float64}(undef) + for j in 1:2 + a = t_lin * _C_CIRC[:, j] # substrate (p,s) amplitudes for input j (1=L, 2=R) + w = abs2(t_c[1, j]) + abs2(t_c[2, j]) # = |a₁|² + |a₂|² (C is unitary) + if w > _CIRC_T_TOL + T_tot = (f_out1 * abs2(a[1]) + f_out2 * abs2(a[2])) / f_in + Tc[1, j] = T_tot * abs2(t_c[1, j]) / w + Tc[2, j] = T_tot * abs2(t_c[2, j]) / w + else + Tc[1, j] = 0.0 + Tc[2, j] = 0.0 + end + end # circular matrices are [out,in] ordered (L,R): [1,1]=LL [1,2]=LR [2,1]=RL [2,2]=RR return CircularTransferResult(Tc[2, 2], Tc[1, 1], Tc[2, 1], Tc[1, 2], Rc[2, 2], Rc[1, 1], Rc[2, 1], Rc[1, 2]) @@ -45,9 +76,10 @@ reflection and transmission Jones blocks can be read straight off its elements. The function returns the co- and cross-polarized amplitude coefficients (`rpp, rss, rps, rsp`, `tpp, tss, tps, tsp`) and their squared magnitudes. -Reflectance is ``R = |r|^2`` directly. The returned ``|t|^2`` is *not* the -physical transmittance — the transmitted wave is in a different medium — so the -diagonal `Tpp`/`Tss` reported by `transfer` come from the Poynting-vector +Reflectance is ``R = |r|^2`` directly. The returned ``|t|^2`` values (all four, +co- and cross-polarized) are *not* physical transmittances — the transmitted +wave is in a different medium — so every transmittance reported by `transfer` +(`Tpp`, `Tss`, `Tps`, `Tsp`) comes from the per-mode Poynting-vector calculation (`calculate_tr(S::Poynting)`) instead. The ``2\\times2`` transfer-matrix relations originate with Yeh (1979); the diff --git a/src/matrix_constructors.jl b/src/matrix_constructors.jl index 1f88f1b..2ff700e 100644 --- a/src/matrix_constructors.jl +++ b/src/matrix_constructors.jl @@ -531,7 +531,10 @@ E-field eigenvectors for a layer with a full 3×3 permeability tensor `μ`, as t null space of `W(q) = K μ⁻¹ K + ε` for each mode `q`. Degenerate pairs (qᵢ ≈ qⱼ, e.g. isotropic media) share a 2-D null space; both orthogonal null vectors are assigned, avoiding the singular dynamical matrix a naive per-mode null space -produces. Rows are unit-Hermitian-normalized, matching [`calculate_E_modes`]. +produces. Degenerate pairs are oriented to the fixed p/s polarization references +of the scalar path (see [`_orient_degenerate_pair`](@ref)) so the r/t coefficient +labels and per-mode transmittance channels keep their p/s meaning. Rows are +unit-Hermitian-normalized, matching [`calculate_E_modes`]. """ function calculate_E_modes_tensor(k_par, q, ε, μ; rtol=1e-7) μinv = inv(SMatrix{3,3,ComplexF64}(μ)); εm = SMatrix{3,3,ComplexF64}(ε) @@ -545,15 +548,68 @@ function calculate_E_modes_tensor(k_par, q, ε, μ; rtol=1e-7) partner = n; break end end - v1 = SVector{3,ComplexF64}(F.V[:,3]...); E_modes[m,:] = v1 ./ norm(v1); assigned[m] = true - if partner != 0 - v2 = SVector{3,ComplexF64}(F.V[:,2]...); E_modes[partner,:] = v2 ./ norm(v2); assigned[partner] = true + if partner == 0 + v1 = SVector{3,ComplexF64}(F.V[:,3]...) + E_modes[m,:] = v1 ./ norm(v1) + assigned[m] = true + else + v1 = SVector{3,ComplexF64}(F.V[:,3]...) + v2 = SVector{3,ComplexF64}(F.V[:,2]...) + w_p, w_s = _orient_degenerate_pair(v1, v2, m) + E_modes[m,:] = w_p + E_modes[partner,:] = w_s + assigned[m] = true + assigned[partner] = true end end return SMatrix(E_modes) end +""" + _orient_degenerate_pair(v1, v2, slot) + +Rotate an orthonormal basis `(v1, v2)` of a degenerate 2-D eigenmode space so +the pair matches the fixed p/s polarization references of the scalar-μ path +(`calculate_E_modes`): the first returned vector is p-like (no Ey component; +Ex real-positive for the forward pair `slot ≤ 2`, real-negative for the +backward pair) and the second is s-like (Ey real-positive). + +Any orthonormal basis of the degenerate space is a valid eigenvector pair, but +the transfer-matrix coefficient labels (`tpp`, `tps`, ...) and the per-mode +transmittance channels assume this orientation; an arbitrary (e.g. raw SVD) +basis silently relabels or mixes the p/s channels of a magnetic ambient or +substrate. If the space has no ŷ component the input basis is returned as-is. +""" +function _orient_degenerate_pair(v1, v2, slot) + # Project ŷ onto span{v1, v2} to extract the s-like direction. + w_s = v1 * conj(v1[2]) + v2 * conj(v2[2]) + n_s = norm(w_s) + if n_s > 1e-9 + w_s = w_s / n_s + # p-like: the orthogonal complement of w_s within the span. + w_p = v1 - (w_s' * v1) * w_s + if norm(w_p) < 1e-9 + w_p = v2 - (w_s' * v2) * w_s + end + w_p = w_p / norm(w_p) + else + w_p, w_s = v1, v2 + end + # Fix the arbitrary complex phases to the scalar-path sign conventions: + # s mode Ey real-positive; p mode Ex real-positive (forward) or + # real-negative (backward), matching E_modes[3,1] = -1 in calculate_E_modes. + if abs(w_s[2]) > 1e-12 + w_s = w_s * (conj(w_s[2]) / abs(w_s[2])) + end + if abs(w_p[1]) > 1e-12 + phase = conj(w_p[1]) / abs(w_p[1]) + w_p = slot <= 2 ? w_p * phase : w_p * (-phase) + end + return w_p, w_s +end + + """ dynamical_matrix(k_par, q, E_modes, μ::AbstractMatrix) diff --git a/src/poynting.jl b/src/poynting.jl index ffd3ea8..1b3d309 100644 --- a/src/poynting.jl +++ b/src/poynting.jl @@ -115,17 +115,27 @@ function poynting(k_par, q_in, q_out, E_modes_in, E_modes_out, t_coefs, r_coefs, k_out ./= c_0 k_out = SMatrix(k_out) - # Transmitted power is the sum of the two substrate eigenmodes' Poynting - # vectors, EACH evaluated with its OWN wavevector (k_out modes 1, 2). The - # two modes carry different wavevectors when the substrate is anisotropic, - # and the cross-interference between distinct propagating modes transports - # no net z-flux, so the per-mode sum is the physical transmitted flux. - # (For an isotropic substrate k_out[1]=k_out[2] and this reduces to the - # single-wavevector form, since the p/s cross term carries no z-power.) - S_out_p = real(0.5 * E_out_p1 × conj(μout_inv * (k_out[1, :] × E_out_p1))) + - real(0.5 * E_out_p2 × conj(μout_inv * (k_out[2, :] × E_out_p2))) - S_out_s = real(0.5 * E_out_s1 × conj(μout_inv * (k_out[1, :] × E_out_s1))) + - real(0.5 * E_out_s2 × conj(μout_inv * (k_out[2, :] × E_out_s2))) + # Transmitted power is resolved PER substrate eigenmode, EACH evaluated + # with its OWN wavevector (k_out modes 1, 2). The two modes carry different + # wavevectors when the substrate is anisotropic, and the cross-interference + # between distinct eigenmodes of a lossless substrate transports no net + # z-flux, so each per-mode flux is the physical power in that output + # polarization channel and their sum is the total transmitted flux. + # (For an isotropic substrate k_out[1]=k_out[2] and the cross term vanishes + # by p/s mode orthogonality.) + S_out_pp = real(0.5 * E_out_p1 × conj(μout_inv * (k_out[1, :] × E_out_p1))) + S_out_ps = real(0.5 * E_out_p2 × conj(μout_inv * (k_out[2, :] × E_out_p2))) + S_out_sp = real(0.5 * E_out_s1 × conj(μout_inv * (k_out[1, :] × E_out_s1))) + S_out_ss = real(0.5 * E_out_s2 × conj(μout_inv * (k_out[2, :] × E_out_s2))) + S_out_p = S_out_pp + S_out_ps + S_out_s = S_out_sp + S_out_ss + + # Unit-amplitude z-flux of each substrate eigenmode (flux-per-|amplitude|² + # conversion factors, needed by the circular-basis transmittance). + E_out_1 = E_modes_out[1, :] + E_out_2 = E_modes_out[2, :] + f_out1 = real(0.5 * E_out_1 × conj(μout_inv * (k_out[1, :] × E_out_1)))[3] + f_out2 = real(0.5 * E_out_2 × conj(μout_inv * (k_out[2, :] × E_out_2)))[3] # Reflected waves: use incident-medium wavevectors (k_in modes 3,4), # not substrate wavevectors, because reflected light propagates backward @@ -133,7 +143,8 @@ function poynting(k_par, q_in, q_out, E_modes_in, E_modes_out, t_coefs, r_coefs, S_refl_p = real(0.5 * E_ref_p × conj(μin_inv * (k_in[3, :] × E_ref_p))) S_refl_s = real(0.5 * E_ref_s × conj(μin_inv * (k_in[4, :] × E_ref_s))) - return Poynting(S_out_p, S_in_p, S_out_s, S_in_s, S_refl_p, S_refl_s) + return Poynting(S_out_p, S_in_p, S_out_s, S_in_s, S_refl_p, S_refl_s, + S_out_pp, S_out_ps, S_out_sp, S_out_ss, f_out1, f_out2) end @@ -225,7 +236,19 @@ Calculate transmittance and reflectance from the Poynting vector struct, which contains incident, transmitted, and reflected energy flux for both p-polarized and s-polarized waves. -Returns `(Tpp, Tss, Rpp, Rss)`. +Returns `(Tpp, Tss, Rpp, Rss, Tps, Tsp)`. + +The transmittances are per-output-mode flux ratios: `Tpp` is the power carried +by the p-like substrate eigenmode alone (co-polarized channel) and `Tps` the +power carried by the s-like eigenmode (cross-polarized channel), each divided +by the incident p flux; likewise `Tss`/`Tsp` for s input. For a lossless stack +the per-input budgets close exactly: `Rpp + Rps + Tpp + Tps = 1`. + +`Rpp`/`Rss` here are the TOTAL reflected flux per input polarization (the +reflected field is a coherent sum of both backward modes, so for converting +stacks this equals `|rpp|² + |rps|²`, not the co-polarized piece alone). +[`transfer`](@ref) takes its per-channel reflectances from ``|r|^2`` instead — +see the `calculate_tr(M_sys)` method. # Sign Convention The reflected Poynting vector z-component is negative (pointing in -z direction), @@ -233,12 +256,14 @@ so the negative sign in `Rpp = -S.refl_p[3] / S.in_p[3]` yields positive reflect """ function calculate_tr(S::Poynting) - Tpp = S.out_p[3] / S.in_p[3] - Tss = S.out_s[3] / S.in_s[3] + Tpp = S.out_pp[3] / S.in_p[3] + Tss = S.out_ss[3] / S.in_s[3] + Tps = S.out_ps[3] / S.in_p[3] + Tsp = S.out_sp[3] / S.in_s[3] # Reflected Poynting vector points in -z, so negate to get positive R Rpp = -S.refl_p[3] / S.in_p[3] Rss = -S.refl_s[3] / S.in_s[3] - return Tpp, Tss, Rpp, Rss + return Tpp, Tss, Rpp, Rss, Tps, Tsp end diff --git a/src/results.jl b/src/results.jl index 767e4c7..94783ba 100644 --- a/src/results.jl +++ b/src/results.jl @@ -1,3 +1,27 @@ +""" + Poynting + +Time-averaged Poynting vectors for the incident, transmitted, and reflected +waves of a stack, with the transmitted flux resolved per substrate eigenmode. + +The transmitted field for each input polarization is a superposition of the two +forward substrate eigenmodes (mode 1 is p-like, mode 2 is s-like). Each +per-channel vector is that mode's own Poynting vector, evaluated with its own +wavevector: + +- `out_pp` / `out_ps`: p input → substrate mode 1 / mode 2 +- `out_sp` / `out_ss`: s input → substrate mode 1 / mode 2 + +`out_p = out_pp + out_ps` and `out_s = out_sp + out_ss` are the transmitted +totals per input polarization. Distinct eigenmodes of a lossless substrate +carry no cross z-flux (their interference term either vanishes by mode +orthogonality or oscillates in z and must vanish because the total flux is +z-independent), so the per-mode split is exact wherever a transmittance into +the substrate is well defined. + +`f_out1` / `f_out2` are the z-fluxes of the two substrate eigenmodes at unit +amplitude, used to convert circular-basis ``|t|^2`` into flux ratios. +""" struct Poynting out_p::SVector{3, Float64} in_p::SVector{3, Float64} @@ -5,10 +29,12 @@ struct Poynting in_s::SVector{3, Float64} refl_p::SVector{3, Float64} refl_s::SVector{3, Float64} - - function Poynting(out_p::T, in_p::T, out_s::T, in_s::T, refl_p::T, refl_s::T) where {T<:SVector{3, Float64}} - new(out_p, in_p, out_s, in_s, refl_p, refl_s) - end + out_pp::SVector{3, Float64} + out_ps::SVector{3, Float64} + out_sp::SVector{3, Float64} + out_ss::SVector{3, Float64} + f_out1::Float64 + f_out2::Float64 end """ @@ -82,6 +108,11 @@ For sweep calculations via `sweep_angle()` or `sweep_thickness()`, `T` is `Matri The cross-polarization terms (`Tps`, `Tsp`, `Rps`, `Rsp`) are zero for isotropic media and become non-zero for anisotropic (birefringent) materials. + Every entry is a true energy flux ratio: transmittances are per-output-mode + Poynting fluxes (see [`transfer`](@ref)) and reflectances are ``|r|^2``. + For a lossless stack the per-input-polarization budgets close exactly: + `Rpp + Rps + Tpp + Tps = 1` and `Rss + Rsp + Tss + Tsp = 1`. + # Examples ```julia # Single wavelength - returns TransferResult{Float64} diff --git a/src/transfer.jl b/src/transfer.jl index 1fac701..d6bafca 100644 --- a/src/transfer.jl +++ b/src/transfer.jl @@ -23,6 +23,17 @@ rather than ``|t|^2``, because the transmitted wave propagates in a different medium than the incident wave. As noted in the 2019 erratum (JOSAB 36, 3246): ``T ≠ |t|^2`` in general; only when the substrate is vacuum does ``T = |t|^2``. +All four linear transmittances are per-output-mode flux ratios: the transmitted +field is decomposed into the two forward substrate eigenmodes (p-like and +s-like), and each channel is that mode's own Poynting z-flux — with its own +wavevector — divided by the incident flux. Distinct eigenmodes of a lossless +substrate carry no cross z-flux, so this decomposition is exact for any +transparent exit medium, isotropic or birefringent, at any incidence angle. +The per-input-polarization energy budgets therefore close exactly for a +lossless stack: + +``R_{pp} + R_{ps} + T_{pp} + T_{ps} = 1``, and likewise for s input. + # Arguments - `λ`: Wavelength in μm (must match units used for layer thicknesses) - `layers`: Vector of `Layer` objects representing the stack @@ -59,17 +70,19 @@ Higham, 2005, https://doi.org/10.1137/04061101X Circular **reflectance** is `|r_circ|²` (a true energy ratio under the same condition as linear `R`: transparent incident medium, cf. issue #72). Circular - **transmittance** is `N·|t_circ|²` with a single Poynting normalization scalar - `N = (Tpp+Tss)/(|tpp|²+|tss|²)`; this is exact and energy-conserving for an - isotropic substrate (and reduces to `|t_circ|²` for a vacuum/index-matched - substrate). For an **anisotropic substrate** the single scalar `N` is only - approximate: the two transmitted eigenmodes carry different wavevectors, so - their Poynting-to-`|t|²` conversion factors differ, and one polarization- - independent scalar cannot capture both. (The linear basis avoids this by - summing each transmitted eigenmode with its own wavevector in `poynting()`, - so linear `T` — including the cross-pol `Tps/Tsp` — is per-mode exact.) - Circular `T` for an anisotropic substrate is therefore not guaranteed to be - energy-conserving to machine precision. `validate` applies to the linear basis only. + **transmittance** maps each circular input through the linear Jones matrix to + the substrate (p,s) amplitude pair, whose per-eigenmode Poynting flux gives + the exact total transmitted power for that input; the total is then split + between the L/R outputs in proportion to `|t_circ|²`. For an **isotropic + substrate** (degenerate eigenmodes) the split itself is exact, so circular + `T` is energy-conserving to machine precision (and reduces to `|t_circ|²` + for a vacuum/index-matched substrate). For an **anisotropic substrate** the + two transmitted eigenmodes carry different wavevectors and are not circular, + so the L/R *split* is only the natural `|t_circ|²`-weighted estimate — but + the per-input total `Trr+Tlr` (resp. `Tll+Trl`) remains exact, so the energy + budget still closes. (The linear basis is per-mode exact in all channels, + because the substrate eigenmodes ARE the linear output channels.) + `validate` applies to the linear basis only. # Wave Propagation Convention - Light propagates in the **+z direction** (from first layer toward last layer) @@ -103,19 +116,20 @@ end function _assemble(::Val{:linear}, M_sys, S, λ, layers, sd, validate) r, R, t, T = calculate_tr(M_sys) - Tpp, Tss, _, _ = calculate_tr(S) - # Diagonal terms from matrix calculation; cross terms remapped from the - # SVector packing (R = (Rpp,Rss,Rsp,Rps), T = (Tpp,Tss,Tsp,Tps)). + # ALL four transmittances are per-output-mode Poynting flux ratios (the + # |t|² values from calculate_tr(M_sys) are amplitude ratios, not fluxes). + # Reflectances are |r|² per channel, exact for a transparent isotropic + # incident medium. R SVector packing: R = (Rpp,Rss,Rsp,Rps). + Tpp, Tss, _, _, Tps, Tsp = calculate_tr(S) Rpp = R[1] Rss = R[2] Rps = R[4] Rsp = R[3] - Tps = T[4] - Tsp = T[3] if validate - _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; sheets=sd) + _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; + sheets=sd, Tps=Tps, Tsp=Tsp, Rps=Rps, Rsp=Rsp) end return TransferResult(Tpp, Tss, Tps, Tsp, Rpp, Rss, Rps, Rsp) @@ -123,8 +137,7 @@ end function _assemble(::Val{:circular}, M_sys, S, λ, layers, sd, validate) r, _, t, _ = calculate_tr(M_sys) - Tpp, Tss, _, _ = calculate_tr(S) - return _circular_result(r, t, Tpp, Tss) + return _circular_result(r, t, S.f_out1, S.f_out2, S.in_p[3], S.in_s[3]) end _assemble(::Val{B}, M_sys, S, λ, layers, sd, validate) where {B} = @@ -132,17 +145,23 @@ _assemble(::Val{B}, M_sys, S, λ, layers, sd, validate) where {B} = """ - _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; atol=1e-6, k_threshold=1e-10) + _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; Tps=0.0, Tsp=0.0, Rps=0.0, Rsp=0.0, atol=1e-6, k_threshold=1e-10) Validate physical constraints on R and T values: 1. Bounds check: 0 ≤ R, T ≤ 1 (always) 2. Energy conservation: R + T ≈ 1 (for non-absorbing media only) +The energy budget per input polarization includes the cross-polarized channels +(zero unless the caller passes them): `Rpp + Rps + Tpp + Tps ≈ 1` for p input +and `Rss + Rsp + Tss + Tsp ≈ 1` for s input. + Issues warnings if constraints are violated. Internal function called by `transfer` when `validate=true`. """ -function _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; sheets=nothing, atol=1e-6, k_threshold=1e-10) +function _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; + sheets=nothing, Tps=0.0, Tsp=0.0, Rps=0.0, Rsp=0.0, + atol=1e-6, k_threshold=1e-10) # Check for NaN values (indicates numerical failure) if any(isnan, (Tpp, Tss, Rpp, Rss)) @warn "NaN detected in R/T values" Tpp Tss Rpp Rss @@ -177,28 +196,27 @@ function _validate_physics(λ, layers, Tpp, Tss, Rpp, Rss; sheets=nothing, atol= is_lossless = layers_lossless && sheets_lossless + # Per-input-polarization budgets include the cross-polarized channels + # (nonzero only for converting anisotropic/gyrotropic stacks). + sum_p = Tpp + Tps + Rpp + Rps + sum_s = Tss + Tsp + Rss + Rsp + if is_lossless # Energy conservation: R + T = 1 for lossless media - sum_p = Tpp + Rpp - sum_s = Tss + Rss - if !isapprox(sum_p, 1.0; atol=atol) - @warn "Energy conservation violated for p-polarization" Tpp Rpp sum=sum_p expected=1.0 deviation=abs(sum_p - 1.0) + @warn "Energy conservation violated for p-polarization" Tpp Tps Rpp Rps sum=sum_p expected=1.0 deviation=abs(sum_p - 1.0) end if !isapprox(sum_s, 1.0; atol=atol) - @warn "Energy conservation violated for s-polarization" Tss Rss sum=sum_s expected=1.0 deviation=abs(sum_s - 1.0) + @warn "Energy conservation violated for s-polarization" Tss Tsp Rss Rsp sum=sum_s expected=1.0 deviation=abs(sum_s - 1.0) end else # For lossy media: R + T ≤ 1 - sum_p = Tpp + Rpp - sum_s = Tss + Rss - if sum_p > 1.0 + atol - @warn "Absorption violation: R + T > 1 for p-polarization" Tpp Rpp sum=sum_p + @warn "Absorption violation: R + T > 1 for p-polarization" Tpp Tps Rpp Rps sum=sum_p end if sum_s > 1.0 + atol - @warn "Absorption violation: R + T > 1 for s-polarization" Tss Rss sum=sum_s + @warn "Absorption violation: R + T > 1 for s-polarization" Tss Tsp Rss Rsp sum=sum_s end end diff --git a/test/circular.jl b/test/circular.jl index 90c4e48..8d7903b 100644 --- a/test/circular.jl +++ b/test/circular.jl @@ -49,10 +49,12 @@ end # r = (rpp, rps, rss, rsp), t = (tpp, tps, tsp, tss). r = SVector{4,ComplexF64}(0.2, 0.0, -0.2, 0.0) t = SVector{4,ComplexF64}(0.8, 0.0, 0.0, 0.8) - Tpp = 0.96 # Poynting transmittance (N = (0.96+0.96)/(0.64+0.64) = 1.5) - Tss = 0.96 + # Poynting flux factors: unit-amplitude substrate-mode flux 1.5, unit + # incident flux 1.0, so each |t|² converts with factor 1.5 (0.64 -> 0.96). + f_out1 = f_out2 = 1.5 + f_in_p = f_in_s = 1.0 - res = TransferMatrix._circular_result(r, t, Tpp, Tss) + res = TransferMatrix._circular_result(r, t, f_out1, f_out2, f_in_p, f_in_s) @test res isa TransferMatrix.CircularTransferResult{Float64} # Reflection flips: diagonal ~0, cross = 0.04. @@ -67,8 +69,9 @@ end @test isapprox(res.Trl, 0.0; atol=1e-12) @test isapprox(res.Tlr, 0.0; atol=1e-12) - # N guard: zero transmission amplitude -> all circular T are 0 (not NaN). - res0 = TransferMatrix._circular_result(r, SVector{4,ComplexF64}(0, 0, 0, 0), 0.0, 0.0) + # Null guard: zero transmission amplitude -> all circular T are 0 (not NaN). + res0 = TransferMatrix._circular_result(r, SVector{4,ComplexF64}(0, 0, 0, 0), + f_out1, f_out2, f_in_p, f_in_s) @test res0.Trr == 0.0 @test res0.Tll == 0.0 @test !isnan(res0.Trr) @@ -138,6 +141,38 @@ end @test isapprox(res.Rll + res.Rrl + res.Tll + res.Trl, 1.0; atol=1e-6) end +@testset "circular budget closes for a polarization-converting stack" begin + # Half-wave plate at 45°: strong p<->s conversion in transmission. The old + # scalar normalization N = (Tpp+Tss)/(|tpp|²+|tss|²) double-counted the + # converted flux (Tpp/Tss were totals) and blew up when the co-polarized + # amplitudes vanished at the half-wave point. The per-mode formulation + # keeps every per-input circular budget exactly 1 for a lossless stack. + no = λ -> 1.658 + 0.0im + ne = λ -> 1.486 + 0.0im + t_hw = 0.59 / (2 * (1.658 - 1.486)) + amb = Layer(λ -> 1.0 + 0.0im, 1.0) + glass = Layer(λ -> 1.5 + 0.0im, 1.0) + wp45 = Layer(no, no, ne, t_hw; euler=(π/4, π/2, 0.0)) + + for (sub, θ) in ((amb, 0.0), (amb, 0.3), (glass, 0.3)) + res = transfer(0.59, [amb, wp45, sub]; θ=θ, basis=:circular) + @test isapprox(res.Rrr + res.Rlr + res.Trr + res.Tlr, 1.0; atol=1e-10) + @test isapprox(res.Rll + res.Rrl + res.Tll + res.Trl, 1.0; atol=1e-10) + for v in (res.Trr, res.Tll, res.Trl, res.Tlr, res.Rrr, res.Rll, res.Rrl, res.Rlr) + @test 0.0 <= v <= 1.0 + end + end + + # A half-wave plate flips helicity in transmission: at the half-wave point + # the co-handed Trr/Tll are small and the cross-handed Trl/Tlr carry the + # transmitted power (linear-basis analogue: Tps ≈ 0.85). + res = transfer(0.59, [amb, wp45, amb]; basis=:circular) + @test res.Tlr > 0.8 + @test res.Trl > 0.8 + @test res.Trr < 0.05 + @test res.Tll < 0.05 +end + @testset "circular TIR guard" begin # ξ = n_inc sinθ > n_substrate -> total internal reflection, no real flux. inc = Layer(λ -> 1.8 + 0im, 0.0) diff --git a/test/exp_propagator.jl b/test/exp_propagator.jl index 3502374..4558ed6 100644 --- a/test/exp_propagator.jl +++ b/test/exp_propagator.jl @@ -104,13 +104,15 @@ using .MuReference end @testset "energy conservation under :exp (lossless)" begin + # Both films convert p↔s, so the budgets include the cross-polarized + # transmitted channels (per-mode Poynting fluxes). amb = Layer(λ -> 1.0, 1.0); sub = Layer(λ -> 1.0, 1.0) films = (Layer(λ -> 1.6, λ -> 1.6, λ -> 1.9, 0.4; euler=(π/6, π/4, 0)), # out-of-plane tilt (#70) Layer(λ -> 1.5, 0.3; mu=gyrotropic_tensor(2.0, 0.6))) # gyromagnetic μ for film in films, θ in (0.0, 0.3, 0.6, 0.9) r = transfer(1.0, [amb, film, sub]; θ=θ, method=:exp) - @test isapprox(r.Rpp + r.Rps + r.Tpp, 1.0; atol=1e-9) - @test isapprox(r.Rss + r.Rsp + r.Tss, 1.0; atol=1e-9) + @test isapprox(r.Rpp + r.Rps + r.Tpp + r.Tps, 1.0; atol=1e-9) + @test isapprox(r.Rss + r.Rsp + r.Tss + r.Tsp, 1.0; atol=1e-9) end end diff --git a/test/functions.jl b/test/functions.jl index ad62cba..7b8ff58 100644 --- a/test/functions.jl +++ b/test/functions.jl @@ -464,7 +464,15 @@ end sub = Layer(λ->sqrt(2.0), 1.0; mu = 3.0) for θ in (0.0, 0.4) r = transfer(1.0, [air, film, sub]; θ=θ) - @test isapprox(r.Rpp + r.Rps + r.Tpp, 1.0; atol=1e-7) - @test isapprox(r.Rss + r.Rsp + r.Tss, 1.0; atol=1e-7) + @test isapprox(r.Rpp + r.Rps + r.Tpp + r.Tps, 1.0; atol=1e-7) + @test isapprox(r.Rss + r.Rsp + r.Tss + r.Tsp, 1.0; atol=1e-7) + # Everything is isotropic (scalar μ), so nothing converts p↔s: the + # cross channels must vanish. Guards the degenerate-pair orientation + # in calculate_E_modes_tensor — an arbitrarily rotated substrate mode + # basis leaks the entire transmitted power into the "cross" label. + @test isapprox(r.Tps, 0.0; atol=1e-10) + @test isapprox(r.Tsp, 0.0; atol=1e-10) + @test isapprox(r.Rps, 0.0; atol=1e-10) + @test isapprox(r.Rsp, 0.0; atol=1e-10) end end diff --git a/test/integration.jl b/test/integration.jl index 1c91b0a..27d1241 100644 --- a/test/integration.jl +++ b/test/integration.jl @@ -1057,20 +1057,20 @@ end # Energy conservation for the rotated lossless crystal (issue #70). # The (π/6, π/4, 0) rotation tilts the optic axis OUT of the plane of - # incidence, coupling p↔s. The correct per-input-polarization budget uses - # the reflected cross-pol term and the Poynting transmittance (which - # already carries the cross-transmitted power — do NOT also add Tps/Tsp): - # p-input: Rpp + Rps + Tpp = 1 s-input: Rss + Rsp + Tss = 1 + # incidence, coupling p↔s. The complete per-input-polarization budget + # includes BOTH cross-pol channels (each transmittance is the per-mode + # Poynting flux of its own output channel): + # p-input: Rpp + Rps + Tpp + Tps = 1 s-input: Rss + Rsp + Tss + Tsp = 1 # This holds to ~machine precision. The "R+T ≈ 0.998" reported as #70 was - # Rpp+Tpp, which simply OMITS the reflected cross-pol Rps (≈0.0022 here) — - # a budget-accounting artifact, not a physics error. (Transmission into an - # anisotropic *substrate* was a genuine Poynting error, fixed separately in - # poynting(); see the "anisotropic substrate energy conservation" testset.) + # Rpp+Tpp, which simply OMITS the converted channels — a budget-accounting + # artifact, not a physics error. (Transmission into an anisotropic + # *substrate* was a genuine Poynting error, fixed separately in poynting(); + # see the "anisotropic substrate energy conservation" testset.) result = transfer(λ, layers) - @test isapprox(result.Rpp + result.Rps + result.Tpp, 1.0; atol=1e-9) - @test isapprox(result.Rss + result.Rsp + result.Tss, 1.0; atol=1e-9) - # The naive co-pol-only budget falls short by exactly the omitted Rps. - @test isapprox(result.Rpp + result.Tpp, 1.0 - result.Rps; atol=1e-9) + @test isapprox(result.Rpp + result.Rps + result.Tpp + result.Tps, 1.0; atol=1e-9) + @test isapprox(result.Rss + result.Rsp + result.Tss + result.Tsp, 1.0; atol=1e-9) + # The naive co-pol-only budget falls short by exactly the omitted channels. + @test isapprox(result.Rpp + result.Tpp, 1.0 - result.Rps - result.Tps; atol=1e-9) @test result.Rps > 1e-4 # cross-pol genuinely nonzero for this out-of-plane tilt end @@ -1083,8 +1083,10 @@ end # over-counts the flux and breaks energy conservation (≈1.7% at θ=0). # # Correct lossless budget per input polarization (reflection into the - # isotropic ambient is exact |r|²; transmission via Poynting): - # p-input: Rpp + Rps + Tpp = 1 s-input: Rss + Rsp + Tss = 1 + # isotropic ambient is exact |r|²; each transmittance is its own substrate + # eigenmode's Poynting flux, so the two transmitted channels have DIFFERENT + # flux-per-|amplitude|² factors here — the case a shared rescale gets wrong): + # p-input: Rpp + Rps + Tpp + Tps = 1 s-input: Rss + Rsp + Tss + Tsp = 1 λ = 1.0 air = Layer(λ -> 1.0, 1.0) sub = Layer(λ -> 1.5, λ -> 1.7, λ -> 2.0, 1.0; euler=(π/5, π/3, π/7)) @@ -1092,12 +1094,69 @@ end for layers in ([air, sub], [air, Layer(λ -> 1.4, 0.4), sub]) for θ in (0.0, 0.3, 0.6, 0.9, 1.2) r = transfer(λ, layers; θ=θ) - @test isapprox(r.Rpp + r.Rps + r.Tpp, 1.0; atol=1e-9) - @test isapprox(r.Rss + r.Rsp + r.Tss, 1.0; atol=1e-9) + @test isapprox(r.Rpp + r.Rps + r.Tpp + r.Tps, 1.0; atol=1e-9) + @test isapprox(r.Rss + r.Rsp + r.Tss + r.Tsp, 1.0; atol=1e-9) end end end +@testset "cross-polarized transmittance is a per-mode flux (energy budget)" begin + # A half-wave plate with its optic axis in the layer plane at 45° to the + # plane of incidence converts nearly all transmitted p light to s. Tps must + # be the s-like substrate eigenmode's own Poynting flux ratio — NOT |tps|², + # which is an amplitude ratio. Before the fix, Tpp was the TOTAL transmitted + # flux and Tps=|tps|², so the p-input "budget" summed to ~1.85 here. + no = λ -> 1.658 + 0.0im + ne = λ -> 1.486 + 0.0im + λ_hw = 0.59 + t_hw = λ_hw / (2 * (1.658 - 1.486)) # half-wave thickness + amb = Layer(λ -> 1.0 + 0.0im, 1.0) + vac_sub = Layer(λ -> 1.0 + 0.0im, 1.0) + glass = Layer(λ -> 1.5 + 0.0im, 1.0) + wp45 = Layer(no, no, ne, t_hw; euler=(π/4, π/2, 0.0)) + + # (1) Energy closure, air/air, normal AND oblique incidence, both methods. + # (2) Energy closure with a DIFFERENT exit medium (air -> glass): both + # transmitted channels pick up the substrate flux factor, which a raw + # |t|² misses entirely. + for sub in (vac_sub, glass), θ in (0.0, 0.3), method in (:exp, :eig) + r = transfer(λ_hw, [amb, wp45, sub]; θ=θ, method=method) + @test isapprox(r.Rpp + r.Rps + r.Tpp + r.Tps, 1.0; atol=1e-10) + @test isapprox(r.Rss + r.Rsp + r.Tss + r.Tsp, 1.0; atol=1e-10) + for v in (r.Rpp, r.Rss, r.Rps, r.Rsp, r.Tpp, r.Tss, r.Tps, r.Tsp) + @test 0.0 <= v <= 1.0 + end + end + + # (3) Conversion physics preserved: at the half-wave point nearly all + # transmitted light converts; the co-polarized channel is tiny. + r = transfer(λ_hw, [amb, wp45, vac_sub]) + @test isapprox(r.Tps, 0.847; atol=0.01) + @test r.Tpp < 1e-3 + @test isapprox(r.Tsp, r.Tps; atol=1e-10) # normal incidence symmetry + + # c-cut (optic axis ∥ z): no conversion, cross terms vanish. + ccut = Layer(no, no, ne, t_hw; euler=(0.0, 0.0, 0.0)) + rc = transfer(λ_hw, [amb, ccut, vac_sub]; θ=0.3) + @test isapprox(rc.Tps, 0.0; atol=1e-12) + @test isapprox(rc.Tsp, 0.0; atol=1e-12) + @test isapprox(rc.Rps, 0.0; atol=1e-12) + @test isapprox(rc.Rsp, 0.0; atol=1e-12) + + # (4) Lossy converting stack: every channel in [0, 1] and each per-input + # budget strictly below 1 (absorption), never above. + no_l = λ -> 1.658 + 0.02im + ne_l = λ -> 1.486 + 0.02im + wp_lossy = Layer(no_l, no_l, ne_l, t_hw; euler=(π/4, π/2, 0.0)) + rl = transfer(λ_hw, [amb, wp_lossy, glass]; θ=0.3) + for v in (rl.Rpp, rl.Rss, rl.Rps, rl.Rsp, rl.Tpp, rl.Tss, rl.Tps, rl.Tsp) + @test 0.0 <= v <= 1.0 + end + @test rl.Rpp + rl.Rps + rl.Tpp + rl.Tps < 1.0 - 1e-3 + @test rl.Rss + rl.Rsp + rl.Tss + rl.Tsp < 1.0 - 1e-3 + @test rl.Tps > 0.01 # still genuinely converting +end + @testset "TIR into anisotropic substrate throws (mode-sorting limitation)" begin # Pins a KNOWN, intentionally-unsupported edge case (adjacent to documented # limitations #71 and #72): total internal reflection from a higher-index diff --git a/test/mu_reference.jl b/test/mu_reference.jl index 831b3aa..6a2920f 100644 --- a/test/mu_reference.jl +++ b/test/mu_reference.jl @@ -117,10 +117,10 @@ function transfer_exp(stack::Vector{GLayer}, λ; θ=0.0) Γs = SMatrix{4,4,ComplexF64}(Γ) r, R, t, T = TM.calculate_tr(Γs) S = TM.poynting(ξ, q1, qN, γ1, γN, t, r) - Tpp, Tss, _, _ = TM.calculate_tr(S) + Tpp, Tss, _, _, Tps, Tsp = TM.calculate_tr(S) return (; Γ=Γs, r=r, t=t, Rpp=R[1], Rss=R[2], Rsp=R[3], Rps=R[4], - Tpp=Tpp, Tss=Tss, Tps=T[4], Tsp=T[3]) + Tpp=Tpp, Tss=Tss, Tps=Tps, Tsp=Tsp) end # Full stack solve using a candidate γ for interior layers (boundaries: package). diff --git a/test/mu_tensor.jl b/test/mu_tensor.jl index 7882fb6..de6cf0e 100644 --- a/test/mu_tensor.jl +++ b/test/mu_tensor.jl @@ -122,16 +122,17 @@ const E_TOL = 1e-7 # energy / duality tolerance # --------------------------------------------------------------------- # (6) Energy conservation for lossless μ-tensor stacks (vacuum/vacuum): - # Rpp+Rps+Tpp = 1 and Rss+Rsp+Tss = 1 (Tpp/Tss are TOTAL per-input-pol - # Poynting transmittances). Includes gyromagnetic (Hermitian Polder) μ. + # Rpp+Rps+Tpp+Tps = 1 and Rss+Rsp+Tss+Tsp = 1 (each transmittance is the + # per-output-mode Poynting flux of its own channel). Includes gyromagnetic + # (Hermitian Polder) μ, which converts p↔s in transmission. # --------------------------------------------------------------------- @testset "energy conservation, lossless μ-tensor" begin for θ in (0.0, 0.2, 0.5, 0.9), μt in (μ_diag(1.5,2.5,3.5), μ_rot(1.5,2.5,3.5,0.4,0.6,0.3), μ_polder(2.0,0.6), μ_polder(2.5,1.2)) g = transfer_exp([vac(), glay(μ_iso(2.25), μt, 0.4), vac()], 1.0; θ=θ) - @test isapprox(g.Rpp + g.Rps + g.Tpp, 1.0; atol=E_TOL) - @test isapprox(g.Rss + g.Rsp + g.Tss, 1.0; atol=E_TOL) + @test isapprox(g.Rpp + g.Rps + g.Tpp + g.Tps, 1.0; atol=E_TOL) + @test isapprox(g.Rss + g.Rsp + g.Tss + g.Tsp, 1.0; atol=E_TOL) end end From 172f3e99d52af6230489506fa6578cd1fcb2dcd8 Mon Sep 17 00:00:00 2001 From: Garrek Stemo <8449000+garrekstemo@users.noreply.github.com> Date: Mon, 6 Jul 2026 15:15:46 +0900 Subject: [PATCH 2/4] docs: per-mode cross-polarized transmittance semantics Update the anisotropic energy-budget example (script, page, regenerated figure), validation guide, transfer-matrix guide, and CLAUDE.md to the corrected budget Rpp+Rps+Tpp+Tps = 1: every transmittance is the Poynting flux of its own substrate eigenmode, so the converted channels are no longer folded into Tpp. Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 24 ++++--- .../examples/anisotropic_energy_budget.png | Bin 168232 -> 208650 bytes .../src/examples/anisotropic_energy_budget.md | 40 ++++++------ docs/src/guide/transfer_matrix.md | 8 ++- docs/src/guide/validation.md | 14 +++- examples/anisotropic_energy_budget.jl | 60 ++++++++++-------- 6 files changed, 89 insertions(+), 57 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1e99873..d146eaf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -96,7 +96,9 @@ Pass via the `sheets=` kwarg (Dict or iterable of `i => sheet`) on - **Time convention**: `exp(-iωt)` (Berreman / Passler & Paarmann), opposite of Yeh. Flips the sign in the propagation matrix — matters when comparing formulas. - **Transmittance ≠ |t|²** in general: the transmitted wave is in a different - medium, so T needs a Poynting-vector ratio (`T = S_out,z / S_inc,z`). + medium, so T needs a Poynting-vector ratio (`T = S_out,z / S_inc,z`). This holds + for **all four** channels: `Tpp/Tss/Tps/Tsp` are each the Poynting flux of one + substrate eigenmode (evaluated with its own wavevector) over the incident flux. Reflectance uses `R = |r|²` directly. - **γᵢ₃₃ sign correction**: Eq. 13 of Xu et al. (2000) / Eq. 20 of Passler (2017) has a sign error in γᵢ₃₃ as printed. All γⱼ₃ must satisfy the z-constraint @@ -111,15 +113,19 @@ conservation): `.claude/rules/berreman-4x4-equations.md`. - **#70** (resolved): rotated anisotropic crystals conserve energy. The quoted `Tpp+Rpp ≈ 0.998` (uniaxial `euler=(π/6,π/4,0)`) was a **budget artifact** — it - omits the reflected cross-pol `Rps` that an out-of-plane tilt produces. The correct - per-input-polarization budget is `Rpp+Rps+Tpp = 1` and `Rss+Rsp+Tss = 1` (holds to - ~1e-14; the Poynting `Tpp` already includes the cross-*transmitted* power, so do - **not** also add `Tps`/`Tsp`). Convention: `r_{in,out}` — p-input cross-reflection - is `Rps`, not `Rsp` (they coincide only at normal incidence). Separately, a genuine - bug — transmission into an **anisotropic substrate** (`Rpp+Rps+Tpp ≈ 1.017`) — was + omits the converted channels that an out-of-plane tilt produces. The correct + per-input-polarization budget is `Rpp+Rps+Tpp+Tps = 1` and `Rss+Rsp+Tss+Tsp = 1` + (holds to ~1e-14). Every transmittance is a **per-mode Poynting flux**: `Tpp` is + the p-like substrate eigenmode's power only, `Tps` the s-like eigenmode's, each + evaluated with its own wavevector. (Historical bug: `Tpp` used to be the TOTAL + per-input flux while `Tps = |tps|²` was an amplitude ratio — converting stacks + then double-counted, e.g. a lossless half-wave plate at 45° gave a p-input sum + of 1.85.) Convention: `r_{in,out}` — p-input cross-reflection is `Rps`, not + `Rsp` (they coincide only at normal incidence). Separately, a genuine bug — + transmission into an **anisotropic substrate** (`Rpp+Rps+Tpp ≈ 1.017`) — was fixed in `poynting()`: the two transmitted substrate eigenmodes carry different - wavevectors, so their Poynting vectors are now summed per-mode instead of using one - wavevector for the combined field. + wavevectors, so their Poynting vectors are evaluated per-mode instead of using + one wavevector for the combined field. - **#71**: anisotropic ambient at oblique incidence → NaN (uses nx for k_par). - **#72**: absorbing incident medium — |r|² is not a true energy reflectance. The Poynting vector is non-additive for absorbing incident media (interference diff --git a/docs/src/assets/examples/anisotropic_energy_budget.png b/docs/src/assets/examples/anisotropic_energy_budget.png index be1fd9d387c9f809e30d7f770db158239cfefda1..5d3d067119703c8e3c8b74866d6623c06697d347 100644 GIT binary patch literal 208650 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�h`{+s%#}d%STP35Z#c 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 WIkRUyPKOU~+w?3hEIH?Mk)2;IpL5v& literal 168232 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%0AKd);v&nm!9OZlFPpeEHzkGbf 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 1.0, 1.0) slab = Layer(λ -> 1.658, λ -> 1.658, λ -> 1.486, 0.5; euler = (π/6, π/4, 0.0)) r = transfer(1.0, [air, slab, air]) # normal incidence -r.Rpp + r.Tpp # ≈ 0.9978 — looks like 0.2% has vanished +r.Rpp + r.Tpp # ≈ 0.9873 — looks like 1.3% has vanished ``` -The slab is transparent, yet `Rpp + Tpp ≈ 0.998`. No energy is actually lost — the +The slab is transparent, yet `Rpp + Tpp ≈ 0.987`. No energy is actually lost — the budget is simply incomplete. -## The missing piece is polarization conversion +## The missing pieces are the converted channels A rotated anisotropic crystal does something an isotropic film never does: it **converts polarization**. Send in a purely p‑polarized wave and a small -s‑polarized component comes back, the cross‑polarized reflectance `Rps`. That -reflected light is real, carries energy, and is exactly what the naive sum omits. -Adding it closes the budget to machine precision: +s‑polarized component appears in *both* directions — the cross‑polarized +reflectance `Rps` and the cross‑polarized transmittance `Tps`. That converted +light is real, carries energy, and is exactly what the naive sum omits. Adding +both channels closes the budget to machine precision: ```julia -r.Rpp + r.Rps + r.Tpp # = 1.0 (to ~1e-15) +r.Rpp + r.Rps + r.Tpp + r.Tps # = 1.0 (to ~1e-15) ``` A few conventions make this add up cleanly: @@ -38,30 +39,33 @@ A few conventions make this add up cleanly: - The coefficient is indexed `r_{in,out}`, so the **p‑input** cross‑reflection is `Rps` (not `Rsp`, which is the *s*-input term — the two coincide only at normal incidence). - - `Tpp` here is the Poynting‑flux transmittance, which already includes the - cross‑transmitted (p→s) light, so you do **not** also add `Tps`. + - Every transmittance is a **per‑mode Poynting flux**: `Tpp` is the power carried + by the p‑like substrate eigenmode alone, `Tps` the power carried by the s‑like + eigenmode, each evaluated with its own wavevector. The four channels therefore + partition the transmitted energy exactly — nothing is counted twice. The per‑input‑polarization statements of energy conservation are therefore ```math -R_{pp} + R_{ps} + T_{pp} = 1, \qquad R_{ss} + R_{sp} + T_{ss} = 1 . +R_{pp} + R_{ps} + T_{pp} + T_{ps} = 1, \qquad R_{ss} + R_{sp} + T_{ss} + T_{sp} = 1 . ``` ![Energy budget of a rotated anisotropic slab](../assets/examples/anisotropic_energy_budget.png) **Panel (a)** sweeps the incidence angle with the optic axis held out of plane. The naive `Rpp + Tpp` (blue) dips below one at every angle; the complete -`Rpp + Rps + Tpp` (black) is flat at one. The shaded gap between them *is* `Rps`. -(It pinches shut near 64° where this particular geometry happens to stop converting, -then reopens — `Rps` is itself angle‑dependent.) +`Rpp + Rps + Tpp + Tps` (black) is flat at one. The shaded gap between them *is* +the converted power `Rps + Tps`. **Panel (b)** explains *when* the conversion happens. Holding the incidence angle -fixed and rotating the optic axis in azimuth, `Rps` is exactly zero when the axis -lies in the plane of incidence (`α = 0`): there the mirror symmetry of the problem -keeps p and s decoupled, just like an isotropic medium. Tilt the axis out of that -plane and the conversion — and the apparent energy "leak" — switches on. +fixed and rotating the optic axis in azimuth, the converted power is exactly zero +when the axis lies in the plane of incidence (`α = 0`): there the mirror symmetry +of the problem keeps p and s decoupled, just like an isotropic medium. Tilt the +axis out of that plane and the conversion — and the apparent energy "leak" — +switches on, mostly in transmission (`Tps`) with a smaller reflected share (`Rps`). The lesson generalizes: for any anisotropic stack, always account for the -cross‑polarized channels before concluding that energy is or isn't conserved. +cross‑polarized channels — both reflected *and* transmitted — before concluding +that energy is or isn't conserved. The full runnable script is [`examples/anisotropic_energy_budget.jl`](https://github.com/garrekstemo/TransferMatrix.jl/blob/main/examples/anisotropic_energy_budget.jl). diff --git a/docs/src/guide/transfer_matrix.md b/docs/src/guide/transfer_matrix.md index ff43f72..7e1fbf8 100644 --- a/docs/src/guide/transfer_matrix.md +++ b/docs/src/guide/transfer_matrix.md @@ -68,9 +68,11 @@ r_{sp} &= \frac{M_{11}M_{23} - M_{21}M_{13}}{d}. \end{aligned} ``` -Reflectance is then ``R = |r|^2`` directly, while transmittance ``T`` is a -Poynting-vector flux ratio rather than ``|t|^2`` (the transmitted wave lives in a -different medium) — see [Physics Validation](validation.md). These formulas are exactly +Reflectance is then ``R = |r|^2`` directly, while every transmittance ``T`` — +co- and cross-polarized alike — is a Poynting-vector flux ratio rather than +``|t|^2`` (the transmitted wave lives in a different medium): each channel is the +flux of one substrate eigenmode, evaluated with its own wavevector — see +[Physics Validation](validation.md). The amplitude formulas above are exactly what [`calculate_tr`](@ref) evaluates. The full ``16``-element map: diff --git a/docs/src/guide/validation.md b/docs/src/guide/validation.md index e9a44f0..fb0ddf4 100644 --- a/docs/src/guide/validation.md +++ b/docs/src/guide/validation.md @@ -70,13 +70,23 @@ Dividing by ``S_{\text{incident}}``: T = \frac{n_2 \cos\theta_2}{n_1 \cos\theta_1} |t|^2 ``` -This is why TransferMatrix.jl uses Poynting vector calculations rather than simply squaring the transmission coefficient. +This is why TransferMatrix.jl uses Poynting vector calculations rather than simply squaring the transmission coefficient — for **every** channel, including the cross-polarized ones (each transmittance is the Poynting flux of its own substrate eigenmode). + +**Anisotropic (polarization-converting) stacks:** a rotated birefringent or gyrotropic layer converts p ↔ s, so part of the incident power leaves through the cross-polarized channels. The budget checked per input polarization is therefore + +```math +R_{pp} + R_{ps} + T_{pp} + T_{ps} = 1, \qquad R_{ss} + R_{sp} + T_{ss} + T_{sp} = 1 , +``` + +which reduces to ``R + T = 1`` for isotropic stacks, where the cross terms vanish. **Example warning:** ``` ┌ Warning: Energy conservation violated for p-polarization │ Tpp = 0.72 +│ Tps = 0.0 │ Rpp = 0.25 +│ Rps = 0.0 │ sum = 0.97 │ expected = 1.0 │ deviation = 0.03 @@ -142,7 +152,7 @@ Validation does **not** catch all possible errors: - **Field continuity:** Tangential E and H fields should be continuous across interfaces. This is tested in the test suite but not validated at runtime. - **Incorrect but consistent results:** If there's a systematic error that affects both R and T equally, energy conservation might still hold. - **Material data errors:** Validation can't detect if your refractive index data is wrong—only that the calculation is self-consistent. -- **Anisotropic media issues:** The validation assumes isotropic materials. For birefringent media, additional checks may be needed. +- **Per-channel errors that cancel in the budget:** The energy check sums all four channels per input polarization, so a systematic redistribution between co- and cross-polarized channels that preserves the total would not be flagged. ## Tolerance Parameters diff --git a/examples/anisotropic_energy_budget.jl b/examples/anisotropic_energy_budget.jl index ea3a00e..642f5f9 100644 --- a/examples/anisotropic_energy_budget.jl +++ b/examples/anisotropic_energy_budget.jl @@ -3,22 +3,25 @@ # A lossless dielectric slab must obey R + T = 1. But take a uniaxial crystal and # rotate its optic axis OUT of the plane of incidence, and the naive budget # -# R + T = Rpp + Tpp ≈ 0.998 +# R + T = Rpp + Tpp ≈ 0.987 # # falls short of 1 — even though nothing absorbs. The slab is not leaking energy: # a rotated anisotropic crystal CONVERTS polarization. A purely p-polarized input -# comes back with a small s-polarized component (Rps), and that reflected -# cross-polarized light is exactly the piece the naive budget forgets. The +# comes back with a small s-polarized component in BOTH directions — the +# cross-polarized reflectance Rps and the cross-polarized transmittance Tps. +# Those converted channels are exactly what the naive budget forgets. The # complete, polarization-resolved budget # -# Rpp + Rps + Tpp = 1 +# Rpp + Rps + Tpp + Tps = 1 # -# closes to machine precision. (Tpp from the Poynting flux already includes the -# cross-transmitted light, so it is not added twice.) +# closes to machine precision. (Each transmittance is the Poynting flux of its +# own substrate eigenmode, so the four channels partition the energy exactly.) # -# Panel (a): the naive vs. complete budget vs. incidence angle — the shaded gap IS Rps. -# Panel (b): Rps vs. the optic-axis azimuth — conversion vanishes when the axis lies -# in the plane of incidence and grows as it tilts out. +# Panel (a): the naive vs. complete budget vs. incidence angle — the shaded gap +# IS the converted power Rps + Tps. +# Panel (b): the converted channels vs. the optic-axis azimuth — conversion +# vanishes when the axis lies in the plane of incidence and grows as +# it tilts out. # # Run from the examples environment: # julia --project=examples examples/anisotropic_energy_budget.jl @@ -41,46 +44,53 @@ res_θ = [transfer(λ, [air, slab(α0, β0), air]; θ = deg2rad(θ)) for θ in Rpp = getfield.(res_θ, :Rpp) Tpp = getfield.(res_θ, :Tpp) Rps = getfield.(res_θ, :Rps) -naive = Rpp .+ Tpp # forgets the p→s reflection -complete = Rpp .+ Rps .+ Tpp # = 1 +Tps = getfield.(res_θ, :Tps) +naive = Rpp .+ Tpp # forgets both converted channels +complete = Rpp .+ Rps .+ Tpp .+ Tps # = 1 println("Panel (a): rotated slab euler=(π/6, π/4, 0)") println(" naive Rpp+Tpp: min=", round(minimum(naive), digits=5), " max=", round(maximum(naive), digits=5), " (should dip below 1)") -println(" complete Rpp+Rps+Tpp: max |budget-1| = ", maximum(abs.(complete .- 1))) +println(" complete Rpp+Rps+Tpp+Tps: max |budget-1| = ", maximum(abs.(complete .- 1))) -# Panel (b): sweep the optic-axis azimuth at fixed incidence; watch Rps switch on. +# Panel (b): sweep the optic-axis azimuth at fixed incidence; watch conversion switch on. αdeg = 0.0:1.0:90.0 θ_fixed = deg2rad(30) -Rps_α = [transfer(λ, [air, slab(deg2rad(α), β0), air]; θ = θ_fixed).Rps for α in αdeg] +res_α = [transfer(λ, [air, slab(deg2rad(α), β0), air]; θ = θ_fixed) for α in αdeg] +Rps_α = getfield.(res_α, :Rps) +Tps_α = getfield.(res_α, :Tps) +conv_α = Rps_α .+ Tps_α println("Panel (b): azimuth sweep at θ=30°") -println(" Rps(α=0°, optic axis in plane) = ", round(Rps_α[1], digits=8), " (≈ 0: no conversion)") -println(" Rps peaks at α≈", round(αdeg[argmax(Rps_α)]), "° =", round(maximum(Rps_α), digits=5)) +println(" Rps+Tps(α=0°, optic axis in plane) = ", round(conv_α[1], digits=8), " (≈ 0: no conversion)") +println(" Rps+Tps peaks at α≈", round(αdeg[argmax(conv_α)]), "° =", round(maximum(conv_α), digits=5)) # --- Figure --------------------------------------------------------------- fig = Figure(size = (980, 430)) axa = Axis(fig[1, 1]; xlabel = "Incidence angle (°)", ylabel = "energy budget R + T", - title = "A lossless slab that seems to lose ~0.2%") -limits!(axa, 0, 85, 0.99, 1.002) + title = "A lossless slab that seems to lose ~1%") +limits!(axa, 0, 85, 0.96, 1.005) band!(axa, θdeg, naive, complete; color = (:firebrick, 0.18)) lines!(axa, θdeg, complete; color = :black, linewidth = 2.5, - label = "Rpp + Rps + Tpp (complete) = 1") + label = "Rpp + Rps + Tpp + Tps (complete) = 1") lines!(axa, θdeg, naive; color = :dodgerblue3, linewidth = 2.5, label = "Rpp + Tpp (naive)") -text!(axa, 42, 0.9988; text = "shaded gap = Rps\n(p→s reflection)", +text!(axa, 42, 0.978; text = "shaded gap = Rps + Tps\n(converted p→s power)", align = (:center, :center), fontsize = 11, color = :firebrick4) axislegend(axa; position = :rb, framevisible = true) axb = Axis(fig[1, 2]; - xlabel = "Optic-axis azimuth α (°)", ylabel = "cross-pol reflectance Rps", + xlabel = "Optic-axis azimuth α (°)", ylabel = "converted power (p input)", title = "Conversion needs an out-of-plane optic axis (θ = 30°)") -lines!(axb, αdeg, Rps_α; color = :firebrick3, linewidth = 2.5) -scatter!(axb, [0], [Rps_α[1]]; color = :black, markersize = 9) -text!(axb, 3, Rps_α[1]; text = "axis in plane of incidence → Rps = 0", +lines!(axb, αdeg, conv_α; color = :firebrick3, linewidth = 2.5, label = "Rps + Tps") +lines!(axb, αdeg, Tps_α; color = :darkorange2, linewidth = 1.8, linestyle = :dash, label = "Tps") +lines!(axb, αdeg, Rps_α; color = :purple3, linewidth = 1.8, linestyle = :dot, label = "Rps") +scatter!(axb, [0], [conv_α[1]]; color = :black, markersize = 9) +text!(axb, 3, conv_α[1]; text = "axis in plane of incidence → no conversion", align = (:left, :bottom), fontsize = 11, color = :black) -limits!(axb, -2, 90, -maximum(Rps_α) * 0.06, maximum(Rps_α) * 1.18) +limits!(axb, -2, 90, -maximum(conv_α) * 0.06, maximum(conv_α) * 1.18) +axislegend(axb; position = :rt, framevisible = true) outpath = joinpath(@__DIR__, "..", "docs", "src", "assets", "examples", "anisotropic_energy_budget.png") mkpath(dirname(outpath)) From e8f0f961b57e9a9d7dcbd49a0d5d78974e55dab9 Mon Sep 17 00:00:00 2001 From: Garrek Stemo <8449000+garrekstemo@users.noreply.github.com> Date: Tue, 7 Jul 2026 10:25:25 +0900 Subject: [PATCH 3/4] docs: oracle-validation example for cross-polarized transmittance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checks the per-eigenmode T decomposition against closed-form physics the Berreman code was never fitted to, not just internal budget closure: 1. Air | uniaxial half-space (optic axis y): Tpp/Tss match the textbook per-axis Fresnel transmittances with n_o/n_e — including the per-mode n cos(theta_t) flux factors — to ~1e-15; cross terms exactly zero. 2. Calcite-like half-wave plate at 45 deg: transfer() Tps/Tpp match an exact Jones x Airy per-eigenmode etalon oracle to ~1e-15, with the classic sin^2(pi dn t / lambda) conversion envelope overlaid; both per-input budgets close to 1e-12 across the sweep. 3. Migration note for <= v3.2.1 readers: Tpp at the half-wave point is now the co-polarized share (~0.0004), not the total (~0.848), so Rpp+Rps+Tpp no longer reads 1 — the closed budget is four-channel. Co-Authored-By: Claude Fable 5 --- examples/anisotropic_fresnel_validation.jl | 205 +++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 examples/anisotropic_fresnel_validation.jl diff --git a/examples/anisotropic_fresnel_validation.jl b/examples/anisotropic_fresnel_validation.jl new file mode 100644 index 0000000..31c83a5 --- /dev/null +++ b/examples/anisotropic_fresnel_validation.jl @@ -0,0 +1,205 @@ +# Oracle validation of the per-eigenmode cross-polarized transmittance. +# +# transfer() reports four transmittances per input polarization: the +# co-polarized Tpp, Tss and the converted Tps, Tsp. Each is the Poynting flux +# of ONE substrate eigenmode — evaluated with that mode's own wavevector — +# divided by the incident flux. The energy-budget example +# (anisotropic_energy_budget.jl) shows that these four channels close +# Rpp + Rps + Tpp + Tps = 1 internally; a budget can close, however, and still +# split the power wrongly between the channels. Here each channel is checked +# against independent closed-form textbook physics the Berreman machinery was +# never fitted to. +# +# Validation 1 — per-axis Fresnel oracle (quantitative, < 1e-10). +# Air over a semi-infinite uniaxial crystal with the optic axis along ŷ: +# Layer(n_o, n_e, n_o, ...). With the plane of incidence x–z, the two +# transmitted eigenmodes are PURE p and s waves: the p mode (E in x–z) sees +# only ε_xx = ε_zz = n_o², the s mode (E ∥ ŷ) only ε_yy = n_e². So Tpp must +# equal the isotropic single-interface p-polarization Fresnel transmittance +# with index n_o, and Tss the s-polarization one with index n_e — including +# the flux factor n·cosθ_t/cosθ_i, which DIFFERS between the two output +# modes because each refracts with its own index. Cross terms must vanish. +# +# Validation 2 — half-wave plate oracle (quantitative, < 1e-10). +# A calcite-like slab (n_o = 1.658, n_e = 1.486) with the optic axis in the +# layer plane at 45° to the plane of incidence (euler = (π/4, π/2, 0)) and +# thickness t = λ₀/(2Δn) at λ₀ = 0.59 μm: a half-wave plate. At normal +# incidence a p input splits equally onto the two eigenaxes; the slab +# retards one by π and the recombined polarization is rotated by 90°, so the +# transmitted power exits almost entirely s-polarized (Tps). Two formulas: +# (a) the classic waveplate conversion T_conv = sin²(2·45°)·sin²(πΔn·t/λ), +# scaled by the single-pass Fresnel surface losses (fringe-free); +# (b) an EXACT Jones × Airy oracle — at normal incidence each eigenmode is +# an independent Fabry–Pérot etalon with its own index, so +# Tps = |t_e − t_o|²/4 and Tpp = |t_e + t_o|²/4 in closed form. +# (b) must agree with transfer() to < 1e-10 across the sweep; (a) is the +# envelope the etalon fringes oscillate around. +# +# Validation 3 — the reading the fix changed (for readers migrating). +# In releases ≤ v3.2.1, Tpp was the TOTAL per-input transmitted flux and +# Tps = |t_ps|² a raw amplitude ratio: at the half-wave point +# Rpp + Rps + Tpp = 1 looked like a closed budget (with Tpp ≈ 0.848), while +# the four-channel sum double-counted the converted power to ≈ 1.85. Now +# Tpp is the co-polarized SHARE (≈ 0.0004 here) and the budget that closes +# is the four-channel one. +# +# Run from the examples environment. The examples project normally uses the +# registered TransferMatrix, so point it at this checkout first: +# julia --project=examples -e 'using Pkg; Pkg.develop(path="."); Pkg.instantiate()' +# julia --project=examples examples/anisotropic_fresnel_validation.jl + +using TransferMatrix +using CairoMakie + +function check_below(label, deviation, tol) + ok = deviation < tol + println(" ", label, " = ", deviation, ok ? " (PASS < $tol)" : " (FAIL, tol $tol)") + ok || error("validation failed: " * label) +end + +no, ne = 1.658, 1.486 +λ0 = 0.59 +air = Layer(λ -> 1.0, 1.0) + +# --- Validation 1: air | uniaxial half-space, optic axis along ŷ ------------ +# Textbook single-interface Fresnel transmittance (incident index n₁ = 1), +# written out for a substrate of index n: +# cosθ_t = √(1 − sin²θᵢ/n²) (Snell) +# t_p = 2cosθᵢ/(n·cosθᵢ + cosθ_t) (amplitude) +# t_s = 2cosθᵢ/(cosθᵢ + n·cosθ_t) +# T = (n·cosθ_t/cosθᵢ)·|t|² (transmitted flux ratio) +# The p mode refracts with n_o and the s mode with n_e, so each channel +# carries its OWN n·cosθ_t flux factor. + +substrate_y = Layer(λ -> no, λ -> ne, λ -> no, 1.0) +θdeg = 0.0:1.0:80.0 +θi = deg2rad.(θdeg) +res1 = [transfer(λ0, [air, substrate_y]; θ = θ) for θ in θi] +Tpp1 = getfield.(res1, :Tpp) +Tss1 = getfield.(res1, :Tss) + +cosθp = sqrt.(1 .- (sin.(θi) ./ no) .^ 2) +cosθs = sqrt.(1 .- (sin.(θi) ./ ne) .^ 2) +tp = 2 .* cos.(θi) ./ (no .* cos.(θi) .+ cosθp) +ts = 2 .* cos.(θi) ./ (cos.(θi) .+ ne .* cosθs) +Tp_fresnel = no .* cosθp ./ cos.(θi) .* abs2.(tp) +Ts_fresnel = ne .* cosθs ./ cos.(θi) .* abs2.(ts) + +cross1 = maximum(res -> max(res.Tps, res.Tsp, res.Rps, res.Rsp), res1) + +println("Validation 1: air | uniaxial half-space (optic axis ∥ ŷ), θ = 0–80°") +check_below("max |Tpp − Fresnel T_p(n_o)|", maximum(abs.(Tpp1 .- Tp_fresnel)), 1e-10) +check_below("max |Tss − Fresnel T_s(n_e)|", maximum(abs.(Tss1 .- Ts_fresnel)), 1e-10) +check_below("max cross channel (Tps, Tsp, Rps, Rsp)", cross1, 1e-10) + +# --- Validation 2: calcite-like half-wave plate at 45° ---------------------- +Δn = no - ne +t_hwp = λ0 / (2Δn) +hwp = Layer(λ -> no, λ -> no, λ -> ne, t_hwp; euler = (π/4, π/2, 0.0)) +λs = 0.40:0.002:1.00 +res2 = [transfer(λ, [air, hwp, air]) for λ in λs] +Tps2 = getfield.(res2, :Tps) +Tpp2 = getfield.(res2, :Tpp) + +# (a) Classic waveplate conversion, scaled by surface losses. +# a_j = t_in·t_out = [2/(1+n_j)]·[2n_j/(1+n_j)] is the two-face single-pass +# amplitude transmission of eigenmode j; the fringe-free envelope of the +# converted power is a_o·a_e·sin²(2β)·sin²(πΔn·t/λ) with β = 45°. +a_o = 4no / (1 + no)^2 +a_e = 4ne / (1 + ne)^2 +Tps_classic = a_o * a_e * sin(2 * (π/4))^2 .* sin.(π * Δn * t_hwp ./ λs) .^ 2 + +# (b) Exact Jones × Airy oracle. Each eigenmode traverses the slab as its own +# Fabry–Pérot etalon: +# t_slab(n) = t_in·t_out·e^{iδ}/(1 − r²e^{2iδ}), δ = 2πnt/λ, r = (n−1)/(n+1) +# With the eigenaxes at 45°, an x̂ (p) input recombines in the output air as +# E_x = (t_e + t_o)/2 and E_y = (t_e − t_o)/2, so +# Tpp = |t_e + t_o|²/4, Tps = |t_e − t_o|²/4. +function slab_transmission(n, t, λ) + δ = 2π * n * t / λ + r = (n - 1) / (n + 1) + return (2 / (1 + n)) * (2n / (1 + n)) * cis(δ) / (1 - r^2 * cis(2δ)) +end +t_o = slab_transmission.(no, t_hwp, λs) +t_e = slab_transmission.(ne, t_hwp, λs) +Tps_airy = abs2.(t_e .- t_o) ./ 4 +Tpp_airy = abs2.(t_e .+ t_o) ./ 4 + +budget_p = [r.Rpp + r.Rps + r.Tpp + r.Tps for r in res2] +budget_s = [r.Rss + r.Rsp + r.Tss + r.Tsp for r in res2] + +println("Validation 2: half-wave plate (t = ", round(t_hwp, digits = 5), + " μm), λ = 0.40–1.00 μm, normal incidence") +check_below("max |Tps − Jones×Airy oracle|", maximum(abs.(Tps2 .- Tps_airy)), 1e-10) +check_below("max |Tpp − Jones×Airy oracle|", maximum(abs.(Tpp2 .- Tpp_airy)), 1e-10) +check_below("max |p-input budget − 1|", maximum(abs.(budget_p .- 1)), 1e-12) +check_below("max |s-input budget − 1|", maximum(abs.(budget_s .- 1)), 1e-12) + +# The fringe-free conversion envelope peaks exactly at the design wavelength; +# the exact curve's global maximum rides the etalon fringe nearest to it +# (fringe spacing λ²/(2n̄t) ≈ 0.065 μm here). +i0 = argmin(abs.(λs .- λ0)) +λpeak_env = λs[argmax(Tps_classic)] +λpeak = λs[argmax(Tps2)] +println(" conversion envelope peaks at λ = ", λpeak_env, " μm (design λ₀ = ", λ0, " μm)") +println(" exact Tps max at λ = ", λpeak, " μm (nearest etalon fringe); Tps(λ₀) = ", + round(Tps2[i0], digits = 6), ", Tpp(λ₀) = ", round(Tpp2[i0], digits = 6)) +abs(λpeak_env - λ0) < 1e-9 || error("validation failed: envelope does not peak at the design wavelength") +abs(λpeak - λ0) < 0.05 || error("validation failed: Tps peak is not within one fringe of the design wavelength") +Tps2[i0] > 0.8 || error("validation failed: conversion at the design wavelength should be nearly complete") +Tpp2[i0] < 1e-3 || error("validation failed: Tpp at the half-wave point should be ≈ 0") + +# --- Validation 3: the reading the per-mode fix changed --------------------- +# Migration note (releases ≤ v3.2.1 → this version): Tpp used to be the TOTAL +# transmitted Poynting flux for a p input (both output polarizations, one +# shared wavevector) and Tps = |t_ps|² a raw amplitude ratio. Rpp + Rps + Tpp +# was therefore the sum that read 1.0, and adding Tps double-counted the +# converted power (≈ 1.85 for this stack). With the per-eigenmode +# decomposition, Tpp at the half-wave point drops from ≈ 0.848 (the total) to +# ≈ 0.0004 (the co-polarized share), Rpp + Rps + Tpp is correctly ≪ 1, and +# the budget that closes is the four-channel one. +res_hw = transfer(λ0, [air, hwp, air]) +old_reading = res_hw.Rpp + res_hw.Rps + res_hw.Tpp +println("Validation 3: half-wave point, per-mode decomposition vs the pre-fix reading") +println(" Tpp = ", round(res_hw.Tpp, digits = 6), + " (co-polarized share; ≤ v3.2.1 put the TOTAL ≈ 0.848 here)") +println(" Tps = ", round(res_hw.Tps, digits = 6), + " (converted share; ≤ v3.2.1 reported |t_ps|² instead)") +println(" Rpp + Rps + Tpp = ", round(old_reading, digits = 6), + " (the old \"closed\" budget — correctly ≠ 1 now)") +println(" Rpp + Rps + Tpp + Tps = ", res_hw.Rpp + res_hw.Rps + res_hw.Tpp + res_hw.Tps, + " (the budget that closes)") +old_reading < 0.9 || error("validation failed: Tpp looks like a total flux again (pre-fix semantics?)") + +# --- Figure ------------------------------------------------------------------ +fig = Figure(size = (980, 430)) + +axa = Axis(fig[1, 1]; + xlabel = "Incidence angle (°)", ylabel = "Transmittance", + title = "Air | uniaxial half-space: per-axis Fresnel oracle") +lines!(axa, θdeg, Tp_fresnel; color = :black, linewidth = 2.5, + label = "Fresnel T_p(n_o) analytic") +lines!(axa, θdeg, Ts_fresnel; color = :gray55, linewidth = 2.5, + label = "Fresnel T_s(n_e) analytic") +scatter!(axa, θdeg[1:4:end], Tpp1[1:4:end]; color = :orangered3, markersize = 8, + label = "transfer() Tpp") +scatter!(axa, θdeg[1:4:end], Tss1[1:4:end]; color = :dodgerblue3, marker = :utriangle, + markersize = 8, label = "transfer() Tss") +axislegend(axa; position = :lb, framevisible = true) + +axb = Axis(fig[1, 2]; + xlabel = "Wavelength (μm)", ylabel = "Transmittance (p input)", + title = "Half-wave plate at 45°: waveplate oracle") +limits!(axb, 0.38, 1.02, -0.04, 1.38) +lines!(axb, λs, Tps_classic; color = :gray55, linewidth = 2, linestyle = :dash, + label = "classic sin²(πΔn·t/λ) × surface loss") +lines!(axb, λs, Tps2; color = :firebrick3, linewidth = 2.5, label = "transfer() Tps") +lines!(axb, λs, Tpp2; color = :dodgerblue3, linewidth = 1.8, label = "transfer() Tpp") +scatter!(axb, λs[1:15:end], Tps_airy[1:15:end]; color = :black, markersize = 6, + label = "Jones × Airy exact") +vlines!(axb, λ0; color = :black, linestyle = :dot) +text!(axb, λ0 + 0.015, 0.06; text = "design λ₀", align = (:left, :center), fontsize = 11) +axislegend(axb; position = :rt, framevisible = true) + +save(joinpath(@__DIR__, "anisotropic_fresnel_validation.png"), fig) +println("saved ", joinpath(@__DIR__, "anisotropic_fresnel_validation.png")) From 0846ea52bf4d0fa3c1c18734feda7f38ef4b1d13 Mon Sep 17 00:00:00 2001 From: Garrek Stemo <8449000+garrekstemo@users.noreply.github.com> Date: Tue, 7 Jul 2026 11:53:48 +0900 Subject: [PATCH 4/4] =?UTF-8?q?test:=20cover=20the=20no-=C5=B7=20pass-thro?= =?UTF-8?q?ugh=20branch=20of=20=5Forient=5Fdegenerate=5Fpair?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The guard for a degenerate eigenmode span with no Ey content (no s-like direction to orient to) was the one line of the cross-polarization fix without coverage; pin its pass-through contract, including the backward -pair sign convention, with a direct unit test. Co-Authored-By: Claude Fable 5 --- test/mu_tensor.jl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/mu_tensor.jl b/test/mu_tensor.jl index de6cf0e..1634df8 100644 --- a/test/mu_tensor.jl +++ b/test/mu_tensor.jl @@ -193,3 +193,18 @@ end H = hfield(1.0, layers; θ=0.3, dz=0.01) @test all(isfinite, H.p) && all(isfinite, H.s) end + +@testset "_orient_degenerate_pair: span without ŷ passes through" begin + # A degenerate 2-D eigenmode space with no Ey content has no s-like + # direction to orient to, so the input basis must come back unchanged — + # up to the p-mode sign convention (Ex real-negative for the backward + # pair, matching E_modes[3,1] = -1 in calculate_E_modes). + x̂ = SVector{3,ComplexF64}(1, 0, 0) + ẑ = SVector{3,ComplexF64}(0, 0, 1) + w_p, w_s = TransferMatrix._orient_degenerate_pair(x̂, ẑ, 1) + @test w_p == x̂ + @test w_s == ẑ + w_p, w_s = TransferMatrix._orient_degenerate_pair(x̂, ẑ, 3) + @test w_p == -x̂ + @test w_s == ẑ +end