Skip to content

Coupled Waveguides

In this chapter, we'll explore how to use femwell for more accurate waveguide modeling. Unlike simpler analytical models, FEMWELL allows us to solve Maxwell's equations directly on the waveguide geometry.

Using femwell, you can mesh any component cross-section and solve PDEs with its powerful mode solver. Unlike other solvers that rely on predefined geometries, femwell works directly with the actual component geometry. You can compute the modes of a GDSFactory cross-section, which internally defines a "uz" mesh perpendicular to a straight component using the provided cross-section.

  1. import all the necessary packages:

```python import doModels.RefractiveIndex as ri import doModels.fem as fem import doModels.SemiAnalyticalCouplers as analyze

import matplotlib.pyplot as plt import numpy as np import xarray as xr from datetime import datetime

```

  1. Define photonic stack:

```python

stack = fem.CoupledWaveguides(gap=0.2, w_core_1=0.45, w_core_2=0.45, h_core=0.21, n_clad_func=ri.silica, n_core_func=ri.silicon)

```

  1. Mesh the geometry and visualize the stack

```python

a = fem.supermode_solver(coupled_waveguides=stack, wavelength=1.55, resolution=0.02, plot=True)

```

png

png

Refractive index of symmetric and asymmetric modes:
(2.3297588406490544+0j)
(2.2942685123334563+0j)
(1.7351629495693417+0j)
(1.5925393598084134+0j)

png

png

png

png