-
Notifications
You must be signed in to change notification settings - Fork 758
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
Can Deepxde handle inputs in the form of x, y, z, t, U, I? #1899
Comments
Hello everyone, I am pleased to introduce our recent rewrite of the DeepXDE framework: the PINNx framework. We have just successfully tested all the examples. In these examples, problems can be defined as explicit variables, and derivatives can be more intuitive to obtain. Below is a simple example: def pde(x, y):
jacobian = net.jacobian(x)
hessian = net.hessian(x)
u_vel, v_vel, p = y['u_vel'], y['v_vel'], y['p']
u_vel_x = jacobian['u_vel']['x']
u_vel_y = jacobian['u_vel']['y']
u_vel_xx = hessian['u_vel']['x']['x']
u_vel_yy = hessian['u_vel']['y']['y']
v_vel_x = jacobian['v_vel']['x']
v_vel_y = jacobian['v_vel']['y']
v_vel_xx = hessian['v_vel']['x']['x']
v_vel_yy = hessian['v_vel']['y']['y']
p_x = jacobian['p']['x']
p_y = jacobian['p']['y']
momentum_x = u_vel * u_vel_x + v_vel * u_vel_y + p_x - 1 / Re * (u_vel_xx + u_vel_yy)
momentum_y = u_vel * v_vel_x + v_vel * v_vel_y + p_y - 1 / Re * (v_vel_xx + v_vel_yy)
continuity = u_vel_x + v_vel_y
return momentum_x, momentum_y, continuity For more examples, please refer to https://github.com/chaobrain/pinnx/tree/main/examples. We have just completed testing all the examples in PINNx, and most examples in DeepXDE are now supported. However, since the framework was developed in a relatively short period, there may still be some issues. We welcome feedback from the DeepXDE community. Best |
This can be implemented using DeepONet or hypercubes. Collocation points for the 6-dimensional domain (4D spatiotemporal input with an additional 2D) need to be generated. Alternatively, the function space for the branch input can be arbitrarily generated, though modifications to the class for data loss definition are required. If you aim for model generalization across various input boundaries, the ZCS example ( |
Thanks for your feedback. Currently, the best example of For the operator learning, we indeed need to optimize the interface to make it more intuitive and customizable. Maybe this can be improved in the future. |
Thank you for your response, I will study the example you mentioned carefully. Also, you mentioned that the training time of over a week is based on CPU or GPU? |
Dear Lu Lu,
I have a question. When we use Physics Informed Neural Networks (PINN) to solve Partial Differential Equations (PDEs), the input for the geometric domain is x, y, z, and for the time domain, it's t. Now, I have constructed a three-dimensional flow field database with different inflow velocities (U) and turbulent intensities (I) using Computational Fluid Dynamics (CFD). I want to use data supervision and PINN to predict the flow field. Therefore, I need to modify the input to x, y, z, t, U, I, and the output to U, V, P. Can Deepxde handle inputs in the form of x, y, z, t, U, I?
Best regards.
The text was updated successfully, but these errors were encountered: