如何在牛顿法中应用 Neumann 边界条件

计算科学 有限元 有限差分 边界条件
2021-12-14 13:53:30

假设我有一组非常冗长乏味的微分方程。离散化后,我可以得到一个映射f:RNRN这样的解决方案ϕ=(ϕ0,...,ϕN1)离散微分方程的零点正好是f, IE,f(ϕ)=0.

现在说我想找到解决方案ϕ满足一些 Neumann 边界方程,例如,

ϕ1ϕ0dx=1
当然,我总是可以定义另一个函数
F(ϕ)=(ϕ1ϕ0dx1,f(ϕ)):RNRN+1
只需使用牛顿法F(ϕ). 然而,由于导数/雅可比DF在这种情况下不是方阵,事情有点复杂。有没有一种简单的方法可以修改牛顿方法以结合诺伊曼条件?

事实上,在这篇文章中,OP 处理 Dirichlet 边界条件,例如,ϕ0=0,, 通过删除行0雅可比式的Df并将其替换为雅可比行列式ϕϕ0,这就是狄拉克三角洲0, IE,(Df)0jδ0j. 这样,“修改后的”雅可比仍然是一个方阵。但是,如果我要替换行,这似乎不起作用0Df与雅可比行列式ϕ(ϕ1ϕ0)dx, IE,(Df)0jδ1jδ0j.

我还阅读了帖子,例如,here,他们将 Neumann 边界条件代入微分方程。然而,由于我f映射非常冗长乏味(不仅仅是简单的二阶导数),这对我来说手动操作会有点麻烦。

应用 Neumann 边界条件是否有任何简单的替代方法?

编辑实际上,我意识到我的代码中有一个错字。我的初始方法有效。

0个回答
没有发现任何回复~