[fdfd.operators] fix eh_full for non-None mu

This commit is contained in:
Jan Petykiewicz 2026-04-17 23:15:33 -07:00
commit 0afe2297b0
4 changed files with 178 additions and 4 deletions

View file

@ -236,10 +236,12 @@ def eh_full(
else:
pm = sparse.diags_array(numpy.where(pmc, 0, 1)) # set pm to (not PMC)
iwe = pe @ (1j * omega * sparse.diags_array(epsilon)) @ pe
iwm = 1j * omega
if mu is not None:
iwm *= sparse.diags_array(mu)
iwe = pe @ (1j * omega * sparse.diags(epsilon)) @ pe
if mu is None:
iwm = 1j * omega * sparse.eye(epsilon.size)
else:
iwm = 1j * omega * sparse.diags(mu)
iwm = pm @ iwm @ pm
A1 = pe @ curl_back(dxes[1]) @ pm