Codes of the custom edge-guided analog-and-digital optimization algorithm for the inverse design of silicon photonic devices. These are supporting materials for "Edge-guided inverse design of digital metamaterials for high-capacity multi-dimensional optical interconnect" submitted to Nature Communications. Any requests and questions can contact Dr.Sun (alsun22@m.fudan.edu.cn)
This repository contains the necessary scripts and functions for running the optimization and analysis of photonic devices using Lumerical FDTD simulations.
The project requires Python 3.6 and specific dependencies outlined below, as well as the Lumerical FDTD software with a valid license. The version used in this project is 2023R2.2.
Python Version: 3.6
lumopt
lumapi
splayout
Lumerical FDTD: Download and install the Lumerical FDTD software (version 2023R2.2) and ensure access to a valid license.
The repository is structured as follows:
main.py: The main program that orchestrates the optimization process and calls the required functions and scripts. Start your execution here.
Files starting with func_: These are Python functions that provide modularized and reusable logic for the optimization process.
Files starting with base_: These are Lumerical script files used for interaction with the Lumerical FDTD software.
Files starting with appendix_: Auxiliary programs used after the optimization process, such as visualization (e.g., plotting) or additional post-processing.
Install Python 3.6 and ensure that the required dependencies are installed.
Download and install the Lumerical FDTD software (2023R2.2). The estimated installing time is 1 hour. Ensure that you have access to a valid license.
The lumopt and lumapi libraries are installed automatically with the software. Instructions for implementation can be found at https://optics.ansys.com/hc/en-us/articles/360041873053-Session-management-Python-API
Ensure that Lumerical's FDTD software is properly installed and added to your system's PATH.
Make sure your license for Lumerical FDTD is active and valid before running the scripts.
For troubleshooting, please check the documentation of the libraries (lumopt, lumapi, splayout) and the Lumerical FDTD software.
We upload a demo file "demo.fsp" which can be used to reproduce the device performance of the inverse-designed five-mode MUX. The estimated running time is less than 60 seconds using GPU acceleration. To run the .fsp file, Lumerical FDTD must be successfully downloaded with a valid license.