Adjoint solver with independent material parameters #1973
-
Hi! As mentioned in #1747, it should be possible to map a function to the material grid and backpropagate the gradients, however, I don't know how this could be done in my case. Currently I have mapped the material grid directly onto the geometry of the simulation. Is there a way to solve this while still using the existing adjoint solver implementation? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Yes and no. It depends on what you are really trying to do. Computing the gradient w.r.t. ε and σ directly is not currently supported out of the box. There are a lot of fundamental issues with this idea (for example, only part of the tensors for ε and σ are stored/used at each point, thanks to the Yee grid). The Keep in mind that the underlying goal of the adjoint solver is density-based topology optimization, which means the user is continuously interpolating between two materials. These materials can, in fact, contain susceptibilities, conductivities, etc. But the idea is to interpolate between two distinct materials without introducing any field instabilities. Based on your comment above, it sounds like you are interested in a different problem. It seems you don't care what the final materials look like. Rather, you just want to find the spatial permittivity and conductivity that maximize/minimize some objective function. One way to accomplish this is the interpolate between vacuum and an "artificial material" with an upper bound for the conductivity and permittivity. The material grid will linearly interpolate between these two materials, but in a way to ensure each simulation remains stable. This means you will still compute gradients w.r.t. the There's more discussion behind this idea in our recent Optics Express paper. |
Beta Was this translation helpful? Give feedback.
Yes and no. It depends on what you are really trying to do.
Computing the gradient w.r.t. ε and σ directly is not currently supported out of the box. There are a lot of fundamental issues with this idea (for example, only part of the tensors for ε and σ are stored/used at each point, thanks to the Yee grid). The
MaterialGrid
abstraction aims to simplify this issue.Keep in mind that the underlying goal of the adjoint solver is density-based topology optimization, which means the user is continuously interpolating between two materials. These materials can, in fact, contain susceptibilities, conduc…