Mode Solver API
ModeSolver
- class prismo.modes.solver.ModeSolver(wavelength, x, y, epsilon)[source]
2D finite-difference eigenmode solver for waveguides.
Solves the vector wave equation to find guided modes: ∇ × ∇ × E = (ω/c)² ε E
- Parameters:
wavelength (float) – Vacuum wavelength (m).
x (ndarray) – x-coordinates for the mode profile.
y (ndarray) – y-coordinates for the mode profile.
epsilon (ndarray) – Permittivity distribution (relative).
- solve(num_modes=1, mode_type='TE', beta_guess=None)[source]
Solve for guided modes.
- Parameters:
- Returns:
List of calculated modes.
- Return type:
List[WaveguideMode]
WaveguideMode
- class prismo.modes.solver.WaveguideMode(mode_number, neff, frequency, wavelength, Ex, Ey, Ez, Hx, Hy, Hz, x, y, power=1.0)[source]
Container for waveguide mode information.
- Ex, Ey, Ez
Electric field components.
- Type:
ndarray
- Hx, Hy, Hz
Magnetic field components.
- Type:
ndarray
- x, y
Coordinate arrays.
- Type:
ndarray
- __init__(mode_number, neff, frequency, wavelength, Ex, Ey, Ez, Hx, Hy, Hz, x, y, power=1.0)