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

Helmholtz_PINN_dirichlet_2d robin_2d 边界条件处理 #438

Open
xiaoyanyan97 opened this issue Sep 22, 2023 · 7 comments
Open

Helmholtz_PINN_dirichlet_2d robin_2d 边界条件处理 #438

xiaoyanyan97 opened this issue Sep 22, 2023 · 7 comments
Assignees

Comments

@xiaoyanyan97
Copy link

  • image

a19c7cde50069442e5637435ab0d205

老师,我看着这两个代码,发现Helmholtz_PINN_dirichlet_2d的loss没加边界条件,robin_2d加了边界条件,请问这是为什么呢?

还有一个问题需要您的帮助,请问poisson2d的带robin边界条件的代码怎么处理呀,我自己没能解决这个问题

@AlbertZyy
Copy link
Collaborator

  1. Helmholtz_PINN_dirichlet_2d 的 loss 没加边界条件:这是因为在 dirichlet 情形里,我们采用了 TFC(Theory of Functional Connection),使得模型天然满足边界条件。具体功能由BoxDBCSolution类实现。
  2. 关于 robin 边界条件:对于任何边界条件,一般只需要构造出条件式左边减右边的均方值即可。

@xiaoyanyan97
Copy link
Author

老师,感谢您的回答。但是,我就是robin边界条件在代码中左端如何表示不会写

@AlbertZyy
Copy link
Collaborator

在 Robin 条件中有关梯度的部分,可以参考这些算例在 pde 损失项的计算中,是如何对模型进行求导的;有关函数值的部分则和 Dirichlet 条件一样。

@AlbertZyy AlbertZyy self-assigned this Sep 24, 2023
@xiaoyanyan97
Copy link
Author

好的老师,谢谢您。
还有个问题就是,Helmholtz这个代码中,为什么区分实部和虚部,请问他具体的方程是什么

@AlbertZyy
Copy link
Collaborator

  1. 因为模型的数据类型是 float64,所以需要两个模型分别训练成 PDE 解的实部和虚部;
  2. 具体方程定义在名为 pde 的函数里。

@zhangxuebin1
Copy link

你好想问一下pinn求解频域helmholtz其中一个边界条件是dp/dx-iZnCUnK*ρ=0,Zn=1,ρ=1.259,C=340,K=10,Un=10,边界条件包括虚数i,这该怎么处理?

@zhangxuebin1
Copy link

  1. 因为模型的数据类型是 float64,所以需要两个模型分别训练成 PDE 解的实部和虚部;
  2. 具体方程定义在名为 pde 的函数里。

你好想问一下pinn求解频域helmholtz其中一个边界条件是dp/dx-iZnCUnK*ρ=0,Zn=1,ρ=1.259,C=340,K=10,Un=10,边界条件包括虚数i,这该怎么处理?

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

3 participants