LP Mode Solver

class LPModeSolver(l_max: int, m_max: int)

This is a mode solver class for finding linearly polarized (LP) modes of a cylindrical step-index fiber. During initialization, the mode solver computes cutoffs for each mode up to given maximum order.

__init__(l_max: int, m_max: int)

Constructor for the LP mode solver.

Parameters
  • l_max – The highest l number the solver is initialized to find.

  • m_max – The highest m number the solver is initialized to find.

find_mode(l: int, m: int, core_radius: float, na: float, wl: float, rotation='cos')

Run LP mode solver in order to find a single specific mode.

Parameters
  • l – The mode’s l number

  • m – The mode’s m number

  • core_radius – The fiber’s core radius

  • na – The fiber’s core numerical aperture

  • wl – The mode’s wavelength

  • rotation – The rotational variant of the mode (sin or cos) when applicable.

Returns

Instance of LPMode class if the mode is found

find_all_modes(core_radius: float, na: float, wl: float)

Solve for a list of all modes with given step-index fiber parameters

Parameters
  • core_radius – The fiber’s core radius

  • na – The fiber’s core numerical aperture

  • wl – The mode’s wavelength

Returns

List of all found LPModes