Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

中国环境与生态水力学2008

基于OpenFoAM的浅水流动和
物质输移扩散模拟

王智勇 朱德军 陈永灿

(清华大学水利水电工程系,北京 100084)

摘 要 在openFOAM基础上进行二次开发,建立了适用于平面二维浅水流动
和物质输移扩散过程模拟的数值模型,利用类似PIs0算法的“速度一水位”预
测校正法处理“速度一水位”耦合问题,采用水深平均的矗一£紊流模型封闭紊
动扩散项。将模型应用于侧向排放以及长江三峡水库涪陵磷肥厂污水排放问题进
行模型验证,计算结果与实测数据吻合良好。研究表明,OpenFOAM开源、易
于快速开发、用户群广的特点使其在水动力与水环境数值模拟研究中具有良好的
应用前景。

关键词 面向对象 CFD 0penFoAM 浅水流动 “速度一水位”预测校正

1 引言

传统的CFD程序大多采用面向过程的程序设计方法,在这种开发方式下常常需要
面临底层代码实现细节,数据的传递较为复杂,代码重用性和维护性较差[1]。近年来,
面向对象的程序设计方法因其代码的高度重用性和易维护性,以及适合解决大规模复杂
问题的优势而在CFD领域逐渐得到了应用。0penFOAM(Open Field Operation And

ManipuIation)就是一款基于面向对象的程序设计方法的CFD开源工具包,以C++语
言编写,提供了大量类库和一系列CFD求解器。作为开源软件,其支持二次开发以及
面向对象的程序设计方案使用户可以根据自身需要很方便地开发针对某特定问题的求解
器,因此目前已拥有较多的用户群.广泛应用于各种流体计算以及偏微分方程求解等科
学领域‘引。
自然界中的水流如宽阔河流、湖泊、海湾、河口等多为浅水流动,其水平方向上的几
何、运动尺度要远大于垂直方向上的尺度。在一维模型不能提供足够信息和三维模型计算
量过大的情况下,沿水深积分得到的平面二维模型成为模拟浅水流动的首选。0pen一

基金项目:国家重点基础研究发展计划(2006CB403304)

作者简介:王智勇(1983一),男,河北承德人,博士研究生,主要研究方向:湿地水环境,E—mail:
wang—zy@mail s.th u.edu.cn

・39 ・
FOAM并未提供平面二维浅水流动求解器.但其采用任意形状非结构网格的特点以及针
对流体力学控制方程通用形式的面向对象求解方案非常适用于各种流体力学数值模型的开
发。本文基于openFOAM平台开发了二维浅水流动模型和物质输移扩散模型,并通过算
例对模型进行验证。

2浅水流动和物质输移扩散模型的开发

2.1 openFOAM中的PDE求解体系

流体力学问题可以用偏微分方程(PDE)来描述,通常具有下面的形式:

旦—}譬+甲.(PuQ)一可.(矿甲o)一s,o+s, (1)

式中:u为流速;p为密度;Q为流体的某种属性,可以是标量(如浓度c)也可以是向
量(如流速u)。
式(1)即为OpenFOAM中所处理的PDE的通用形式,包括时间导数项a(pQ)归f、
对流项可-(PuQ)、扩散项v・(圹vQ)、探项spQ和s,。
任何形如式(1)的PDE都可以在OpenFOAM中采用有限体
积法进行求解。其基本思路是:①利用有限体积离散,计算
域被划分为互不重叠但充满整个计算域n的离散单元V.,如
图l所示;②在每个单元中对控制方程进行积分,并利用高
斯定理将散度项转化为单元界面上的通量积分t则问题最终
转化为如何利用网格中心点的变量插值求得界面上的通量;
③对瞬时流动,以上转换过程将式(”离散为关于时间£的
圈1 0penFOAM非结构 常微分方程,需要再利用有限差分方法进行时间离散;④将
网格示意图Ⅲ
对流项等非线性项做线性化趾理,即可得到形如Az一6的代
数方程,其中z即为待求的未知场量,A为稀疏矩阵,6中则包含了所有显式离散项和巳
知时刻的变量值。
在OpenFOAM中,模型中的变量都被视作o~2阶的张量,因而可以将cFD求解过
程看作是从一个张量场到另一个张量场的映射过程,只不过这种映射有的可以显示得到
(例如求一个速度场的旋度可×u),有的则需要求解PDE[”。OpenFOAM建立了能够描
述任意形状三维非结构化网格信息的“网格类”,在其基础上建立起能够描述空间场信息
的“场类”、定义各种“场操作”,并且定义了能够进行矩阵装配和求解的“方程类”,从
而使得一些复杂的数学物理模型可以通过根直观的顶层代码表示出来,实现用接近数学的
语言对偏傲分方程进行求解。

2.2浅水流动和物质输移扩散数学模型

不考虑表面风应力(对流作用强时可忽略不计),二维浅水方程及物质输穆扩散方程
分别为:
-40・
并V砌u)=o (2)

旦{篝坐+V・(^己,己,)一v(b。Vu)=一g^V善一∥,I【,l u—n(^u) (3)

掣+v.(^cu)一v.(,国。vc)=Q (4)

式中:}为自由表面垂向坐标;L,为水深平均平面二维流速;c为物质浓度;Jll一}一%为
水深;‰为床面垂向坐标;g为重力加速度常数;lD为水体密度;C,为底摩阻力系数,常
用曼宁公式C,一g竹2^r1邝计算,挖为曼宁系数;n为地转角速度矢量;M为紊动粘性系数,
采用水深平均的忌一e紊流模型m进行封闭,即让一e忌2e~,水深平均紊动能量及其耗散
率£由各自的输移扩散方程求得,各经验系数取值为(e,m,巩,c‘。,e:,印)一
(0.09,1.o,1.3,1.43,1.92,O.9);D。一地/以为紊动扩散系数;Q为源、汇项。

