问题求解包含商的非线性方程

计算科学 非线性方程 收敛 宠物
2021-12-19 02:24:00

我有一组耦合的 PDE 需要作为更大问题的一部分来解决。我目前正在通过计算具有有限差分的空间导数并使用 PETSc 的非线性共轭梯度求解器来解决这个问题。这确实在绝对公差方面收敛,但是,当我开始考虑方程的结构时,我注意到了一个问题。

考虑

xF(x)=G(x)
在哪里F,G
F(x)=11+f(x)2
G(x)=f(x)1+f(x)2.
我们将解决f(x). (这不是我正在求解的方程之一,但它的结构相似,无论如何只是一个说明。)

什么会阻止非线性求解器,比如说,使f(x)越来越大,直到“信号”(残差)低于“噪声”(容差)水平?

我在自己的方程式中观察到了这种情况,我认为我的“收敛”可能不是真的。然而,求解器正在做它应该做的事情,以及我要求它做的事情。有没有办法解决这个问题?或者这根本不是问题?

1个回答

我们可以将方程改写为

2ff(1+f2)2=f1+f2

这减少到

f=1+f22

后者没有1+f2在分母中,所以它不应该有前面提到的数值问题,并且可以很容易地进行数值积分。

事实上,现在可以很容易地看出方程有一个平凡的解析解,这对于数值解验证总是有用的,

df1+f2=dx2

所以

arctan(f)=x2+const