上次说了空间中心差分,时间显格式情况下的FVM,这次说一下时间隐格式情况下的处理。记得我在之前的内容中说过隐格式是无条件稳定的,并用Von Neuemann定理给出过证明,并说过隐格式不会出现违反物理意义的解,这里可以通过FVM的思想并通过对比显格式在物理上给出最直观的解释。
上一次,我做过的第三个假设中强调如果说时间步长无限小,那么就可以用其中一个时间点的值代替两个时间点之间的平均值。
同样观察这个式子,对于时间项,我们取两个时间点的平均值,并将平均值赋给了前的面已知时间点,这种操作叫做时间项的显式;相反如果我们赋值给了后面的时间节点,那么就叫做时间隐式格式,如下:
采用隐格式处理方程(1)
可以得到:
同样对于(2)式进行系数代换;
仍然可以发现有意思的是:
物理意义和之前的显格式是一样的。于是将(2)写成:
隐格式:
显格式:
观察这个隐格式和显格式p点在两个不同时层上,显格式0时层P处的系数是有可能为负数的,如果为负值它的物理含义就是:0时层P点的温度越高,那么下一时层P点的温度就会越低,这很明显是和物理现象相违背的;但是看隐格式,P处两个时层的关系,0
时层的系数只能是正数,不可能出现负数,所以这也说明了P处两个时层的关系只能是“正反馈关系”,符合真实物理意义,这也就从物理规律上说明了为什么隐格式没有违背物理规律的解。
同样处理上一节的问题:
中间的控制体,按照前面的结论有:
于是,得:
左边的控制体:
于是,有:
右侧的控制体:
于是,有:
于是,这个问题就转化成了如下方程组问题:
可以发现,隐格式的方程组和显格式的很相似,但是显格式,我们等式左侧全是未知,右侧全是已知;但是隐格式,等式左右都有未知量。
可以通过一些《数值分析》的方法求解:
将原方程组化简为如下形式:
由于这是典型的三对角矩阵,利用三对角矩阵法最合适TDMA!
1. TDMA算法
如果有了解过矩阵分解,那么对于这个TDMA就好理解了,可能觉得好像没学过?那么换个说法,“三角追赶法”那应该就熟悉一些了。这算法其实就是三角追赶法,而三角追赶法操作虽然有一丝丝的繁琐,但是理解不难,如果是在《数值分析》考试的时候,完全可以利用Doolittle分解或者Crout分解的思路去分析,虽然貌似公式可能和教科书上的有多少出入,但奈何速度快啊,填空题啥的还是靠谱的。
TDMA:假设有这么一个三对角矩阵:
按照这样的规律,可以总结出以下结论:
现在得到了每一个x的通式,最后要做的就是从xi开始回代xi-1,一直到x1.
于是直接用100个控制体去分析,结果如下图: