水环境数值模拟—SIM PL E算法研究与进展范辉, 曾凡棠, 郭森(国家环境保护局华南环境科学研究所,广州 510655)摘 要:在查阅了众多国内外有关水环境数值模拟文献的基础上,重点考察应用SIMPL E类算法进行数值模拟并同时提出改进的研究。
从算法的收敛速度;校正方程;所采用的网格形式三个方面对SIMPL E算法以及在该算法的基础上经改进得到的SIMPL ER、SIM2 PL EC、SIMPL EX等SIMPL E类算法的研究状况进行了论述。
最后,在以上论述的基础上,对SIMPL E类算法的发展趋势进行了分析预测。
关键词:SIMPL E算法; 水位校正方程; 非交错网格中图分类号:X11 文献标识码:A 文章编号:100326504(2006)增20136204 用数值模拟的方法来描述流体的运动可以一直追溯到1919年,Defant最早应用一维数值计算方法计算近海浅水问题,,英吉利海峡的潮波解。
Hansen是第一个应用二维数值模型来模拟潮流的运动,于1956年应用二维全流模式模拟了北海的潮汐运动。
在国内,数值方法模拟潮流运动始于20世纪70年代,并于70年代末以后有大量研究成果问世。
目前,应用较多的模拟方法主要有:有限差分法、有限元法、控制体积法、边界拟合坐标法等。
本文论述的SIMPL E算法便是随着其中的控制体积法的提出而提出的。
1 控制体积法和SIMPL E算法简述1.1 控制体积法控制体积法基本思想是:将计算区域划分成若干个互不重迭的规则的正方形或矩形控制体,每个控制体包含一个计算格点(速度的控制体在各自的方向上与水位控制体错开半个网格),然后将连续方程和动量方程:5z 5t+5[u(z+h)]5x+5[v(z+h)]5y=0;5u5t+u 5u5x+v5u5y=f v-g5z5x-gu u2+v2c2(z+h)+ξx 2u+τx(z+h)ρ;5v5t+u 5v5x+v5v5y=-f u-g5z5y-gv u2+v2c2(z+h)+ξy 2v+τy (z+h)ρ 在每一个控制体积上进行积分。
这样,便可以获得一组包含了计算格点变量值的离散方程。
用该方法所得的离散方程表示了在有限控制体积上该变量的守恒原则。
1.2 SIM PL E算法在控制体积法提出的同时,将当时正在建立的计作者简介:范辉(1980-),男,硕士,研究方向为水环境数值模拟,(电话)020*********(电子信箱)fanhui0818@。
算流动场的方法取名为SIM PL E———对压力连接方程的半隐式方法。
SIM PL E算法属于以压力为基本变量的原始变量法。
其具体的步骤是(对二维情况):(1)给出试探的压力场P3;(2)求解动量方程:a e u e3=∑a nb u n b3+b+A e(p p3-p E3),a n v n3=∑a nb v n b3+b+A n(p p3-p N3),得到u3和v3;(3)求解压力校正方程:a p p p’=∑a nb p nb’+b,得到p p’;(4)由p=p’+p3求解压力p;(5)利用速度校正公式:u e=u e3+d e(p p’-p E’),v n =v n3+d n(p p’-p N’)和已知的u3和v3计算u和v;(6)如果其它的变量(如温度、浓度和湍流量)会影响流动场的话,就求解它们的离散方程;(7)把校正过的压力p作为新的试探压力p3,回到第二步,重复整个过程直至得到收敛解为止[1]。
自SIMPL E算法问世以来,其被广泛应用于求解不可压流体的Navier2Stocks方程,并且也被成功的应用在压缩流体流场的模拟计算中,成为国际上主要算法之一。
为了使SIMPL E算法能够更广泛的应用于流体力学及计算传热学中,各国研究者先后提出了许多改进SIMPL E算法的方案,以下是通过三个方面以及众多的研究实例对SIMPL E算法的研究进展进行论述。
2 SIMPL E算法的研究进展2.1 收敛速度的改进2.1.1 SIMPL ER算法Patanka等进一步提出了一个修正的算法———SIMPL ER[223]。
相对SIMPL E,在SIMPL ER算法中,压力校正方程的应用只是为了校正速度以及提供某些其他手段来得到一个改善的压力场,而并没有进行压力的校正。
对压力,采用直接求解压力方程的方法,因而没有引入近似,所以,如果给出正确的速度场的话,那么・631・SIMPL ER算法的压力方程将立即给出正确的压力。
因此,SIMPL ER算法有更快的收敛速度。
但是由于它除了要求解SIMPL E算法中的所有方程外,还要求解压力方程,因此带来了更大的计算量。
自SIM PL ER算法提出以来,对其的研究主要集中在加快收敛;提高计算精度;以及提出基于该方法的模型上。
例如李国斌[426]等将控制体积法联和SIM2 PL ER计算程式,分别研究了平面二维水深平均水流运动方程组和正交曲线坐标系下二维紊流全沙数学模型,发现控制体积法和SIM PL ER计算程序的结合,对提高稳定性以及加快收敛有积极的作用。
董耀华[7]基于SIM PL ER算法,建立了一套河口潮流河段二维非恒定流数学模型。
屈治国[8]等提出改进的SIM PL ER 算法,即将SIM PL ER算法与QU IC K差分格式(九点格式)结合,得到了更高的数值精度。
2.1.2 SIM PL EC算法Van Doormal等[9]提出了SIM PL EC算法———协调一致的求解压力耦合的半隐算法。
SIM PL EC算法的出发点是设法消除SIM PL E算法由于速度修正方程中忽略∑a nb u nb’和∑a nb v nb’项而造成的方程“不协调”问题,其以压力为基本求解变量,通过改变速度修正方程系数的定义:u e’=A ea e-∑a nb(p p’-p E’);v e’=A na n-∑a nb(p p’-p N’);部分地弥补了由于SIMPL E算法略去邻点速度修正对算法带来的“不协调性”的影响。
在应用该算法时,计算结果和收敛特性对压力项的处理非常敏感,若求解压力项时引入较大误差或边界处理不当,将会严重影响计算的收敛和结果的准确性[10]。
所以研究者在应用这种方法时,多采用曲线坐标或非正交网格来处理边界等问题,以弥补上述不足。
例如:Y.Wang等[11]利用SIM2 PL EC算法在非正交网格下模拟不规则腔体中的层流运动和压缩机中的湍流流动,并与SIMPL E算法作出比较后得出了更好的收敛率,同时也验证了SIMPL EC算法对不协调性的弥补作用。
沈永明等[12]提出采用正交曲线坐标下的SIMPL EC算法能更好地模拟复杂边界条件下的水流和泥沙运动,具有单元物理量守恒性好、废网格少和稳定性好等优点。
2.1.3 SIM PL EX算法Van Doormal等[13]再次提出了SIMPL EX算法,主要是通过计算代数方程组确定速度校正方程的系数d。
其主要思想是,将速度修正值的计算推广到邻点的速度修正公式,可得:u nb’=d nbΔp nb’;将上式带入SIM PL E算法的速度校正方程:a e u e’=∑a nb u nb’+A e(p p’-p E’);可得:a e d eΔp e’=∑a nb d nb’Δp nb’+A eΔp p’;假设Δp e’=Δp nb’,可得d e的方程:a e d e=∑a nb d nb+A e;类似的可以得到v’的系数d n的表示式。
其计算步骤与SIM PL E相同,不同的是在求解完u方程后立即求解d e方程,求解完v方程后立即求解d n方程,并用求得的d e,d n修正速度。
该算法针对某些问题其收敛速度优于SIM PL ER算法。
主要缺点是由于要求解d e 和d n方程组,增加了计算量。
对SIM PL EX算法,主要是与其它算法的比较性研究,例如:我国研究者李斌等[14]采用SIM PL EX算法对“二维环腔顶盖驱动流”、“环形空间自然对流”、“圆管内突扩通道内的流动”和“竖直正方形空腔内的自然对流”四个经典算例进行了不同网格疏密程度下的验证计算,并将结果与在相同条件下使用SIM PL E、SIM PL EC、SIM PL ER算法的计算结果进行了对比分析,得出了如下结论:综合考虑收敛性和健壮性(达到收敛时值α/(1-α)的变化范围大小,α为松弛系数),在网格较密(100×50~100×100)时,SIM PL EC是值得采用的方法。
2.1.4 其它几种改进算法王彤[15]提出了PISO算法,主要思想是对压力校正进行两步或者多步修正,从而加快收敛。
这是一种时间分裂算法,计算过程中得到的速度u和压力p对时间t的精度可根据每一时刻采用的校正步数来决定,即每一时间步长下校正次数越多,得到的u和p 对t的精度也就越高,所以其在每一时间步的计算精度高于SIM PL E算法。
随着非定常流动研究的深入, PISO算法将逐渐在非定常流动问题的求解中发挥更大的作用。
Yu B[16]对求解守恒形式的二维浅水方程的SIM2 PL E类程式进行了专门的研究,针对在求解明渠水流时,由于流速场与水深场成平方关系而非线性关系使得现行的流速校正公式对流速与水深的耦合关系产生了近似,从而导致了计算的不准确这一问题,采用控制体积法,由守恒形式的二维浅水方程导出差分方程,得到流速与水深的耦合关系,据此关系对SIMPL E类程序的流速校正公式进行改进。
改进的流速校正公式,更精确地反映了水流运动的物理机制以及流速校正对水位校正的依赖关系,比常用的流速校正公式更趋合理。
经算例表明:当水深变化较大时,此算法具有更快・731・的收敛速度。
郭航等[17]提出MSIM PL ER算法,用人为的改变亚松弛项的方法来满足当前迭代层次变量,以加快收敛速度。
Date AW[18]提出MSIM PL E算法,此算法同SIM PL EC算法一样,考虑由于略去邻点速度修正而带来的“协调性”问题,不同在于其对压力的初值及更新值采用单独求解压力方程的方法来完成。
2.2 针对压力校正方程的改进在SIM PL E算法中,压力校正方程是算法求解的关键,它不仅决定了算法的有效性,而且影响着整个求解过程的收敛。
Date A.W.[19]提出了一种光滑化压力校正方程的算法,可以在同位网格下计算非恒定流时有效避免棋盘式和“Z”字形压力场的出现,并在其以后的研究[20]中证明了该方法同时适用于结构和非结构网格。
王晓岛[21]亦是从该点入手,采用不忽略只近似的方法,使各节点速度校正量不完全相等但相互关联,故其“协调性”优于SIMPL EC。
主要缺点同样是计算量的增加。
另外,边界条件的正确处理又是求解压力校正方程的重要内容,但是由于其求解特殊性与隐蔽性,所以其重要性往往被忽略。