描述流体运动的方程在一般情况下是非线性的守恒方程,并且不能对其进行解析求解。从物理的角度来分析,任何流体的流动均遵守三大基本定律:质量守恒、牛顿第二定律和能量守恒[ ]。这三大基本定律能够用数学方程的形式表达,最基本的形式可以是积分方程,也可以是偏微分方程。计算流体力学是一门以计算数学和理论流体力学为基础的交叉学科。计算流体力学是将这些积分型方程或偏微分型方程(根据具体情况而定)转换成离散代数形式,然后求解这些代数方程以得到离散的空间和时间点上的流场数值。计算流体力学的最终产品实际上是数字的集合体,而不是封闭形式的解析解,然而大多数工程分析的最终目标就是得到对问题的定量描述。计算流体力学的兴起使得许多原来被认为难以解决的问题都得到了不同程度的进展,大大促进了流体力学的发展。同时,计算流体力学是目前国际的一个研究热点,是进行传热、传质、动量传递及燃烧、多相流和化学反应研究的核心和重要技术,广泛应用于航空、航天、兵器、船舶、汽车、能源、医药、化工、环境、机械、电子等诸多工程领域[1]。
1.2 数值计算格式的发展
计算流体力学将描述流体运动的连续介质数学模型离散成大型代数方程[ ]。离散化是指将一个封闭的数学表达式,例如一个函数或者带有函数的微分或积分方程(它们都被看作是由一定范围内的无穷多个连续的值所组成的),用求解域内在有限离散点上或者控制体上取值的类似(但是不同的)的表达式来近似。流体力学偏微分方程的解析解具有闭合形式的表达式,它随着自变量在定义域中的变化而改变,但大多数情况无法求得解析解。如果控制方程中的偏微分都用近似的代数差商来表示,其中代数的差分表达式由流场中两个或两个以上离散网格点上的物理量的值来严格表示,那么原来的偏微分方程组就完全被一套可以求出流场中离散网格点上各物理量的值的差分方程所取代[1]。
数值方法的构造与研究在计算流体力学的数值模拟中具有非常重要的地位,对不同数值计算格式的选择决定了计算结果的精度。在流体力学和工程计算中,很多时候会遇到在求解区域内存在着一些物理量有很大的梯度变化或者间断情况的问题,如气动力学上的激波问题等[3]。关于激波数值处理,必须要考虑以下三个问题:(1)采用低阶差分格式计算时,激波会被抹平;而采用高阶差分格式进行计算时,激波会出现振荡。如何高分辨率地计算激波是关键问题。(2)计算激波容易产生非线性不稳定,该不稳定会急剧增长,导致计算失效。如何来确保计算稳定是重点要解决的问题。(3)激波数值处理可能会产生非物理解。如何能够保证数值解就是物理解,这是关注的焦点[4]。
国内外很多学者一直从事着激波数值处理问题的研究。在20世纪50年代,广泛采用各种一阶精度的差分格式来计算激波,特别是采用Lax提出的守恒型差分格式来自动捕捉激波间断,在理论上比较完善。但是这种计算格式也有缺陷:它的数值粘性较大。较大的数值粘性往往会使激波被抹平,导致激波的分辨率不高。后来,在20世纪60年代到70年代间开始广泛使用二阶精度差分格式。具有代表性的差分格式有:MacCormack差分格式、Lax-Wendroff差分格式、Warming-Beam差分格式等。计算实践表明,这些差分格式能够高分辨率捕捉激波,但是在激波附近会出现较大的振荡。20世纪80年代以来,Haren提出了总变差不增差分格式(即Total Variation Diminishing,TVD差分格式)[2],TVD格式具有二阶精度,是最具有代表性的高分辨率差分格式。这种差分格式是在反扩散概念基础上,采用通量修正方法构造的。TVD差分格式在理论上比较完善,捕捉激波分辨率高。虽然TVD格式具有高分辨率的优点,但这类格式的精度却不够高,并且在极值点附近通常只有一阶精度,而在多文情况下只能是一阶精度。TVD方法是以高分辨率的思想方法提出来的。但是,纵然能够得到高分辨率的图形,其中常常不可避免存在着微小的虚假振荡,何况含有虚假振荡的解也并不能算是真正的高分辨率。要求数值解的高分辨率的设计思想,应当在格式的设计中尽可能地减弱数值耗散性,甚至完全消除数值耗散效用。这样做的结果,又可能忽略了数值色散的群速度和相速度效用,而后者就是产生和隐含虚假振荡的机制[4]。因此,以Harten为首的数值数学家们,不久就开始注意和强调无振荡和本质无振荡的本质问题。随后发展出ENO格式和WENO格式。 WENO算法高精度计算格式在可压缩流中的应用(2):http://www.751com.cn/wuli/lunwen_21541.html