Skip to content
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

JaxComplexPolySlab support #1675

Closed
tylerflex opened this issue May 3, 2024 · 1 comment
Closed

JaxComplexPolySlab support #1675

tylerflex opened this issue May 3, 2024 · 1 comment
Assignees

Comments

@tylerflex
Copy link
Collaborator

tylerflex commented May 3, 2024

Hey @yaugenst-flex can you take on this project after slab_bounds? I think it will be pretty natural after that issue and will get you more exposure to the wild world of tidy3d adjoint. Also was requested by a customer so will be a high impact feature. Thanks!

Basically the user may have some vertices that define a JaxPolySlab but become crossing under erosion / dilation / or sidewall extrusion. We currently use the ComplexPolySlab plugin to handle such cases, which lets the user split these crossing poly slabs into several individual ones. But this is not compatible with JaxPolySlab.

I think a simple test case can be a triangle PolySlab with several vertices and a sidewall_angle > 0. By adjusting the number of vertices and the sidewall_angle, we can trigger this validator to fail. A new JaxComplexPolySlab wrapper should allow us to split it into JaxPolySlab and let the user select one (or a few) to model in their JaxStructure.

Here's a notebook showing how complex polyslab works: https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.plugins.polyslab.ComplexPolySlab.html

After this one, I think we can start digging into a bit more long term projects, and architecture work with some minor improvements sprinkled in.

Thanks a lot!

@tylerflex
Copy link
Collaborator Author

@yaugenst-flex I take back what I said earlier about the ordering. This one might be a better introduction to #1117 because it won't really involve any gradient checking. Just need to make sure that we can create the JaxPolySlabs and the gradient information is retained. I might recommend you start with this issue as a JaxPolySlab intro

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants