二维波动方程的一种高精度紧致差分方法

二维波动方程的一种高精度紧致差分方法
二维波动方程的一种高精度紧致差分方法

8-高阶紧致格式

§10. 高阶紧致差分格式 先考虑导数的差分近似。若某一差分近似的精度是 p 阶的,则近似的误差就是 () p h O 。要想进一步提高精度,通常有两种途径:减小 h (h -version )或是提高 p (p -version )。但由于计算机资源的限制,h 不可能无限地减小,因此在需要高精度流场计算的情形(如,粘性边界层、湍流等),就要考虑采用高阶格式。 通常情形,构造高阶格式需要更多的点。例如:两点差分近似 ()()() f x h f x f x h +-¢? 只有一阶精度。而使用三个点,就可以构造出二阶近似 ()()()() 2432f x h f x h f x f x h -+++-¢? 精度越高,需要的点就更多。对于中心差分近似也有类似的结果。 但是这种高阶近似用在差分格式中,除了计算公式更加复杂,计算量增加之外,还会造成其他困难。 例1:以一个简单的常微分方程初值问题为例。设 0a > 。 0du au dx += (01x < ) , ()0u =α 取 M 个网格,空间步长 1 h M = ,网格点记作 j x jh =(0,1,2,,j M =L ),网格点上的近似解记作 () j j u u x ? 。

因 0a > ,导数采用向后差分近似,就有 1 0j j j u u au h --+= (1,2,3,,j M =L ) 实际的计算方案为 0u =α , 11 1j j u u ha -= + (1,2,3,,j M =L ) 上述格式用到两个点,但只有一阶精度。如果采用二阶差分近似,则成为 12 340j j j j u u u au h ---++= (2,3,,j M =L ) 这个格式具有二阶精度。可是由于涉及三个点,所以只能从 2j = 开始计算。而初始条件只提供了 0u =α 。因此 1u 的计算就需要补充另外的等式。对于更为复杂的流动控制方程以及更复杂、精度更高的数值格式,这种问题就更加严重。 现在我们从另外一个角度来考察上述问题。将导数的近似值记作 j j du u dx ¢? ,则差分格式就可写成 0j j u au ¢+= 我们刚才所做的不过是用不同的差分来代替 j u ¢ 。因此,我们遇到的困难就是:用高阶差分代替 j u ¢ ,就会涉及更多的点。而我们的问题也就是:有没有不涉及更多点的高阶差分?

10-高阶紧致格式

§10. 高阶紧致差分格式 10.1 高阶差分 先考虑导数的差分近似。若某一差分近似的精度是 p 阶的,则近似的误差就是 () p h O 。要想进一步提高精度,通常有两种途径:减小 h (h -version )或是提高 p (p -version )。但由于计算机资源的限制,h 不可能无限地减小,因此在需要高精度流场计算的情形(如,粘性边界层、湍流等),就要考虑采用高阶格式。 构造高阶格式需要用到导数的高阶差分近似。通常情形,这需要更多的点。例如:两点差分近似 ()()() f x h f x f x h +-¢? 只有一阶精度。而使用三个点,就可以构造出二阶近似 ()()()() 2432f x h f x h f x f x h -+++-¢? 精度越高,需要的点就更多。对于导数的中心差分近似,也有类似的结果。 但是这种高阶近似用在差分格式中,除了计算公式更加复杂,计算量增加之外,还会造成其他困难。 例1:以一个简单的常微分方程初值问题为例。设 0a > 。 0du au dx += (01x < ) , ()0u =α

取 M 个网格,空间步长 1 h M = ,网格点记作 j x jh =(0,1,2,,j M =L ),网格点上的近似解记作 () j j u u x ? 。 因 0a > ,导数采用向后差分近似,就有 1 0j j j u u au h --+= (1,2,3,,j M =L ) 实际的计算方案为 0u =α , 11 1j j u u ha -= + (1,2,3,,j M =L ) 上述格式用到两个点,但只有一阶精度。如果采用二阶差分近似,则成为 12 340j j j j u u u au h ---++= (2,3,,j M =L ) 这个格式具有二阶精度。可是由于涉及三个点,所以只能从 2j = 开始计算。而初始条件只提供了 0u =α 。因此 1u 的计算就需要补充另外的等式。对于更为复杂的流动控制方程以及更复杂、精度更高的数值格式,这种问题就更加严重。 现在我们从另外一个角度来考察上述问题。将导数的近似值记作 j j du u dx ¢? ,则差分格式就可写成 0j j u au ¢+=

相关文档
最新文档