AESOP (Autonomous Exploration of Systems for Optics and Photonics) is an inverse-design framework for photonic systems and circuits.
- differentiable photonic circuit solver, with a library of standard, commercially available fiber components
- circuit analysis techniques, including noise simulation and gradient-based sensitivity analysis
- design of both system topology and parameters, using topology search methods and gradient-based parameter optimization
See the paper in Laser & Photonics Reviews here!
To install AESOP, clone the repository
and install dependencies via pip install -r requirements.txt
file.
from lib.graph import Graph
from simulator import *
propagator = Propagator(window_t=10/12e9, n_samples=2**14, central_wl=1.55e-6)
evaluator = RadioFrequencyWaveformGeneration(propagator, target_harmonic=12e9, target_waveform='saw')
nodes = {'source': TerminalSource(),
0: VariablePowerSplitter(),
1: VariablePowerSplitter(),
2: VariablePowerSplitter(),
3: VariablePowerSplitter(),
'sink': TerminalSink()}
edges = {('source', 0): ContinuousWaveLaser(),
(0, 1): PhaseModulator(),
(1, 2): WaveShaper(),
(2, 3): OpticalAmplifier(),
(3, 'sink'): Photodiode(),
}
graph = Graph.init_graph(nodes, edges)
graph.update_graph()
graph.initialize_func_grad_hess(propagator, evaluator, exclude_locked=True)
@article{MacLellan2024,
title = {Inverse Design of Photonic Systems},
volume = {18},
ISSN = {1863-8899},
url = {http://dx.doi.org/10.1002/lpor.202300500},
DOI = {10.1002/lpor.202300500},
number = {5},
journal = {Laser & Photonics Reviews},
publisher = {Wiley},
author = {MacLellan, Benjamin and Roztocki, Piotr and Belleville, Julie and Romero Cortés, Luis and Ruscitti, Kaleb and Fischer, Bennet and Azaña, José and Morandotti, Roberto},
year = {2024},
month = feb
}