[fdfd.waveguide*] misc fixes
This commit is contained in:
parent
1987ee473a
commit
83f4d87ad8
@ -946,7 +946,7 @@ def inner_product( # TODO documentation
|
|||||||
|
|
||||||
# Find time-averaged Sz and normalize to it
|
# Find time-averaged Sz and normalize to it
|
||||||
dxes_real = [[numpy.real(dxyz) for dxyz in dxeh] for dxeh in dxes]
|
dxes_real = [[numpy.real(dxyz) for dxyz in dxeh] for dxeh in dxes]
|
||||||
if integrate:
|
if trapezoid:
|
||||||
Sz_a = numpy.trapezoid(numpy.trapezoid(E1[0] * H2[1], numpy.cumsum(dxes_real[0][1])), numpy.cumsum(dxes_real[1][0]))
|
Sz_a = numpy.trapezoid(numpy.trapezoid(E1[0] * H2[1], numpy.cumsum(dxes_real[0][1])), numpy.cumsum(dxes_real[1][0]))
|
||||||
Sz_b = numpy.trapezoid(numpy.trapezoid(E1[1] * H2[0], numpy.cumsum(dxes_real[0][0])), numpy.cumsum(dxes_real[1][1]))
|
Sz_b = numpy.trapezoid(numpy.trapezoid(E1[1] * H2[0], numpy.cumsum(dxes_real[0][0])), numpy.cumsum(dxes_real[1][1]))
|
||||||
else:
|
else:
|
||||||
|
@ -19,7 +19,7 @@ from scipy import sparse
|
|||||||
from ..fdmath import vec, unvec, dx_lists_t, vfdfield_t, vcfdfield_t
|
from ..fdmath import vec, unvec, dx_lists_t, vfdfield_t, vcfdfield_t
|
||||||
from ..fdmath.operators import deriv_forward, deriv_back
|
from ..fdmath.operators import deriv_forward, deriv_back
|
||||||
from ..eigensolvers import signed_eigensolve, rayleigh_quotient_iteration
|
from ..eigensolvers import signed_eigensolve, rayleigh_quotient_iteration
|
||||||
|
from . import waveguide_2d
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -62,9 +62,9 @@ def cylindrical_operator(
|
|||||||
Ta, Tb = dxes2T(dxes=dxes, rmin=rmin)
|
Ta, Tb = dxes2T(dxes=dxes, rmin=rmin)
|
||||||
|
|
||||||
eps_parts = numpy.split(epsilon, 3)
|
eps_parts = numpy.split(epsilon, 3)
|
||||||
eps_x = sparse.diags(eps_parts[0])
|
eps_x = sparse.diags_array(eps_parts[0])
|
||||||
eps_y = sparse.diags(eps_parts[1])
|
eps_y = sparse.diags_array(eps_parts[1])
|
||||||
eps_z_inv = sparse.diags(1 / eps_parts[2])
|
eps_z_inv = sparse.diags_array(1 / eps_parts[2])
|
||||||
|
|
||||||
omega2 = omega * omega
|
omega2 = omega * omega
|
||||||
diag = sparse.block_diag
|
diag = sparse.block_diag
|
||||||
@ -168,7 +168,7 @@ def solve_mode(
|
|||||||
(e_xy, angular_wavenumber)
|
(e_xy, angular_wavenumber)
|
||||||
"""
|
"""
|
||||||
kwargs['mode_numbers'] = [mode_number]
|
kwargs['mode_numbers'] = [mode_number]
|
||||||
e_xys, wavenumbers = solve_modes(*args, **kwargs)
|
e_xys, angular_wavenumbers = solve_modes(*args, **kwargs)
|
||||||
return e_xys[0], angular_wavenumbers[0]
|
return e_xys[0], angular_wavenumbers[0]
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user