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_fdtd
To 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