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

some questions about Geo-FNO #11

Open
gokhalen opened this issue Mar 20, 2024 · 2 comments
Open

some questions about Geo-FNO #11

gokhalen opened this issue Mar 20, 2024 · 2 comments

Comments

@gokhalen
Copy link

@zongyi-li

I'm reading your paper on learned deformations.

Could you please check if my following understanding is correct?

In Geo-FNO, the input mesh is regarded as coming from some probability distribution. By sampling this probability distribution, we generate training data on different meshes. The neural network $\phi^{-1}_a$ learns to map these sampled meshes into a latent uniform space. When we encounter a new mesh, we use the learned neural network $\phi^{-1}_{a}$ to approximately map the new mesh into a uniform grid in latent space, where standard FNO operates and then we map the solution back into the physical domain. Since the mapping to the latent space $\phi^{-1}_{a}$ is not perfect, this may be a source of (small) error.

Also, I have the following questions:

  1. In equation (12) is $|\mathcal{T}^i|$ the volume/area of the mesh? Why is it in the denominator? Why is it necessary while going from (11) to (12) by approximating the integral? A simple approximation of the integral wouldn't have it in the denominator...

  2. What exactly is $\rho_a(x)$?

  3. I'm looking at the definition of $\phi^{-1}_a$ here and it doesn't seem that anything special is done to make sure that the output of $\phi^{-1}_a$ is uniform. It seems to learn to produce uniform output as a result of training. Is this correct?

Thanks,

-Nachiket

@zongyi-li
Copy link
Collaborator

Hi Nachiket,
Thank you for the question and sorry for the delayed response. Yes your understanding is correct. For your questions

  1. T^i is the input meshes and |T^i| is the number of points |{x}| in the meshes. m(x)/|T^i| corresponds to dx in the Riemann sum.
  2. \rho is the density of the input meshes. For example, if the input mesh is uniform, \rho(x) = 1, Otherwise, consider a cosine mesh (Chebshev node) on [-1, 1], x_i = cos(2pi i/N) and rho(x) ~ cos'(2pi x) = 2pi sin(2pi x).
  3. Right, so far we don't have any techniques to make sure the output is uniform, but we will use a uniform FFT that implicit assume the output is uniform. It will be interesting to add other techniques, for example adding the laplacian as a loss.

@gokhalen
Copy link
Author

gokhalen commented Apr 16, 2024

@zongyi-li

Thank you very much for your response. Still not clear about point 2, but let me think about it. Perhaps it will be useful for me to take a look at the code.

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

2 participants