Mode Class

class lpmodes.Mode(u, w, l, m, beta, n_eff, core_radius, wavelength, n_core, n_cladding)

Class used to store parameters of a mode, and to plot it.

Arguments:
ufloat

Radial propagation constant in the core.

wfloat

Radial propagation constant in the cladding.

lint

Azimuthal mode number.

mint

Radial mode number.

betafloat

Propagation constant of the mode.

n_efffloat

effective refractive index of the mode

core_radiusfloat

Radius of the fibre core.

wavelengthfloat

Wavelength of the light in the mode.

n_corefloat

Refractive index of the fibre core.

n_claddingfloat

Refractive index of the cladding.

plot_amplitude(grid_size, max_plot_radius)

Returns ‘plot’ of amplitude of mode as a 2D numpy array. This function returns the ‘cosine’ version.

Arguments:
grid_sizeint

size of square plot in pixels

max_plot_radiusfloat

radial distance at edge of plot, microns

Returns

np.array : 2D array of floats, plot of mode, cosine version

plot_amplitude_rotated(grid_size, max_plot_radius)

Returns ‘plot’ of amplitude of mode as a 2D numpy array. This function returns the ‘sine’ version, i.e. rotated by 4pi/l w.r.t. plot_amplitude.

Arguments:
grid_sizeint

size of square plot in pixels

max_plot_radiusfloat

radial distance at edge of plot, microns

Returns

np.array : 2D array of floats, plot of mode, sine version

plot_intensity(grid_size, max_plot_radius)

Returns ‘plot’ of intensity of mode as a 2D numpy array. This function returns the ‘cosine’ version.

Arguments:
grid_sizeint

size of square plot in pixels

max_plot_radiusfloat

radial distance at edge of plot, microns

Returns

np.array : 2D array of floats, plot of mode, cosine version

plot_intensity_rotated(grid_size, max_plot_radius)

Returns ‘plot’ of intensity of mode as a 2D numpy array. This function returns the ‘sine’ version.

Arguments:
grid_sizeint

size of square plot in pixels

max_plot_radiusfloat

radial distance at edge of plot, microns

Returns

np.array : 2D array of floats, plot of mode, sine version