跳转至

差分方程

差分方程

对于一个偏微分方程,采用有限差分来近似从而得到差分方程。

比如热传导方程

\[\frac{\partial{T}}{\partial{t}}=\alpha\frac{\partial^2T}{\partial x^2}\]

用一阶前差代替\(\frac{\partial{T}}{\partial{t}}\),得

\[\left(\frac{\partial{T}}{\partial{t}}\right)^n_i=\frac{T_i^{n+1}-T_{i}^{n}}{\Delta t}+\dots\]

n表示不同时间,i表示不同位置

用中心型差代替\(\frac{\partial^2T}{\partial x^2}\),得

\[\left(\frac{\partial^2T}{\partial x^2}\right)^n_i=\frac{T_{i+1}^{n}-2T_{i}^n+T_{i-1}^{n}}{(\Delta x)^2}-\dots\]

用有限差分表示该偏微分方程,有

\[\frac{T_i^{n+1}-T_{i}^{n}}{\Delta t}=\frac{T_{i+1}^{n}-2T_{i}^n+T_{i-1}^{n}}{(\Delta x)^2}\quad(1)\]

该方程即差分方程。

显格式

整合式(1),有

\[T_i^{n+1}=T^n_i+\alpha\frac{\Delta t}{(\Delta x)^2}(T_{i+1}^{n}-2T_{i}^n+T^n_{i-1})\]

通过该差分方程,只要知道初始时刻不同位置的值,就可以利用初值进行不断地推进求解,从而得到不同时刻的解。

显然,每一个差分方程都只含有一个未知数,因此可以直接求解,将这种格式的差分方程称为显格式,类似于显函数的定义

隐格式

整合式(1),把空间差分写成n和n+1时刻的平均,这样可得到一个隐格式

\[\frac{T_i^{n+1}-T_{i}^{n}}{\Delta t}=\alpha\frac{\frac{1}{2}(T_{i+1}^{n+1}+T_{i+1}^{n})-\frac{1}{2}(T_{i}^{n+1}+T_{i}^{n})+\frac{1}{2}(T_{i-1}^{n+1}+T_{i-1}^{n})}{(\Delta x)^2}\]

上述格式称为C-N格式

该格式包含了三个未知数(n+1时刻对应的3个值),因此不能单数求解需要将该方程所有点的表达式联立起来求解

显格式和隐格式比较

隐格式的求解比较复杂,那为什么还要用?

因为在显式方法中,需要给定一个合适的\(\Delta t\),如果\(\Delta t\)过大,推进求解就会不稳定,可能出现数值达到无穷大或者对负数开根号等无法计算的情况,因此会选取较小的\(\Delta t\),导致网格点增多,总计算时间延长。

隐式方法对\(\Delta t\)就没有这样的要求。