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.

Micro-ring resonator

Micro-ring resonator on silicon-on-insulator (SOI). Compare with Lumerical example: our results appear more accurate (higher Q and no splitting artifact) and run faster

Parameters

lumi backend: ~/Luminescent/bin/lumi
showing modes for wavelength 1.55
mode Boundary conditions: 0A00
<Figure size 800x600 with 1 Axes>
<Figure size 640x480 with 2 Axes>
mode/1.55 mode 0 (neff=2.191+0.000j)
saving mode to runs/ring/modes/mode/1.55/0.npz
using simulation folder runs/ring
<Figure size 640x480 with 6 Axes>
image.png

Solve

running Luminescent FDTD 4.2.3
========================================
backend using simulation folder runs/ring
========================================
setting up simulation...
processing geometry bodies...
generating voxels...
subpixel smoothing: 0.309962 seconds (15.67 M allocations: 679.104 MiB, 9.23% gc time)
making sources o1 ...
making monitors o1 o3 u1 ...
========================================
run: runs/ring
processor: CPU
cpu threads: 16

nres: 6.0
courant: 0.95
subpixel_smoothing: 1
  
boundaries: [:PML :PML; :PEC :PML; :PMC :PML]

sources
   o1: -4.8, 3.6, 0 

monitors
   o1: -2.8, 3.6, 0 
   o3: 4.8, 3.6, 0 
   u1: -2.8, 3.6, 0 

original size: (133, 63, 10)
padded size: (171, 66, 13)
cell count: 146,718

step size: 43.0 steps/period
source duration: 3.93 periods

max time: 1,000 periods    
max steps: 43,000
max load: 6,308,874,000 cell-steps
energy decay threshold: 0.003

========================================
running simulation...
accumulating dft field...
period 10, decay: 0.96, 0.17 seconds/period
period 20, decay: 0.93, 0.047 seconds/period
period 30, decay: 0.262, 0.046 seconds/period
period 40, decay: 0.18, 0.046 seconds/period
period 50, decay: 0.158, 0.045 seconds/period
period 60, decay: 0.104, 0.046 seconds/period
period 70, decay: 0.099, 0.045 seconds/period
period 80, decay: 0.085, 0.045 seconds/period
period 90, decay: 0.066, 0.045 seconds/period
period 100, decay: 0.064, 0.045 seconds/period
period 110, decay: 0.053, 0.045 seconds/period
period 120, decay: 0.048, 0.046 seconds/period
period 130, decay: 0.046, 0.045 seconds/period
period 140, decay: 0.038, 0.045 seconds/period
period 150, decay: 0.037, 0.045 seconds/period
period 160, decay: 0.035, 0.045 seconds/period
period 170, decay: 0.03, 0.046 seconds/period
period 180, decay: 0.029, 0.046 seconds/period
period 190, decay: 0.026, 0.045 seconds/period
period 200, decay: 0.024, 0.046 seconds/period
period 210, decay: 0.023, 0.045 seconds/period
period 220, decay: 0.021, 0.045 seconds/period
period 230, decay: 0.019, 0.046 seconds/period
period 240, decay: 0.019, 0.046 seconds/period
period 250, decay: 0.017, 0.045 seconds/period
period 260, decay: 0.017, 0.047 seconds/period
period 270, decay: 0.016, 0.046 seconds/period
period 280, decay: 0.014, 0.045 seconds/period
period 290, decay: 0.014, 0.046 seconds/period
period 300, decay: 0.013, 0.045 seconds/period
period 310, decay: 0.012, 0.046 seconds/period
period 320, decay: 0.012, 0.046 seconds/period
period 330, decay: 0.011, 0.046 seconds/period
period 340, decay: 0.011, 0.046 seconds/period
period 350, decay: 0.01, 0.045 seconds/period
period 360, decay: 0.01, 0.046 seconds/period
period 370, decay: 0.009, 0.045 seconds/period
period 380, decay: 0.009, 0.045 seconds/period
period 390, decay: 0.008, 0.045 seconds/period
period 400, decay: 0.008, 0.045 seconds/period
period 410, decay: 0.008, 0.046 seconds/period
period 420, decay: 0.007, 0.046 seconds/period
period 430, decay: 0.007, 0.046 seconds/period
period 440, decay: 0.007, 0.045 seconds/period
period 450, decay: 0.007, 0.046 seconds/period
period 460, decay: 0.006, 0.045 seconds/period
period 470, decay: 0.006, 0.046 seconds/period
period 480, decay: 0.006, 0.046 seconds/period
period 490, decay: 0.006, 0.046 seconds/period
period 500, decay: 0.006, 0.046 seconds/period
period 510, decay: 0.005, 0.046 seconds/period
period 520, decay: 0.005, 0.046 seconds/period
period 530, decay: 0.005, 0.046 seconds/period
period 540, decay: 0.005, 0.046 seconds/period
period 550, decay: 0.004, 0.046 seconds/period
period 560, decay: 0.004, 0.046 seconds/period
period 570, decay: 0.004, 0.046 seconds/period
period 580, decay: 0.004, 0.046 seconds/period
period 590, decay: 0.004, 0.045 seconds/period
period 600, decay: 0.004, 0.048 seconds/period
period 610, decay: 0.004, 0.048 seconds/period
period 620, decay: 0.004, 0.046 seconds/period
period 630, decay: 0.003, 0.046 seconds/period
period 640, decay: 0.003, 0.046 seconds/period
period 650, decay: 0.003, 0.045 seconds/period
period 660, decay: 0.003, 0.045 seconds/period
period 666.79 stop on energy decay
simulation completed.

Movie

Video generated successfully at runs/ring/Hz_0_None_0.webp!
Loading...

Results

S parameters

loading solution from runs/ring
may take a minute if simulation folder is remotely mounted
<Figure size 640x480 with 1 Axes>

Resonances

Peaks: 1520.00nm, 1548.50nm, 1577.50nm

FSR

FSR: 28.75nm

Q factor (FWHM method)

FWHM: 3.06nm
Q factor (FWHM method): 506

Early stopping (optional)

Can still get FSR and Q factor by stopping early. Saves time because high Q cavity takes long time to decay completely. Instead simulate for only long enough for resonances to settle into decay trend. Here, can set stop_decay=0.1

Stopping early in time domain convolves sinc blur in frequency domain. Can still extract resonances and FSR from blurred spectrum, but Q factor must be computed from time domain decay signal.

Q factor (time domain decay method)

<Figure size 640x480 with 1 Axes>
1577.17nm   Q = 457   |amp| = 0.00096   error = 1.0e-06
1548.37nm   Q = 576   |amp| = 0.00047   error = 2.3e-06
1519.70nm   Q = 619   |amp| = 0.00057   error = 2.0e-06