Skip to content
Python based continuous adjoint optimization wrapper for Lumerical
Branch: release
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
QA Squashed commit of several new features and enhancements from Lumerical: Feb 20, 2019
docs Updated Docs and Recycle FDTD session Feb 28, 2019
lumopt Updated Docs and Recycle FDTD session Feb 28, 2019

Continuous adjoint optimization wrapper for Lumerical


This is a continuous adjoint opimtization wrapper for Lumerical, using Python as the main user interface. It is released under an MIT license. It is still work in progress and any contribution will be very welcome! New features to come out soon, and make it even easier to use (hopefully)!

If you use this tool in any published work, please cite and give a link to this repo. Thanks!

Tutorials, Examples, and Documentation

It is all here:


Make sure you have the latest version of Lumerical installed (it won't work correctly with older versions), and that lumapi (the python api) works

cd your/install/folder/
git clone
python develop

I would strongly recommend using jupyter notebooks to run optimizations.

First optimization

If you are not using jupyter notebooks:

cd your/install/folder/examples/Ysplitter

Otherwise copy your/install/folder/examples/Ysplitter/ into a notebook

You can’t perform that action at this time.