2.3浅水流动和物质输移扩散数值模型

浅水流动的控制方程式(2)~(4)在数学形式上类似于可压缩二维流动控制方程
组,且均具有式(1)的形式,因而很容易在OpenFoAM中实现其求解过程,模型的建
立过程类似于可压缩流动问题。但需要注意的是,连续方程式(2)和运动方程式(3)是
相互耦合的(可称之为速度一水位耦合)。本文采用类似PIS0算法的“速度一水位”预
测校正法处理该耦合问题。
对连续方程(2)和运动方程(3)分别进行FVM离散,时间采用欧拉隐式方案(科
氏力项为显式),得到

亚{≯生yP+∑F=o (5)

嫂铲¨+军FU,一等¨州V叽一一办V乳+SP叫,悄VP(6)
‘’一
^●

式中F=S(^U),。通过对网格面上U,、(VU),的插值处理,可将变量全部代换为网格
中心点的函数值,整理得到式(7)、式(8):

譬¨+等^s[警],.等s[(学),cV咖卜 ∽
口PUP=H(U)一g^Vf (8)

其中,H(u):s。一∑口NuN+尘姿譬。连续方程和运动方程的离散方程中,当采用线性
N 凸‘

化方法处理时,系数可由当前时刻的流场计算得到。PIS0算法简述如下:①首先不考虑
水位梯度项,根据式(8)预测下一时刻的流速;②利用所预测的流速,根据式(7)计算
下一时刻的水位,其中界面通量F由预测流速插值求得;③最后根据式(8)对预测流速
进行校正。第②、③步组成PIS0循环,直至校正流速与预测流速之间的误差小于给定阈
值。在PIs0循环结束后,调用紊流模型和水质模型进行模拟,然后转人下一时间步的
计算。
・41 ・
3模型验证

3.1横流中的侧向排放问题

利用所建立的浅水流动和物质输移扩散模型对如图2所示的长直明槽横流侧向排放
问题进行模拟。模型尺寸如下:主槽宽
度B;6lcm,排放口宽度6—6 4cm,

排放口上游槽段长度s.=B,下游槽段
长度s。=7B,排放口长度s,一l 5B。

一萑茎进
上游来流速度u—O.1m/s,下游出口
断面控制水深为o.5B,来流背景浓度
为o,排放浓度为l。选取排放流量
Q一0.001 m3/s、O.o。2 m3/s、0.004甜/s、
0.008m 3/s、O.012m3/s、0.016m3/s、
]F三二二丁一
O.02 m3/s共7个工况进行计算。主槽

网格数为50×235,在排放口处进行局
部加密,网格尺寸约为1cm。时间离散采用臆式差分,时间步长取为o 05s,并在计算
过程中根据cFL稳定性条件进行自动调整。糙率一取值为o 013,与McGulrk和Ro
村”的模拟工作一致。回流区计算结果如图3所示,与M zkha“等人的实验结果‘”及
McGulrk和Rodl的数值模拟结果吻合较好。Q。一o.004m3/s时的浓度场计算结果如图4
所示。

^仁(皤6)/(u韬)^仁(叫6)/cL向
M1岫等^∞E&镕%… …McGuⅡ|【和R甜l∞模n结m“’——丰交睫m镕%
圈3横流中的侧向排放计算结果对比

么要塞蠢垂重量垂圣兰
图{Q—o 004m3/s时的浓度场计算结果
3.2三峡水库涪陵磷肥厂污水排放问题

3.2.J应用概况

涪陵磷肥厂排污口位于长江右岸t乌江汇流口上游约12km处。长江水利委员会长江
卜游水文水资源勘测局于1997年儿月24日(平承期)和19 98年1月17日(枯水期)
分别对涪陵磷肥厂排污口进行了同步观测,观测断面位置如图5所示,排污口上游50m
处为对照断面,排污口下游20m、50m、100m、278m处为控制断面,编号分别为Fl~
F6。本文采用平水期的水文、水质观铡资料,对涪陵磷肥厂排污口附近的水流、水质情
况进行模拟和模型验证。
3.2.2模型参数和计算网格

糙率n包括沙粒糙率一。和形状糙率n’的综合作用。本文采用公式㈣。+n7=‰+
^。/^计算糙率,参数取值为‰=o 04,^。=o。05。如图6所示,模型采用结构化非正交
四边形网格・网格数量为1 09×49。为精确模拟排污口附近的流场和浓度场,对排污口附
近计算网格进行加密t该处阿格尺度约为1m。同时,对流速梯度较大的岸边区域进行网
格加密。

t】卿

1∞。。

12∞一

l帅0I

。。l
600

荫赢赢鲰,
图5同步观侧断面布置网 圉6流动模拟的计算同格图

3.2.3模型验证厦结果分析

涪陵磷肥厂附近水域流场的数值模拟结果如图7(n)、(6)所示。可见江心主流区水
流速度较大t近岸水域水流速度较小。这种流速分布与主流区水探较大、河床底部阻力影
响鞍小,而近岸水域水深较浅、河床底部阻力影响较大的实际情况相符。从排污口附近的
流场局部放大图可见,由于受污水侧向排放的影响,排污口附近形成了回流区。回流区的
范围很小・长度和宽度均不超过1~2m,这和污水排放动量远小于长江来流动量有关,污
水排放对流场的影响可忽略不计。
排污口附近c()Dw。浓度场的计算结果如图7(f)所示。按照国家GB3838—2002地
表水环境质量标准的Ⅱ类水质标准,即cOD”。的控制浓度为4mg/L时,污染混合区的长
・43・
l=[
1。瑚l
・z。ol
-∞。l
800L
6∞

狮舯狮嘲“””:(嚣㈣
…2…27:埘…舄… (6)

图7涪睦礴肥厂排柯口附近流场、浓度场计算结果
(a)m自*算镕%《体目}(6)谳场计算镕*月*#太目;(c)c0风.浓度*计算结%(单位mg/L)

度约为150m,宽度约为15m。
图8为断面F2~F5各观测点cOD№计算结果与观测数据的比较围。从图中可以看
出,计算结果和观测数据从整体上趋于一致,两者吻合较好,其中各观测点的平均误差
为19 9%。

.10 .10

∈B 暮8
舅。 舅。

蓑; *4

2 2

Ⅻ#月口*(m)

10
—10
毒8 乏s
舅6 暑s
蓑t 蓑t
2 2

0 0

*《岸Ⅲ肓(m) 目☆{《^(m)

圈8 F2~F5断面c0‰。维度计算结果号观爵数据的比较
(口)n{(6)F3}(c)F4{(d)n

4结语

O口enFOAM基于面向对象的方法设计,代码重用性好。易于二次开发,已逐渐形成
了较为广泛的用户群,非常适用于包括水动力与水环境模拟的各种流体模拟工作。本文基
・dd・
于OpenFOAM平台建立了二维浅水流动的水动力模型和物质输移扩散模型,并利用侧向
排放问题和三峡水库涪陵磷肥厂污水排放问题对模型进行了验证,模型计算结果与实测结
果吻合良好。
面向对象的程序设计方案可以使一些复杂的数学物理模型通过很直观的顶层代码表示
出来,从而实现用接近数学的语言对偏微分方程进行求解,方便开发和维护。随着数值模
拟技术的不断发展和CFD软件开发需求的不断增加,面向对象程序设计方法必将因其善
于解决庞大复杂问题的特点而得到广泛应用。

参考文献

[1] weller H G,Tabor G,Jasak H,Fureby c.A tensorial approach to computational continuum me。

chanics using object-oriented techniques[J].Computers in Physics,1998,12(6):6zo一631.

[2] 0pencFD Limited.0penFOAM User Guide(Version 1.4)[M].2007.


[3] Jasak H. Error AnaIysis and Estimation for the Finite Volume Method with AppIications to Fluid

Flows[D].Imperial College,1996.

[4] Rastoqi A K,Rodi w. Two_dimensional mathematical model for the dispersion of heat in“vers

[M].SAE Special Publications,1975,4:146—153.

[5] McGuirk J J,Rodi w.A depth-averaged mathematical model for the near field of side discharges into

open—channel flow[J].Journal of Fluid Mechanics, 1978,86:761—781.

[6] Mikhail R,chu V H,Savage s B.The reattachment of a tw矿dimenSional turbulent jet in a connned

cross flow[C].Proc.16’“IAHR Cong.,Sao Paulo,Braizil,1975,3:414—419.

・45-

You might also like