SiEPIC-Tools
SiEPIC-Tools copied to clipboard
Waveguide loss calculator
Objective: Based on the work of Enxiao Luan, implement a waveguide loss (dB/cm) calculator in KLayout using FDTD.
The approach is described in
- Figure 2 and Section 2.1 of the paper: Enxiao Luan, Han Yun, Loic Laplatine, Jonas Flueckiger, Yonathan Dattner, Daniel Ratner, Karen Cheung, and Lukas Chrostowski, "Sub-wavelength multi-box waveguide-based label-free sensors", SPIE Photonics West 2018
The model uses 3D-FDTD simulation using Bloch boundary conditions, for a small segment of the waveguide (greater than the correlation length). We introduce a rough surface element to each surface; for the side-wall, the rough surface consists of vertical streaks (since the roughness typically is transferred from the resist down the edge of the waveguide). We then perform 3D simulations and measure the decay time and calculate the loss. Two parameters that affect the properties of the scattering process are the correlation length (Lc) of the disorder and is typically 50 nm in silicon photonics, and the root-mean-square (RMS) roughness (σ), typically less than 2 nm.
The implementation in KLayout would be:
- Create a new layer "Simulation_3DFDTD_Bloch"
- User draws a rectangle around a small portion of the waveguide using this layer; user should leave enough cladding, and the length should be greater than the correlation length. provide documentation on what is required; for periodic structures (SWG) the rectangle should match the SWG period.
- user selects this rectangle to simulate it
- Menu item: SiEPIC | Simulation | Waveguide: Simulate propagation scattering loss (dB/cm)
- function looks for selected rectangle; error message otherwise.
- GUI presents parameters for:
- fabrication "technology" process pull-down, with data taken from WAVEGUIDE.xml: add new fields similar to MONTECARLO.xml (technology, ...):
- correlation length (sidewall roughness)
- correlation length (top roughness)
- roughness rms (sidewall)
- roughness rms (top)
- wavelength
- polarization
- Run simulation in FDTD then does: (similar code as SiEPIC.lumerical.fdtd.generate_component_sparam)
- export the geometries within the Simulation_3DFDTD_Bloch rectangle into FDTD
- add roughness to all sidewalls and top
- configure source (polarization), FDTD parameters
- run fast simulation for a range of k values to find the k that gives the correct wavelength; e.g., 4 points, curve fit wavelength vs. k, and interpolate to find correct k value
- run accurate simulation, extract decay time and dB/cm
- display in KLayout the dB/cm value, and save the value as a text label in the Simulation_3DFDTD_Bloch rectange, on layer Text.
Later:
- extract neff versus wavelength
- make a compact model in INTC for the waveguide, including neff vs. wavelength and the propagation loss.