gds_fdtd is a minimal Python module to assist in setting up FDTD simulations for planar nanophotonic devices using FDTD solvers such as Tidy3D.
- Automated FDTD Setup: Easily set up Lumerical and Tidy3D simulations for devices designed in GDS.
- Integration with SiEPIC: Generate FDTD simulations directly from components defined in SiEPIC EDA and it's associated PDKs (e.g., SiEPIC-EBeam-PDK).
- Integration with gdsfactory: Generate Tidy3D simulations directly from gdsfactory designs by identifying ports and simulation regions from an input technology stack.
- S-Parameter Extraction: Automatically generate and export S-parameters of your photonic devices in standard formats.
- Multimode/Dual Polarization Simulations: Set up simulations that support multimode or dual polarization configurations for advanced device analysis.
You can install gds_fdtd using the following options:
pip install gds_fdtdTo install the core functionality of gds_fdtd, clone the repository and install using pip:
git clone git@github.com:mustafacc/gds_fdtd.git
cd gds_fdtd
pip install -e .For contributing to the development or if you need testing utilities, install with the dev dependencies:
git clone git@github.com:mustafacc/gds_fdtd.git
cd gds_fdtd
pip install -e .[dev]This will install additional tools like pytest and coverage for testing.
pip install -e .[dev]| extra | purpose | install command |
|---|---|---|
| siepic | SiEPIC EDA support | pip install -e .[siepic] |
| tidy3d | Tidy3D simulation support | pip install -e .[tidy3d] |
| gdsfactory | GDSFactory EDA support | pip install -e .[gdsfactory] |
| prefab | PreFab lithography prediction support | pip install -e .[prefab] |
| everything | dev tools + all plugins | pip install -e .[dev,tidy3d,gdsfactory,prefab,siepic] |
- Python ≥ 3.11
- Runtime deps: numpy, matplotlib, shapely, PyYAML, klayout
If you've installed the dev dependencies, you can run the test suite with:
pytest --cov=gds_fdtd tests