Update smoothed projection function #2970
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Here we update the smoothed projection function (
meep.adjoint.smoothed_projection()
) to be smooth as the interface leaves the pixel. We update the variable nomenclature to match our paper too.I reran all the waveguide crossing and the diffraction grating experiments. All the results (e.g. optimization evolutions, final design topology) look exactly the same (and I confirmed the new projection function is indeed being used here). So the CCSA algorithm is indeed robust to that kink we accidentally introduced in the function.
@hammy4815 can you try this new projection function on your experiment with gridap?