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
Hi @lululxvi
I have been working on the problem above where the task is to learn the mapping from f --> c. Numerical and PI-DeepOnet solutions are in good agreement.
In the actual application though, u is part of another PDE which uses the same source f(x) and that PDE
is easy to solve. I am working on incorporating the right velocity from the sampled source function during training.
I can think of two ways:
(1) If we assume we get the velocity like "u = solve_u(x,source_fun)", we can use this solver during training
per sampled function to obtain the right velocity within pde_system. Apart from being slow, I also don't know how
to make such solver compatible with DeepXDE,i,e, differentiability of inputs etc.
(2) We can use the same solver to create a dataset of the form (f,u) before training. We can then load it to train
PI-DeepOnet. However, this case requires no sampling of source function, thus no function space etc. I tried to
create a custom PDEOperatorCartesianProd class to accommodate this case but I am going down to rabbit hole as this new
class has lots of compatibility issues within DeepXDE.
Is there any way we can solve this problem with the existing methods in DeepXDE. If not, I really appreciate if you can point
out to a direction I can handle this problem. Thank you!
The text was updated successfully, but these errors were encountered:
You may need to modify the data class to call the solver to get u in each iteration.
For the current version of PI-DeepONet, you may have to modify the code to accept the dataset directly instead of function space. Or you can just use DeepONet.
Hi @lululxvi
I have been working on the problem above where the task is to learn the mapping from f --> c. Numerical and PI-DeepOnet solutions are in good agreement.
In the actual application though, u is part of another PDE which uses the same source f(x) and that PDE
is easy to solve. I am working on incorporating the right velocity from the sampled source function during training.
I can think of two ways:
(1) If we assume we get the velocity like "u = solve_u(x,source_fun)", we can use this solver during training
per sampled function to obtain the right velocity within pde_system. Apart from being slow, I also don't know how
to make such solver compatible with DeepXDE,i,e, differentiability of inputs etc.
(2) We can use the same solver to create a dataset of the form (f,u) before training. We can then load it to train
PI-DeepOnet. However, this case requires no sampling of source function, thus no function space etc. I tried to
create a custom PDEOperatorCartesianProd class to accommodate this case but I am going down to rabbit hole as this new
class has lots of compatibility issues within DeepXDE.
Is there any way we can solve this problem with the existing methods in DeepXDE. If not, I really appreciate if you can point
out to a direction I can handle this problem. Thank you!
The text was updated successfully, but these errors were encountered: