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.
- Python 3.6+
- gdspy
- scipy
- numpy
- (Ansys Lumerical for FDTDSimulation and MODESimulation)
use pip:
pip install splayout
or download from the source and build/install with:
python setup.py install
The documentation can be found here.
A polarization beam splitter inverse design example can be found here .The Extinction Ratio and Transmission are comparable to the original paper.
[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