You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To properly simulate metallic materials, conductivity needs to be implemented. This might make the inverse design with time-reversibility difficult, but it should at least be implemented as an optional feature for the forward simulation.
The text was updated successfully, but these errors were encountered:
Maybe under the current time reversal implementation for gradient computation, using complex values for permittivities would already present some instabilities? Perhaps whenever metallic materials and dispersive materials exist, the solver can switch to the recursive halving algorithm for auto differentiation?
I believe Maxwell's equations are actually no longer time-reversible with metallic or dispersive materials, so 'difficult' may have been an understatement in my initial comment. You can always switch the reversible_fdtd with the checkpointed_fdtd function call to use the recursive halving algorithm. We will add an error message when trying to use reversible gradient computation whenever it is not possible to do so.
Regarding complex permittivities, I did not test the stability yet. But, I think using jnp.complex64 data type instead of jnp.float32 should give similar stability. If you test that and get different results feel free to share this. It would be very interesting.
For the time plan, expect the implementation of conductivity to be done end of february
To properly simulate metallic materials, conductivity needs to be implemented. This might make the inverse design with time-reversibility difficult, but it should at least be implemented as an optional feature for the forward simulation.
The text was updated successfully, but these errors were encountered: