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

Differentiability in Two-Phase Flow Solver #10

Open
zsy54203 opened this issue Aug 27, 2024 · 0 comments
Open

Differentiability in Two-Phase Flow Solver #10

zsy54203 opened this issue Aug 27, 2024 · 0 comments

Comments

@zsy54203
Copy link

Hello, Thanks for your seminal work. As a beginner in differentiable physics, I have been studying your papers and code and have a question regarding the treatment of differentiability in the two-phase flow solver.

Firstly, I’m not an expert in CFD, so there may be misunderstandings on my part regarding your approach. I appreciate your understanding.

Specifically, how do you ensure the differentiability of the forward solver when using JAX's automatic differentiation? For instance, the Fast Marching Method is typically used to maintain the signed distance property of the level set function, but it introduces discontinuities due to its priority queue implementation. My understanding is that manual gradient replacement might be necessary in such cases, yet I didn’t find this in your code. Additionally, in two-phase flows, where topological changes can occur and alter the traversal order during reinitialization, these discontinuities might be even more pronounced.

  • I noticed that your reinitialization method references the work by G. Russo and P. Smereka (2000) on computing distance functions. Is this method inherently differentiable?

  • I also saw that you’ve recorded differentiable time-stepping operations in feedforward_utils.py for JAX's automatic differentiation, but I couldn’t find any manual handling of discontinuities in gradient computation.

I greatly appreciate your excellent work again and look forward to your response!

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

No branches or pull requests

1 participant