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
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!
The text was updated successfully, but these errors were encountered:
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!
The text was updated successfully, but these errors were encountered: