Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

SOI directional coupler: Tidy3D comparison

Replicates Tidy3D’s directional coupler example. Silicon arms (n = 3.48, 0.22 µm thick, 30° sidewalls) on oxide (n = 1.45), air above. Layout from Tidy3D’s coupler.gds, dilated by 20 nm per side. Light enters port 1 (lower left). We find the wavelength where power splits evenly between ports 3 and 4. Tidy3D reports 1.53 µm with total transmission 0.990 at equivalent nres=15.

Setup

lumi backend: None

Simulate

Mesh is not watertight; plotting debug view
Mesh is not watertight; plotting debug view
Warning: boolean difference failed at index 1: Not all meshes are volumes!
Warning: boolean difference failed at index 2: Not all meshes are volumes!
showing modes for wavelength 1.4
mode Boundary conditions: 0000
<Figure size 800x600 with 1 Axes>
<Figure size 640x480 with 2 Axes>
wg/1.4 mode 0 (neff=2.245+0.000j)
saving mode to runs/SOI_coupler/modes/wg/1.4/0.npz
showing modes for wavelength 1.5354838709677419
mode Boundary conditions: 0000
<Figure size 640x480 with 6 Axes>
<Figure size 640x480 with 2 Axes>
wg/1.5354838709677419 mode 0 (neff=2.026+0.000j)
saving mode to runs/SOI_coupler/modes/wg/1.5354838709677419/0.npz
showing modes for wavelength 1.7
mode Boundary conditions: 0000
<Figure size 640x480 with 6 Axes>
<Figure size 640x480 with 2 Axes>
wg/1.7 mode 0 (neff=1.746+0.000j)
saving mode to runs/SOI_coupler/modes/wg/1.7/0.npz
using simulation folder runs/SOI_coupler
[Errno 2] No such file or directory: 'lumi'
========================================
backend using simulation folder runs/SOI_coupler
========================================
setting up simulation...
processing geometry bodies...
generating voxels...
voxelation: 7.558499 seconds (527.52 M allocations: 18.797 GiB, 25.21% gc time, 767.58% compilation time)
Yee mode λ=0.9118: neff 2.2087 -> 2.2136, overlap 0.9928, residual 5.8e-9
Yee mode λ=1.0: neff 2.0171 -> 1.9779, overlap 0.9898, residual 1.8e-9
Yee mode λ=1.1071: neff 1.8031 -> 1.6981, overlap 0.9795, residual 1.1e-9
making sources o1 ...
making monitors o1 o2 o3 o4 ...
========================================
run: runs/SOI_coupler
processor: GPU
cpu threads: 48

nres: 8.0
courant: 0.9
subpixel_smoothing: 1
  
boundaries: [:PML :PML; :PML :PML; :PML :PML]

sources
   o1: -9, -2.0, 0 

monitors
   o1: -8, -2, 0 
   o2: -8, 2, 0 
   o3: 8, 2, 0 
   o4: 8, -2, 0 

original size: (318, 109, 21)
padded size: (419, 145, 41)
cell count: 2,490,955

step size: 96.0 steps/period
source duration: 5.07 periods

max time: unbounded
energy decay threshold: 0.001

========================================
running simulation...
accumulating dft field...
period 10, decay: 0.96, 1.21 seconds/period
period 20, decay: 0.93, 0.027 seconds/period
period 30, decay: 0.91, 0.024 seconds/period
period 40, decay: 0.9, 0.032 seconds/period
period 50, decay: 0.87, 0.024 seconds/period
period 60, decay: 0.037, 0.024 seconds/period
period 70, decay: 0.001, 0.024 seconds/period
period 80, decay: 0.001, 0.024 seconds/period
period 90, decay: 0.001, 0.027 seconds/period
period 100, decay: 0.001, 0.024 seconds/period
period 109.33 stop on energy decay
simulation completed.
<Figure size 640x480 with 6 Axes>

Results

loading solution from runs/SOI_coupler
may take a minute if simulation folder is remotely mounted
50/50 at 1.528 um, total transmission 0.974
<Figure size 640x480 with 1 Axes>

Movie

Loading...