- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2-迭代与时间相关法
§3. 定常问题的迭代解法
1)在实际的计算中,网格点的数量非常多,需要求解大型的代数方程组。为此,可直接调用编程语言(C/C++、FORTRAN、Matlab等)的库来求解,也可使用下面讨论的迭代解法。
Laplace方程 的差分近似为
将它改写成
或
其中
当 时, 。
给定迭代的初始近似 ,最简单的迭代公式为
( )
称为简单迭代法。
2)简单迭代为给定迭代的初始近似 。
对 :
在流场内的每一个网格点(内点)上用迭代公式
进行计算。OABC、OE、ED上,可直接将边界条件指定的流函数值代入。
在边界 CD上的每一个网格点(不包括端点C、D)处,用公式 计算。
对所有网格点,计算 。
若 ,迭代收敛。 加 ,返回步骤3。
3))时,上一个网格点()处的流函数值已经从 更新为 ;而网格点()位于上一行,其流函数值也已经从 更新为 。迭代算法可以充分利用这些最新得到的结果,这样就构成了高斯-赛德尔迭代法
如果迭代计算的过程中对网格点的扫描是按其他顺序进行的,则上式右边会有所不同。但高斯-赛德尔迭代法的基本思路总是不变的,即:充分利用已经得到的最新结果。
采用高斯-赛德尔迭代法,通常能够加快迭代的收敛,但并不总是如此。甚至可以找到反例,对某种特定的代数方程组,用简单迭代法收敛,用高斯-赛德尔迭代法反而不收敛。
4) ,即
将它与 的加权平均作为迭代的结果
称为松弛法,式中的 ,称为松弛因子。
显然,当 时,松弛法还原成高斯-赛德尔迭代法。而当 时称为超松弛迭代,当 时称为亚松弛迭代。
§4.迭代的收敛性分析(不做要求)
1) 为差分方程的精确解(注意,不是原微分方程定解问题的精确解,这与舍入误差的稳定性分析类似), 次迭代近似。迭代误差可定义为
类似于稳定性分析的von Neumann方法,可设迭代误差具有如下形式
( , )
则 是迭代误差的大小,而 则代表了迭代误差的衰减方式。记
称为迭代的增长因子,则
于是:
迭代过程收敛的充要条件是增长因子 。
(注)稳定性只要求舍入误差得到控制,所以增长因子 就可以了。但迭代误差必须收敛到零,因此要求增长因子 。
不妨设 ,并设迭代收敛需要 次迭代,则上面的分析还给出 ,从而
由此可见,迭代次数与 成反比)当 时, 。
而差分方程的精确解满足关系式
两式相减,得
设迭代误差
代入上式
因 , ,所以
高斯-赛德尔迭代法
因 , ,所以
这表明,对于这里的代数方程组,高斯-赛德尔迭代法的 比简单迭代法大一倍,因而收敛得更快。
至于松弛法,只给出结论:
松弛法收敛的充要条件是 。
存在最优松弛因子 ,使得相应的 。这表明松弛法比简单迭代法和高斯-赛德尔迭代法收敛得快一个量级。
§5.时间相关法(时间推进算法)
再次回到简单迭代法
将它改写成
即
另一方面,考虑热传导方程
当 时,
稳定性条件为 ,即 。
两者相比较,能够看出:定常问题(Laplace方程)的简单迭代法可以与非定常问题(热传导方程)的显式格式相对应,而且简单迭代法使用了稳定性所能允许的最大时间步长 。
这种对比导出了时间相关法的基本思路:
时间相关法:对定常流动的数值模拟,可通过对相应的非定常流动控制方程进行数值求解来实现,只需让时间推进得足够大,流场充分地趋于定常。
时间相关法的思想可用于各种定常流动的数值模拟,而不是仅限于不可压流。这种方法的优点在于:
有些定常流动的控制方程是混合型的(如,跨音速流),难于处理。而相应的非定常流动,控制方程的类型是单一的(无粘流是双曲型的,粘性流是抛物型的),便于有效地求解。
有些定常流动的控制方程,在数学上还没有证明其解的存在惟一性(如,超音速无粘流)。而相应的非定常流动,这一数学问题已经得到了解决,从而保证了数值计算的可行性。
非定常流动有许多的算法(如ADI方法)
时间相关法更关心向定常推进(时间推进)的效率,对差分格式的时间精度要求不高。隐式格式的时间步长不受稳定性的限制,因而 在时间相关法中多使用隐式格式。
9
文档评论(0)