The library only depends on numpy and PyTorch, although drawing figures requires the installation of matplotlib. You can easily install these libraries via:
pip install numpy torch matplotlib
The above simple installation may be not ideal on some platforms, so we suggest you to take a look at:
- stable and fast differentiable rcwa
- no relaxation needed for repeated eigenvalues
- fast fourier factorization (fast convergence for small number of harmonics)
- analytical Fourier transform (converge for low-resolution grid)
- topological optimization
- level set optimization
- support for many different geometries (rectangle, boolean operator)
- new algorithms for PIC design (coming soon)
permittivity distribution | mode Ex, Ey, Hx, Hy |
---|---|
designed permittivity | loss curve |
---|---|
designed permittivity | loss curve |
---|---|
designed permittivity | loss curve |
---|---|
The respository contains the work from multiple publications, for the RCWA part, please consider cite the paper in
Ziwei Zhu, and Changxi Zheng. Differentiable Scattering Matrix for Optimization of Photonic Structures. Optics Express 28.25 (2020).