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

Implementation of Conductivity #10

Open
ymahlau opened this issue Jan 21, 2025 · 2 comments
Open

Implementation of Conductivity #10

ymahlau opened this issue Jan 21, 2025 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@ymahlau
Copy link
Owner

ymahlau commented Jan 21, 2025

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.

@ymahlau ymahlau self-assigned this Jan 21, 2025
@ymahlau ymahlau added the enhancement New feature or request label Jan 21, 2025
@txdai
Copy link
Contributor

txdai commented Jan 21, 2025

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?

@ymahlau
Copy link
Owner Author

ymahlau commented Jan 22, 2025

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

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

No branches or pull requests

2 participants