Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Hideousmon/SPLayout
Silicon Photonics Design Tools.
https://github.com/Hideousmon/SPLayout
dbs gdsii gdspy inverse-design layout silicon-photonics
Last synced: 2 months ago
JSON representation
Silicon Photonics Design Tools.
- Host: GitHub
- URL: https://github.com/Hideousmon/SPLayout
- Owner: Hideousmon
- License: gpl-3.0
- Created: 2021-05-22T09:11:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T09:43:27.000Z (3 months ago)
- Last Synced: 2024-04-13T23:58:53.786Z (3 months ago)
- Topics: dbs, gdsii, gdspy, inverse-design, layout, silicon-photonics
- Language: Python
- Homepage: https://splayout.readthedocs.io/en/latest/
- Size: 8.92 MB
- Stars: 39
- Watchers: 2
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.md
- License: LICENSE
Lists
- awesome_photonics - code
README
# SPLayout
[![GitHub repository](https://img.shields.io/badge/github-SPLayout-blue)](https://github.com/Hideousmon/SPLayout) [![GitHub license](https://img.shields.io/badge/lisence-GNU--3.0-green)](https://github.com/Hideousmon/SPLayout/blob/main/LICENSE) [![Language](https://img.shields.io/badge/make%20with-Python-red)]()SPLayout (**S**ilicon **P**hotonics **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](https://github.com/heitzmann/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](https://splayout.readthedocs.io/en/latest/).
## Inverse Design Examples
### Direct Binary Search
A polarization beam splitter inverse design example can be found [here](https://github.com/Hideousmon/SPLayout/tree/main/examples/inversedesign/PBS_DBS.py) .The [Extinction Ratio](__img/PBS_extinction_ratio.png) and [Transmission](__img/PBS_transmission.png) are comparable to the original [paper](https://doi.org/10.1038/nphoton.2015.80).
![process](__img/PBS_process.gif)## 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
### [History (Click Here)](https://github.com/Hideousmon/SPLayout/tree/main/history.md)