pde数值解和非线性方程三步

计算科学 pde 非线性方程 离散化 椭圆pde
2021-12-21 15:55:54

我正在尝试求解非线性椭圆方程

(n(u)u)=f(u)
并且有一个严重的误解。

我想求解一些非线性方程的过程包括:

  1. 选择适当的近似方法(FEM、FVM、FDM 等)。
  2. 所得非线性代数方程组的线性化。
  3. 选择求解代数系统的适当方法。

是否可以反转步骤 1 和 2,即我可以先线性化 PDE,然后才能执行一些离散化?所有这些步骤都是严格必要的吗?它们是否需要按此顺序进行?

2个回答

可以切换线性化和离散化。然后线性化发生在函数空间中,其中可以使用基于微分算子的 Fréchet 导数的牛顿方法。

对于每次牛顿迭代,都需要解决一个线性问题。在你的情况下,这个问题可能是椭圆的(取决于n)。对于实际计算,这个线性问题需要使用您选择的方法进行离散化(如果问题是椭圆的,可能是 FEM)。

由于牛顿迭代现在发生在函数空间中,只要前一个网格的网格转移算子(例如插值)可用,每个线性问题都可以在其自己的单独网格上求解。

对于每一个牛顿步,在空间离散化之后,需要求解一个线性方程组。这一步出现在最后,不能切换。

请参阅deal.ii 教程的第 15 步,了解此方法的一个已制定示例。

您不能反转步骤 1 和 2。因为不同的数值方法具有不同的线性化形式。