EME: Taper

The simplest EMode example of an EME simulation.

This code example is licensed under the BSD 3-Clause License.

  • Python
import emodeconnection as emc

## Set simulation parameters
wavelength = 1550 # [nm] wavelength
dx, dy = 20, 20 # [nm] resolution
h_core = 220 # [nm] waveguide core height
h_clad = 1000 # [nm] waveguide top and bottom clad

window_width = 4000
window_height = h_core + h_clad*2

num_modes = 10 # [-] number of modes
BC = 'TE'

## Connect and initialize EMode
em = emc.EMode(verbose = True)

## Settings
em.settings(
    wavelength = wavelength, x_resolution = dx, y_resolution = dy,
    window_width = window_width, window_height = window_height,
    num_modes = num_modes, boundary_condition = BC,
    background_material = 'SiO2')

## Draw shapes
em.shape(name = 'BOX', material = 'SiO2',
    height = h_clad)
em.shape(name = 'core', material = 'Si',
    height = h_core, etch_depth = h_core)

## Launch FDM solver and label profiles
em.shape(name = 'core', mask = 1000)
em.FDM(profile = 'a')
em.report()
em.plot()

em.shape(name = 'core', mask = 2000)
em.FDM(profile = 'b')
em.report()
em.plot()

## Draw EME sections
em.straight_section(
    profile = 'a',
    length = 2000)

em.taper_section(
    profile = 'a', profile_end = 'b',
    length = 8000)

em.straight_section(
    profile = 'b',
    length = 2000)

## Run EME and plot results
em.EME()
em.plot()
em.plot_S_matrix()

## Close EMode
em.close()

Console output:

EMode3D 1.0.1 - email
Meshing completed in 0.2 sec
Solving modes completed in 0.6 sec

Wavelength: 1550.0 nm

  Mode #     n_eff    TE %    Loss (dB/m)
--------  --------  ------  -------------
    TE-0  2.744942  99.8 %          0.000
    TE-1  1.819117  92.4 %          0.000
    TM-2  1.665347  11.8 %          0.000
    TE-3  1.421518  99.9 %          0.000
    TE-4  1.368426  88.0 %          0.000
    TM-5  1.359634  12.8 %          0.000
    TE-6  1.321504  99.9 %          0.000
    TM-7  1.279963   2.4 %          0.000
    TE-8  1.250897  98.7 %          0.000
    TE-9  1.189492  95.8 %          0.000

Meshing completed in 0.2 sec
Solving modes completed in 0.4 sec

Wavelength: 1550.0 nm

  Mode #     n_eff     TE %    Loss (dB/m)
--------  --------  -------  -------------
    TE-0  2.821143  100.0 %          0.000
    TE-1  2.606186   99.7 %          0.000
    TE-2  2.123806   98.2 %          0.000
    TM-3  1.939095    4.9 %          0.000
    TM-4  1.565613   16.9 %          0.000
    TE-5  1.441070   89.8 %          0.000
    TE-6  1.391478   82.7 %          0.000
    TE-7  1.362128   66.6 %          0.000
    TM-8  1.333348   48.1 %          0.000
    TE-9  1.285430   69.6 %          0.000


Solving S-matrices...
Solving section: 1... completed in 0.0 sec
Solving section: 2...
Solving slice at 4000.0 nm... completed in 0.6 sec
Solving slice at 6000.0 nm... completed in 0.5 sec
Solving slice at 2000.0 nm... completed in 0.6 sec
Solving slice at 7000.0 nm... completed in 0.6 sec
Solving slice at 5000.0 nm... completed in 0.5 sec
Solving slice at 3000.0 nm... completed in 0.6 sec
Solving slice at 1000.0 nm... completed in 0.6 sec
Solving slice at 7500.0 nm... completed in 0.6 sec
Solving slice at 6500.0 nm... completed in 0.5 sec
Solving slice at 5500.0 nm... completed in 0.5 sec
Solving slice at 4500.0 nm... completed in 0.5 sec
Solving slice at 3500.0 nm... completed in 0.5 sec
Solving slice at 2500.0 nm... completed in 0.5 sec
Solving slice at 1500.0 nm... completed in 0.5 sec
Solving slice at 500.0 nm... completed in 0.5 sec
Solving slice at 7750.0 nm... completed in 0.5 sec
Solving slice at 7250.0 nm... completed in 0.5 sec
Solving slice at 6750.0 nm... completed in 0.5 sec
Solving slice at 6250.0 nm... completed in 0.5 sec
Solving slice at 5750.0 nm... completed in 0.5 sec
Solving slice at 5250.0 nm... completed in 0.5 sec
Solving slice at 4750.0 nm... completed in 0.5 sec
Solving slice at 4250.0 nm... completed in 0.5 sec
Solving slice at 3750.0 nm... completed in 0.5 sec
Solving slice at 3250.0 nm... completed in 0.5 sec
Solving slice at 2750.0 nm... completed in 0.5 sec
Solving slice at 2250.0 nm... completed in 0.5 sec
Solving slice at 1750.0 nm... completed in 0.5 sec
Solving slice at 1250.0 nm... completed in 0.5 sec
Solving slice at 750.0 nm... completed in 0.5 sec
Solving slice at 250.0 nm... completed in 0.5 sec
Solving slice at 6125.0 nm... completed in 0.5 sec
Solving slice at 5875.0 nm... completed in 0.5 sec
Solving slice at 5375.0 nm... completed in 0.5 sec
Solving slice at 5125.0 nm... completed in 0.6 sec
Solving slice at 4375.0 nm... completed in 0.5 sec
Solving slice at 4125.0 nm... completed in 0.5 sec
Solving slice at 3875.0 nm... completed in 0.5 sec
Solving slice at 3625.0 nm... completed in 0.5 sec
Solving slice at 3375.0 nm... completed in 0.5 sec
Solving slice at 3125.0 nm... completed in 0.6 sec
Solving slice at 2875.0 nm... completed in 0.6 sec
Solving slice at 2625.0 nm... completed in 0.5 sec
Solving slice at 2375.0 nm... completed in 0.6 sec
Solving slice at 5437.5 nm... completed in 0.5 sec
Solving slice at 5312.5 nm... completed in 0.5 sec
Solving slice at 5187.5 nm... completed in 0.5 sec
Solving slice at 4312.5 nm... completed in 0.5 sec
Solving slice at 4187.5 nm... completed in 0.6 sec
Solving slice at 2562.5 nm... completed in 0.5 sec
Solving slice at 2312.5 nm... completed in 0.5 sec
Solving slice at 4218.8 nm... completed in 0.5 sec
 completed in 36.0 sec
Solving section: 3... completed in 0.0 sec
 completed in 36.0 sec
Exited EMode

Figures:

../_images/Ex_a.png
../_images/Ex_b.png
../_images/Ex_taper.png
../_images/EM_S10_abs2.png