awesome_photonics
😎 curated list of open source photonics projects
https://github.com/joamatab/awesome_photonics
Last synced: 2 days ago
JSON representation
-
data analysis
-
electronics
- skidl: netlist formatting, writing, and reading
- code - kiel.de/elklive/elkgraph.html) - Javascript schematic editor.
- kicad PCB layout python
- VLSI placement
- Spice book
- skywater-pdk
- wcalc
-
lab automation
- PyVISA - Allows you to control the lab instruments with python. As the backend you can use NI or [PyVISA-py](https://pyvisa-py.readthedocs.io/en/latest/).
- docs
- PySerial - Issue simple serial commands (RS-232, RS485) to instruments (and read data).
- pymeasure
- autosweep
- measurement sequencer
- drivers
- lightlab
- instrumental
- pyrolab
- SiePIC lab
- hardware testing framework - Google
- pic-wafer
- laval python lab
- labrad
- autogator - camera-assisted motion control and experiment configuration of photonic integrated circuit interrogation platforms.
- autolab
- pic-wafer
-
layout
- docs - PDK)
- xsection, klayout-ipc, klayout-gadgets, lytest, lymask
- gds3xtrude
- masque
- klamath
- nazca
- klayout - Best open source layout viewer.
- gdsfactory - includes plugins to other tools.
- gplugins
- ubcpdk
- skywater130
- gf180
- vtt
- gdstk - faster than gdspy (from same author)
- pyphotonics
- gdspy based tools
- phidl - made for superconducting detectors
- picwriter
- BerkeleyPhotonicsGenerator
- Ayar cell generator
- klayout - layout viewer with python API
- kfactory
- zero-pdk - klayout pure python pdk.
- flayout
- KQcircuits - Quantum circuits pdk.
- siepic-tools - code driven PCells and GUI driven layouts.
- siepic-ebeam-pdk
- spicex: netlist extraction
- simplify polygons
- klayout python
- klayout cross-section in python - Port from ruby to python to xsection macro
- gdshelpers - includes superconducting detectors.
- dphox - includes 3D MEMs structures
- kweb
- GDS3D
- GDS2WebGL
- siepic-tools - code driven PCells and GUI driven layouts.
- picwriter
- flayout
- qiskit-metal - IBM superconducting based qubits.
- GDS3D
-
other links
-
simulation
- palace
- modes
- mpb - Bloch mode solver.
- wgms3d
- protis - Bloch mode solver (2D only), support for multiple backends (numpy/autograd/torch/jax)
- meep docker image - [code](https://github.com/mochen4/meepdocker)
- docs - Server is propietary.
- GSvit - GPU support
- gyptis - based on FEniCS, automatic differentiation with dolfin-adjoint
- nannos - support for multiple backends (numpy/autograd/torch/jax)
- Bempp - Open-source computational boundary element platform to solve electrostatic, acoustic and electromagnetic problems
- OpenModes - Mode solver for open electromagnetic structures based on the method of moments (MOM)
- pyGDM - Green dyadic method for nanophotonics, including evolutionary optimization
- inverse design
- [Paper - photonics/neurop_invdes)]
- TCAD
- devsim - Semiconductor Device Simulator
- BOSIM
- Charon - Paralell TCAD simulator. [GitHub mirror](https://github.com/tcadsoftware/charon)
- AOtools
- photontorch docs - [code](https://github.com/flaport/photontorch) - Includes time domain.
- scikit-rf RF simulator
- Princeton RF photonic notebooks
- Xyce - open source, SPICE-compatible, high-performance analog circuit simulator.
- PyNLO fork includes Chi2 simulation capabilities
- femwell
- elmer
- tidy3d
- EMpy
- philsol - Allows bends.
- pymode - Allows bends.
- pyMWM
- fdtdz
- meep FDTD
- meep ipkiss integration
- grating coupler example
- emopt FDTD
- Python 3D FDTD simulator - Written in PyTorch.
- spins FDFD on GPU
- ceviche (2D only) FDTD and FDFD
- jaxwell
- meow
- emepy
- CAMFR
- FMMAX
- S4
- grcwa - automatic differentiation included with autograd
- SiPANN (neural networks for photonics component design)
- glonet: global optimization based on generative neural networks
- wavetorch
- lumopt
- angler - Frequency-domain photonic simulation and inverse design optimization for linear and nonlinear devices.
- code
- code - Photonic inverse designs based on the FDFD simulator Ceviche
- NIDN - Inverse design of metamaterials, photonic crystals, ... using PyTorch
- Suprem4 - Process simulator (no python)
- pisces - Poison and continuity equation solver (no python)
- TCAD docker containers
- ray tracing
- rayopt
- simphox (FDTD, beamPropagation, circuit simulation)
- TMM
- code - Differentiable circuit solver.
- lekkersim
- simphony (linear circuit solver)
- opics
- SignalIntegrity (linear circuit simulation)
- code
- optiCommPy
- lcapy - Linear circuit analysis.
- pyspice
- openVAF - A
- Laserfun
- PyNLO
- PyGLLE
- PyLLE
- rii pandas
- optolithium
- notebooks
- dimmilitho
- keras based litho model
- waveprop
- lightpipes
- ngsolve
- khronos
- jax-fem
- wgms3d
- fdtdx
- Luminescent
- GSvit - GPU support
- ARTEMIS - High-performance FDTD solver coupled with magnetization dynamics (LLG), GPU-accelerated for microelectronics and superconducting devices
- inkstone
- Sipkit - A JAX-compatible toolkit providing fundamental waveguide and material properties to aid in the design of silicon photonic components.
- inverse design
- [Paper - photonics/neurop_invdes)]
- rayoptics - Optical design and analysis in Python
- optiland - Comprehensive optical design with GPU-accelerated ray tracing via PyTorch
- pyrate - Optical raytracing based on Python
- scattering tools
- tmmax
- PyElli - Toolkit for 1D optical simulations, with a focus on ellipsometry
- QAMpy - DSP chain for simulation and equalisation of optical communications signals
- pyspice
- VACASK - A
- TorchOptics
- POPPY - Physical Optics Propagation in Python for diffraction modeling
- prysm - Physical optics with integrated modeling, phase retrieval, segmented systems
- HCIPy - High Contrast Imaging for Python
- Poke - Polarization ray tracing and Gaussian beamlet module
- Lightening-Transformer: A Dynamically-operated Optically-interconnected Photonic Transformer Accelerator
- GetDP
- wakis - a 3D Time-domain Electromagnetic solver that solves the Integral form of Maxwell's equations using the Finite Integration Technique (FIT) numerical method.
- wakis - a 3D Time-domain Electromagnetic solver that solves the Integral form of Maxwell's equations using the Finite Integration Technique (FIT) numerical method.
- protis - Bloch mode solver (2D only), support for multiple backends (numpy/autograd/torch/jax)
- gyptis - based on FEniCS, automatic differentiation with dolfin-adjoint
- nannos - support for multiple backends (numpy/autograd/torch/jax)
- Bempp - Open-source computational boundary element platform to solve electrostatic, acoustic and electromagnetic problems
-
verification
-
Visualization
Programming Languages
Categories
Sub Categories
Keywords
python
24
photonics
15
optics
9
gdsii
9
simulation
9
eda
9
electromagnetics
6
cad
5
deep-learning
5
klayout
5
pytorch
4
gds
4
jax
4
optimization
4
diffraction
4
fdfd
4
physics
4
oasis
3
awesome
3
machine-learning
3
layout
3
circuit
3
solver
3
electronics
3
fem
3
physics-simulation
3
kicad
3
waveguide
3
fdtd
3
adjoint
3
microfabrication
3
jupyter-notebook
2
quantum-computing
2
asic
2
modeling
2
holography
2
silicon-photonics
2
inverse-design
2
wave-optics
2
circuit-simulation
2
finite-element-methods
2
pandas
2
finite-elements
2
parallel-computing
2
hardware
2
pcb-layout
2
nanofabrication
2
gds2
2
lithography
2
integrated-circuits
2