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.