RidgeWaveguide¶
-
class
modesolverpy.structure.RidgeWaveguide(wavelength, x_step, y_step, wg_height, wg_width, sub_height, sub_width, clad_height, n_sub, n_wg, angle=0, n_clad=1.0, film_thickness='wg_height')[source]¶ Bases:
modesolverpy.structure_base.SlabsA general ridge waveguide structure.
Parameters: - wavelength (float) – Wavelength the structure should operate at.
- x_step (float) – The grid step in x that the structure is created on.
- y_step (float) – The grid step in y that the structure is created on.
- wg_height (float) – The height of the ridge.
- wg_width (float) – The width of the ridge.
- sub_height (float) – The thickness of the substrate.
- sub_width (float) – The width of the substrate.
- clad_height (float) – The thickness of the cladding.
- n_sub (float, function) – Refractive index of the substrate. Either a constant (float), or a function that accepts one parameters, the wavelength, and returns a float of the refractive index. This is useful when doing wavelength sweeps and solving for the group velocity. The function provided could be a Sellmeier equation.
- n_wg (float, function) – Refractive index of the waveguide. Either a constant (float), or a function that accepts one parameters, the wavelength, and returns a float of the refractive index. This is useful when doing wavelength sweeps and solving for the group velocity. The function provided could be a Sellmeier equation.
- angle (float) – The angle of the sidewall [degrees] of the waveguide. Default is 0 degrees (vertical sidewalls).
- n_clad (float, function) – Refractive index of the cladding. Either a constant (float), or a function that accepts one parameters, the wavelength, and returns a float of the refractive index. This is useful when doing wavelength sweeps and solving for the group velocity. The function provided could be a Sellmeier equation. Default is air.
- film_thickness (float, str) – The thickness of the film the waveguide is on. If the waveguide is a true ridge (fully etched), then the film thickness can be set to ‘wg_height’, otherwise the waveguide is a rib waveguide, and a float should be given specifying the thickness of the film.
Attributes Summary
epsnp.array – A grid of permittivies representing the permittivity profile of the structure. eps_funcfunction – a function that when passed a x and y values, returns the permittivity profile of the structure, interpolating if necessary. nnp.array – The refractive index profile matrix of the current slab. n_funcfunction – a function that when passed a x and y values, returns the refractive index profile of the structure, interpolating if necessary. xnp.array – The grid points in x. x_ctrfloat – The centre distance in x. x_ptsint – The number of grid points in x. xcnp.array – The centre points of the x points. xc_maxfloat – The maximum value of xc. xc_minfloat – The minimum value of xc. xc_ptsint – The number of points in xc. ynp.array – The grid points in y. y_ctrfloat – The centre distance in y y_ptsint – The number of grid points in y. ycnp.array – The centre points of the y points. yc_maxfloat – The maximum value of yc. yc_minfloat – The minimum value of yc. yc_ptsint – The number of points in yc. Methods Summary
add_slab(height[, n_background, position])Creates and adds a Slabobject.change_wavelength(wavelength)Changes the wavelength of the structure. write_to_file([filename, plot])Write the refractive index profile to file. Attributes Documentation
-
eps¶ np.array – A grid of permittivies representing the permittivity profile of the structure.
-
eps_func¶ function – a function that when passed a x and y values, returns the permittivity profile of the structure, interpolating if necessary.
-
n¶ np.array – The refractive index profile matrix of the current slab.
-
n_func¶ function – a function that when passed a x and y values, returns the refractive index profile of the structure, interpolating if necessary.
-
x¶ np.array – The grid points in x.
-
x_ctr¶ float – The centre distance in x.
-
x_pts¶ int – The number of grid points in x.
-
xc¶ np.array – The centre points of the x points.
-
xc_max¶ float – The maximum value of xc.
-
xc_min¶ float – The minimum value of xc.
-
xc_pts¶ int – The number of points in xc.
-
y¶ np.array – The grid points in y.
-
y_ctr¶ float – The centre distance in y
-
y_pts¶ int – The number of grid points in y.
-
yc¶ np.array – The centre points of the y points.
-
yc_max¶ float – The maximum value of yc.
-
yc_min¶ float – The minimum value of yc.
-
yc_pts¶ int – The number of points in yc.
Methods Documentation
-
add_slab(height, n_background=1.0, position='top')¶ Creates and adds a
Slabobject.Parameters: - height (float) – Height of the slab.
- n_background (float) – The nominal refractive index of the slab. Default is 1 (air).
Returns: The name of the slab.
Return type: str
-
change_wavelength(wavelength)¶ Changes the wavelength of the structure.
This will affect the mode solver and potentially the refractive indices used (provided functions were provided as refractive indices).
Parameters: wavelength (float) – The new wavelength.
-
write_to_file(filename='material_index.dat', plot=True)¶ Write the refractive index profile to file.
Parameters: - filename (str) – The nominal filename the refractive index data should be saved to.
- plot (bool) – True if plots should be generates, otherwise False. Default is True.