/SPLayout

Silicon Photonics Design Tools.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

SPLayout

GitHub repository GitHub license Language

SPLayout (Silicon Photonics Layout Design Tools) is a package for silicon photonics structures design. It provides commonly used silicon photonics structure classes for fast integration and pixelized blocks for inverse design and optimization. Some inverse design algorithms are also integrated in it like DBS (Direct Binary Search) and BBA (Binary Bat Algorithm).

The GDSII streaming is based on gdspy and FDTD simulation is executed on Ansys Lumerical.

Dependency

  • Python 3.6+
  • gdspy
  • scipy
  • numpy
  • (Ansys Lumerical for FDTDSimulation and MODESimulation)

Installation

use pip:

pip install splayout

or download from the source and build/install with:

python setup.py install

Documentation

The documentation can be found here.

Inverse Design Examples

Direct Binary Search

A polarization beam splitter inverse design example can be found here .The Extinction Ratio and Transmission are comparable to the original paper. process

References for Inverse Design Methods

[1] Mirjalili, S., Mirjalili, S.M. & Yang, XS. Binary bat algorithm. Neural Comput &Applic 25, 663–681 (2014). https://doi.org/10.1007/s00521-013-1525-5

[2] Shen, B., Wang, P., Polson, R. et al. An integrated-nanophotonics polarization beamsplitter with 2.4 × 2.4 μm2 footprint. Nature Photon 9, 378–382 (2015). https://doi.org/10.1038/nphoton.2015.80

[3] Christopher M. Lalau-Keraly, Samarth Bhargava, Owen D. Miller, and Eli Yablonovitch. Adjoint shape optimization applied to electromagnetic design. Opt. Express 21, 21693-21701 (2013). https://doi.org/10.1364/OE.21.021693 & https://github.com/chriskeraly/lumopt