LP Mode

class LPMode(l: int, m: int, u: float, na: float, a: float, wl: float, rotation: str, cutoff_wl: float, n_core_func=<function core_index>)

The LPMode class represents a linearly polarized (LP) mode of a cylindrical step-index fiber.

__init__(l: int, m: int, u: float, na: float, a: float, wl: float, rotation: str, cutoff_wl: float, n_core_func=<function core_index>)

Constructor

Parameters
  • l – l parameter of the LP_lm mode

  • m – m parameter of the LP_lm mode

  • u – u parameter / mode solver’s solution

  • na – Fiber core numerical aperture

  • a – Fiber core radius

  • wl – Wavelength

  • rotation – Rotational variant of the mode (sin or cos)

  • cutoff_wl – Cutoff wavelength

  • n_core_func – Function returning core refractive index as a function of na and wavelength

property name

Short string representation / Name of the mode

Returns

Mode name

property propagation_constant

The mode’s propagation constant beta

Returns

Propagation constant

dispersion(n_points_per_side=20, delta_wl=5e-12, deg=7)

Dispersion computation by the following technique: Run mode solver for a number of adjacent wavelengths (n_points_per_side*2) at delta_wl intervals. Compute propagation constant beta for each of those solutions. Compute angular frequency omega from the used wavelengths. Fit a polynomial to the data -> this is a function beta(omega) Differentiate said polynomial, eg. twice for beta_2 dispersion. Evaluate the derivative at the center wavelength.

This is still an experimental feature. Please tune the parameters to make sure the solution converges.

Parameters
  • n_points_per_side (int) – number of fit points on each side of the center wavelength

  • delta_wl (float) – Wavelength step between fit points

  • deg (int) – Degree of the fitting polynomial

property effective_index

Computes the effective refractive index of the mode.

Returns

effective refractive index

Return type

float

property group_index

Computes the group index of the mode.

Returns

group index

Return type

float

property core_overlap

The mode’s total overlap with the fiber core.

Returns

Overlap as 0…1

property effective_mfd

Mode field diameter computed from the mode’s effective area.

Returns

Mode field diameter

intensity(r: float, phi: float)

Returns the mode’s normalized intensity at polar coordinates (r, phi) :param r: Radial coordinate :param phi: Angular coordinate :return: Mode’s normalized intensity

core_section_overlap(r_lim, phi_lim)

The mode’s overlap with a single core section defined by r_lim, phi_lim

Parameters
  • r_lim – Numpy array containing min and max radius defining the section.

  • phi_lim – Numpy array containing min and max angles defining the section.

Returns

Overlap with the core section 0…1

plot_intensity()

Plots the mode’s intensity profile.

Returns

No return value.