-
Notifications
You must be signed in to change notification settings - Fork 12
Add grating coupler optimization with photonforge and autograd example #284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
thanks @bzhangflex ! Looks great. I just had a few pretty minor comments title : Autograd -> TidyGrad? maybe the way it is now is fine but a couple potential issues:
[18] (and others) we have an
pops up in other places, just FYI just for aesthetics, it is good to throw a I think it would be potentially useful to link to the other grating coupler inverse design notebooks. Or even to link to this notebook in the other GC notebooks, just for more visibility. Again an optional suggestion. Thanks a lot! |
Thanks @tylerflex! Great points re: the title and introductory information. I tweaked the title and added short descriptions of Photonforge and Tidygrad in the introduction, and also renamed the notebook to "TidyFab0GC" in anticipation of eventually being a part of a TidyFab series. Let me know what you think |
looks great! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for this! Looks really great. I have a few comments:
- Let's add a workflow diagram at the very top of the notebook to explain this relatively long notebook
- I would give td.Medium(permittivity=1.0, name="air") a name like "air" so later when it's printed it doesn't show all the pole residue stuff
- You can also print tech.extrusions
- I would maybe avoid "Currently, adjoint optimization is not integrated into PhotonForge." We can just say for this workflow we'll use the technology stack to construct a Tidy3D model. The benefit is that you can go from layout to geometry that you can adjoint optimize.
- For grid_spec there is an easier way to just do by just setting
pf.config.default_mesh_refinement = 12.0 - Explain the background simulation a little bit more. So all the things that are not going to change during optimization are built during this step right?
- Maybe break up the background section to show the background layout component so it's clear you are going from layout (2D) to 3D tidy3d structures
- Wherever possible link other notebooks or API references
- For the final result, the improvement with adjoint is not very big.
I am assuming you already checked different starting points?
How about broadband optimization, can the bandwidth be large while the insertion loss is the same?
No description provided.