有限差分法中的线性化:为什么?

计算科学 有限差分 非线性方程
2021-12-19 23:40:49

我有一个非常基本的问题,希望你们中的一些人能帮助我:在流体动力学中,一个经常出现的常见方程是所谓的连续性方程:

x(Thx)+R=Sht

其中是土壤基质的透过率,由乘积定义,其中是水头,是水力传导率(一个常数),是补给常数,是蓄水系数,另一个常数。在无约束情况(透射率随变化)的 FD 解中,该方程通常通过假设为常数而线性化。如果你忽略这个线性化并继续,你会得到:TKhhKRShT

x(Khhx)+R=Sht

现在我认为解决这个问题没有问题。不能仅仅应用微分的链式规则来获得......

Khxhx+Kh2hx2+R=Sht

...然后通过传统的中心差异和二阶中心差异来解决这些术语中的每一个?我可以看到这种解决方案对于隐式方案可能有问题,在第一项中你会得到一个平方,但是为什么在显式方案中没有这样做呢?h

1个回答

对于显式方案,这确实是有道理的——没有理由对显式项进行线性化。然而,正如其他人已经指出的那样,你会遇到扩散方程的显式方案的麻烦,因为时间步长必须选择与 在域中某处变小 ,则您需要选择非常小的时间步变大。此外,当然,将网格大小减小 2 倍需要您将时间步长减小 4 倍,这是不受欢迎的。

ΔtminxS(x)δx2T(x)minxS(x)δx2Kh,
Sh

由于这些原因,显式时间步长方法不常用于扩散方程。相反,人们想使用隐式方法来避免尴尬的 CFL 条件并采取大的时间步长,特别是如果人们期望在一段时间后解决方案找到某种平衡并且我们想要采取大的时间步长。

当然,如果您使用隐式方法,则必须以某种方式进行线性化,否则您最终会得到一个可能非常大的非线性系统系统——我们不知道如何解决这些问题,除非通过线性化程序将大型非线性问题简化为一系列大型线性问题。