-
Notifications
You must be signed in to change notification settings - Fork 637
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
adjoint for ldos #2077
adjoint for ldos #2077
Conversation
Based on my testing so far, the ldos adjoint works for Gaussian sources, but not for EigenModeSource. The following issues are observed:
|
I think the derivative of the work done by an eigenmode source (or any Equivalence Principle) source should be zero (with respect to material perturbations that don't intersect the source plane). So maybe you are just looking at discretization errors (and it's not surprising that they don't agree)? Would be nice to check this, e.g. compute the power P for different perturbations of the material grid and verify that |δP/P| << 1 |
Correction: actually, the gradients are consistent using electric components but not magnetic components, regardless of the polarization.
I found that the gradients with EigenModeSource is around the same magnitude as with GaussianSource, and in both cases, gradients get smaller with larger resolutions. Since the gradients with GaussianSource make sense, I think the gradients with EigenmodeSource also needs to make sense.
I checked that using |
By |
Sorry for the confusion. By |
Looks good! Just needs some documentation? |
Implements the adjoint for ldos. Closes #2026 and closes #1401.