API Reference¶
This page provides an auto-generated summary of legume’s API.
legume¶
set_backend
(name)Set the backend for the simulations.
GuidedModeExp¶
Creating a simulation¶
GuidedModeExp (phc[, gmax, truncate_g]) |
Main simulation class of the guided-mode expansion. |
Attributes¶
GuidedModeExp.freqs |
Real part of the frequencies of the eigenmodes computed by the guided-mode expansion. |
GuidedModeExp.freqs_im |
Imaginary part of the frequencies of the eigenmodes computed by the guided-mode expansion. |
GuidedModeExp.eigvecs |
Eigenvectors of the eigenmodes computed by the guided-mode expansion. |
GuidedModeExp.coup_l |
Coupling to ‘te’ and ‘tm’ radiative modes in the lower cladding. |
GuidedModeExp.coup_u |
Coupling to ‘te’ and ‘tm’ radiative modes in the lower cladding. |
GuidedModeExp.kpoints |
Numpy array of shape (2, Nk) with the [kx, ky] coordinates of the k-vectors over which the simulation is run. |
GuidedModeExp.gvec |
Numpy array of shape (2, Ng) with the [gx, gy] coordinates of the reciprocal lattice vectors over which the simulation is run. |
Methods¶
GuidedModeExp.run (kpoints, [0]]), **kwargs) |
Compute the eigenmodes of the photonic crystal structure. |
GuidedModeExp.run_im () |
Compute the radiative rates associated to all the eigenmodes that were computed during GuidedModeExp.run() . |
GuidedModeExp.compute_rad (kind, minds) |
Compute the radiation losses of the eigenmodes after the dispersion has been computed. |
GuidedModeExp.get_eps_xy (z[, xgrid, ygrid, …]) |
Get the xy-plane permittivity of the PhC at a given z as computed from an inverse Fourier transform with the GME reciprocal lattice vectors. |
GuidedModeExp.ft_field_xy (field, kind, mind, z) |
Compute the ‘H’, ‘D’ or ‘E’ field Fourier components in the xy-plane at position z. |
GuidedModeExp.get_field_xy (field, kind, mind, z) |
Compute the ‘H’, ‘D’ or ‘E’ field components in the xy-plane at position z. |
GuidedModeExp.get_field_xz (field, kind, mind, y) |
Compute the ‘H’, ‘D’ or ‘E’ field components in the xz-plane at position y. |
GuidedModeExp.get_field_yz (field, kind, mind, x) |
Compute the ‘H’, ‘D’ or ‘E’ field components in the yz-plane at position x. |
GuidedModeExp.set_run_options ([…]) |
Set multiple options for the guided-mode expansion. |
PlaneWaveExp¶
Creating a simulation¶
PlaneWaveExp (layer, gmax, eps_eff) |
Main simulation class of the plane-wave expansion. |
Attributes¶
PlaneWaveExp.freqs |
Frequencies of the eigenmodes computed by the plane-wave expansion. |
PlaneWaveExp.eigvecs |
Eigenvectors of the eigenmodes computed by the plane-wave expansion. |
PlaneWaveExp.kpoints |
Numpy array of shape (2, Nk) with the [kx, ky] coordinates of the k-vectors over which the simulation is run. |
PlaneWaveExp.gvec |
Numpy array of shape (2, Ng) with the [gx, gy] coordinates of the reciprocal lattice vectors over which the simulation is run. |
Methods¶
PlaneWaveExp.run ([kpoints, pol, numeig]) |
Run the simulation. |
PlaneWaveExp.get_eps_xy ([Nx, Ny, z]) |
Get the xy-plane permittivity of the layer as computed from an inverse Fourier transform with the PWE reciprocal lattice vectors. |
PlaneWaveExp.ft_field_xy (field, kind, mind) |
Compute the ‘H’, ‘D’ or ‘E’ field Fourier components in the xy-plane. |
PlaneWaveExp.get_field_xy (field, kind, mind) |
Compute the ‘H’, ‘D’ or ‘E’ field components in the xy-plane at position z. |
Photonic crystal¶
Lattice (*args) |
Class for constructing a Bravais lattice |
Lattice.bz_path (pts, ns) |
Make a path in the Brillouin zone. |
PhotCryst (lattice, eps_l, eps_u) |
Class for a photonic crystal which can contain a number of layers. |
Layer (lattice, z_min, z_max) |
Class for a single layer in the potentially multi-layer PhC. |
ShapesLayer (lattice, z_min, z_max, eps_b) |
Layer with permittivity defined by Shape objects |
Geometry¶
Circle ([eps, x_cent, y_cent, r]) |
Circle shape |
Poly ([eps, x_edges, y_edges]) |
Polygon shape |
Square ([eps, x_cent, y_cent, a]) |
Square shape |
Hexagon ([eps, x_cent, y_cent, a]) |
Hexagon shape |
Visualization¶
viz.bands (gme[, Q, Q_clip, cone, conecolor, …]) |
Plot photonic band structure from a GME simulation |
viz.structure (struct[, Nx, Ny, Nz, …]) |
Plot permittivity for all cross sections of a photonic crystal |
viz.shapes (layer[, ax, npts, color, lw, pad]) |
Plot all shapes of Layer |
viz.eps_xz (phc[, y, Nx, Nz, ax, clim, cbar, …]) |
Plot permittivity cross section of a photonic crystal in an xz plane |
viz.eps_xy (phc[, z, Nx, Ny, ax, clim, cbar, …]) |
Plot permittivity cross section of a photonic crystal in an xy plane |
viz.eps_yz (phc[, x, Ny, Nz, ax, clim, cbar, …]) |
Plot permittivity cross section of a photonic crystal in an yz plane |
viz.eps_ft (struct[, Nx, Ny, cladding, cbar, …]) |
Plot a permittivity cross section computed from an inverse FT |
viz.reciprocal (struct) |
Plot the reciprocal lattice of a GME or PWE object |
viz.field (struct, field, kind, mind[, x, y, …]) |
Visualize mode fields over a 2D slice in x, y, or z |
GDS¶
gds.generate_gds (phc, filename[, unit, …]) |
Export a GDS file for all layers of a photonic crystal |
gds.generate_gds_raster (lattice, raster, …) |
Traces a rasterization projected onto a lattice to generate a GDS file |