方腔自然对流换热问题的LBM并行计算
2013年高考语文-党章的内容
中国工程热物理学会
传热传质学
学术会议论文
编号:083440
方腔自然对流换热问题的LBM并行计算
赵婷,杨茉*,李佳明,卢玫
(上海理工大学动力工程学院,上海,200093)
(Tel: ,
Email:zhaoting_842@)
摘要
:
本文利用消息传递接
口库实施数据传递,将SPMD编程模式的并行算法与LBM相结合,提出
了LBM的两种并行计算方法
,在小型局域网下实现了对二维方腔自然对流换热问题的LBM并行模拟。
数值结果表明,所建立的并行
计算环境和区域分解并行算法能够得到正确和收敛的数值结果。对并行
算法作出的性能分析表明,所给出
的区域分解并行算法得到了明显的加速效率。
关键词
:
并行计算,LBM,区域分解,方腔自然对流
0 前言
格子玻尔兹曼方法(Lattice-Boltzmann method,
LBM)由格子气自动机(Lattice Gas
Automata,LGA)发展而来,从微观层
次描述流体内部流动,是近年来涌现出来的一种
新型的能够与现代高性能计算机紧密耦合的本质并行算法
[1]
,在流体动力学及其相关领
域得到了成功的应用
[2],[3]
。通过多尺度展开能够从LBM的演化方程得到宏观方程
[4]
。同
时,LBM具有
算法简单,空间、时间完全离散及粒子相互作用的局域性等优点使其适合
分布式并行。消息传递接口(M
PI)是国内外在高性能计算中最广泛使用的并行编程环
境,已成为一种并行程序的标准
[5]
。而消息传递并行性的开发中基于区域分解形式的单
控制流多数据流(Simple
Program Multiple Date,SPMD)编程是最普遍且并行效率最高
的形式。
本文将SPMD的编程模式和LBM相结合,通过MPI在Windows XP PC机组成的
小型局域网环境下搭建了并行计算平台,研究基于LBM的高效计算机并行算法,给出
了LBM区域分
解并行方法实施的具体步骤以及实现数据交换的措施,并通过对二维方
腔自然对流换热问题的并行模拟实
验比较,考察和验证所给出的并行算法的并行性能和
可靠性。
1计算模型及LBM模型
1.1 物理模型
图1示出了本文要计算的二维方腔内自然对流换热问题物理模型。方腔上下
底面绝
方腔内充满空气,
Pr
=0.7,
热,左边为高温壁面
Th
,右边为低温壁面
T
c
,方腔高度为
H
,
β
⋅ΔT⋅g⋅H
3
Ra=
。
ν
D
资助项目:国家自然科学基金项目(No.
50576057);上海市重点学科建设项目资助(No. J50501)
*通讯作者:上海军工路516号,200093,Tel: ,Email: yangm66@
g
图1 计算模型
1.2 数学模型
LBM计算
选用模型为GUO等
提出的TD2G9模型,即二维空间中分布函数和速度等
分解为图2所示的
9个方向,
c
i
表达式为:
6
2
5
[6]
⎧
⎪
(0,0)
i=0
⎪
(i−1)
π
(i−1)
π
⎪
c
i
=
⎨
(cos, sin)c
i=1,
L
,4
22
⎪
⎪
⎡
(i−1)
π
+
π
⎤
,
sin
⎡
(i−1)
π
+
π
⎤
) c
i=5,
L
,8
2(cos
⎪
⎢⎢
4⎥
4
⎥
⎩
⎣
2
⎦⎣
2
⎦
其中
c=
Δx
Δt
3
0
1
7
图2
离散方向
4
8
为粒子迁移的速度,
Δx,Δt
分别为格子宽度和时间步长。
f
i
eq
p
⎧
−4
σ
+
s
0
(u(x,t))
i=0
2
⎪
c
⎪
⎪
p
=
⎨
λ
2
+
s
i
(u(x,t))
i=1,2,3,4
⎪
c
⎪
p
⎪
γ
c
2
+
s
i
(u(x,
t))
i=5,6,7,8
⎩
(1)
2
⎡
c
i
⋅u
u
⎤
(c
i
⋅u)
2
s
i
(
u
)
=
ωi
⎢
3
+4.5−1.5
2
⎥
2
c
c
⎥⎢
c
⎣⎦
⎧
49 (i=0)<
br>⎪
⎧
λ
+
γ
=
σ
ω
i
,<
br>σ
,
λ
,
γ
是模型参数:
ω
i
=<
br>⎨
19 (i=1,2,3,4)
⎨
(2)
⎪
136 (i=
5,6,7,8)
⎩
λ
+2
γ
=12
⎩
温度场使用
4个离散速度
c
1
,c
2
,c
3
,c
4<
br>。引入温度分布函数
T
i
,其演化方程为:
T
i
(
x+c
i
Δt
,
t+Δt
)
−T<
br>i
(
x
,
t
)
=−
T
i
(
x
,
t
)
=
eq
eq
T
i
(
x
,
t
)
−T
i
(
x
,t
)
⎤⎡
⎣⎦
,
τ
T
1
(3)
T
⎡
c
i
⋅
u
⎤
+=
12
<
br>1,2,3,4
i
4
⎢
c
2
⎥
⎣⎦
宏观的温度定义为:
T=
演化方程为:
∑
T
。由于流体的流动与换
热耦合,采用Boussinesq假设,
i
i
f
i
(
x<
br>+
c
i
Δ
t
,
t
+Δ
t
)
−
f
i
(
x
,
t
)
=−
eq
f
i
(
x
,
t
)
−
f
i
(
x
,
t
)
⎤⎡
⎣⎦
+g
i
(4)
τ
1
Δt
α
i
c
i
⋅g
β
(
T−T
0
)<
br>,其中当
i=2,4
时,
α
i
=
1
;否则
α
i
=
0
。
2
c
宏观密度、速度及压力定义如下:
g
i
=−
ρ
(x,t)=
1
∑
i
c
2
⎡⎤
f
i
(x,t),
u(x,t)=
∑
c
i
f
i
(x,t)
,
p=
f(x,t)−s(u)
(5)
∑
i
0<
br>⎢⎥
4
σ
⎣
i
⎦
i
通过Chapman-
Enskog多尺度展开方法可以推导出宏观的N-S方程,且粘性系数及
导温系数表示式如下: 1
Δx
2
1
Δx
2
ν
=
(
τ
u
−0.5
)
D=
(
τ
T
−0.5
)
(6)
Δ
t
3
Δt
2
2并行算法的设计
2.1并行计算环境
本文进
行研究的并行计算环境是笔者在小型局域网下应用mpich2-1.0.7自行搭建的,
局域网内的计
算节点机是AMD 2800+处理器(32-bit,主频1.61GHz)微机,计算节点之间
通过
100Mbps的Ethernet高速通信网进行通信,操作系统是Windows XP Pro
SP2,程序采
用FORTRAN90语言编写。
2.2
LBM区域分解并行算法设计与实现
由于LBM中所有网格节点的演化(流动和碰撞)同时进行,且每
个格点只涉及到相
邻格点上的参数而不涉及到全部计算区域,整个流场区域中,只有边界点上的计算稍有
不同,其它各点的计算公式相同,并且所有格点的演化都同时进行,这是一种典型的区
域分解模
式,非常适合于大规模的并行计算。
本文针对LBM模型设计区域分解并行计算方案。区域分解并行计
算方法的设计采用
MPI消息传递的并行编程模式实现,它的基本思想就是区域分解算法
[7]
。基于区域分解
思想开发出的SPMD并行程序,就是将同一程序复制到各个处理器上,而不同
的数据分
布到不同的处理器上。设计SPMD形式消息传递程序的主要步骤是:1.数据划分:尽量考<
br>虑负载平衡、存储空间的均衡使用以及较少处理器之间的通信,把整个计算区域分解为
若干个形状
尽量规则的子区域,并将各子场所属的计算边界条件和初始条件分别映射到
并行环境中各
计算节点机上;2.单独计算:各个计算区域所属的节点机运算区域内部各
网格上流体质点的流动与碰撞
子步,并计算出宏观的物理量;3.优化通信:各计算节点
机通过一定的耦合规则同其相邻的节点进行相
交边界上的数据交换和信息传递以组织并
行计算,尽量提高计算通信比,数据就地使用和合并短信息成一
个长信息进行传输;4.
全局操作:将各处理器之局部结果组合起来,实现整个原问题的解。
算法的设计采用对等模式,为了有效实现并行计算个进程间的数据通信,并且考虑
到FORTRAN编程
中对数组元素的访问顺序,这里将参加迭代的数据按行进行分割。假
设一共有P个节点机参与并行计算,
则数据的分割结果如图3所示。本文采用非重叠型区
域分解,即相邻两子区享有唯一的分界线(内边界)
,相邻子区各有一条网格线与分界线
重合。由于迭代过程中,各子场边界点新值的计算需要相邻子场内部
节点的数据,因此
对各子区域,考虑分界线上格点的演化规则,需要传递与边界相邻子场边界格点的数据
。
进程P-1
进程P-2
……
……
进程1
进程0
在循环两端调用精度单位为0.01秒的时间函数MPI—C
OMPUTIME统计运算所耗
时间。为考察并行计算效率,定义加速比S为单机运算时间与P台处理器
处理相同问题
所需运算时间的比值;并行效率E为加速比与处理器台数的比值(E=S/P)。
图3 数据分割方式
3并行计算的数值实验结果及分析
3.1等温线图
计算时分别取Ra数为10
4
、10
5
、10
6
,网格划分
取60×60、120×120和240×240三套网
格,计算节点机个数P=1、2、4三种情况,
根据运行时间得到加速比和并行。图4给出了
Ra=10
4
,网格数取240×240
时P分别取1、2、4时方腔自然对流的等温线图。
(a)
(b) (c)
图4 方腔自然对流等温线图
Fig.1 The streamlines on different
co
mp
uter node’s number for nature
convection in a square cavity
图4(a)为P=1,即
LBM串行计算所得;图4(b)为P=2时LBM并行计算所得;图4(c)为
P=4
时LBM并行计算所得。通过比较可以发现计算结果基本一致,针对该问题设计的并
行算法是正确的。表
1列出了不同网格划分时,针对正方腔自然对流问题Ra数为10
6
时,
串行以及并行
计算时得到的Nu数和基准解
[8]
,通过比较发现,计算结果与基准解基本吻
合。
表1 不同情况下的Nu数
Table 1 Computing Nu on
different grids and different c
omputer
node’s number
1 2 3
网格
划分
基准解Nu
60×60
120×120
240×240
8.743 8.832
8.794
8.796 8.854 8.894
8.903
8.837
8.93 8.735
3.2计算时间
表2是在各
种网格尺寸和相同计
算误差下,用不同的节点机数目并行计算得到的结
果。
结果表明,随着处理器个数的增加,并行
系统的整体效率随之增加,但对于每一种
网格划分来说总是存在一个最佳的节点机个数P值。这是因为,
在传递通信量的交换上
所花费的时间在并行系统计算总时间中所占的比例越来越大,并行效率就会下降。
即当
节点机个数达到最佳P值以后,再增加节点机个数其计算效率也不会得到很大提高,只
会造
成资源的浪费。因此,在计算时应该尽量选择合适的P值。由于LBM方法的高度
并行性,有些情况下并
行效率甚至大于1(加速比S大于节点机数目P),即所谓的
super-linear speedu
p问题,从硬件方面来说主要是二级缓存(cache)引起的。根据并行算法
的可扩展性定义,在几乎
所有的本文涉及的问题规模下,随着并行规模的增加,加速比
随之增长。因此可以说该算法具有一定的可
扩展性,且的LBM的并行方法可以获得很
好的加速比和并行效率。
表2
不同节点机数目并行计算时间
Table 1
Computing time on
different computer node’
s number
P=1 P=2
1
71.01
80.25
计算时间s
---
2.13
加速比
--- 1.065
并
行效率
6
93.5
7
462.32
计算时间s
---
1.50
加速比
--- 0.75
并行效率
24
83.62
1
409.78
计算时间s
--- 1.76
加速比
--- 0.88
并行效率
P=4
69.43
2.46
0.615
198.47
3.49
0
.8725
983.43
2.53
0
.6325
网格划分
60×60
120×120
240×240
4 结 论
本文给出了基于区域分解的LBM并行数值计算方法
,并对方腔自然对流进行了数
值模
拟实验。数值实验结果表明,所给出的LBM分区并行算法能
够得到正确的和收敛
的数值结果。对并行算法做出的性能分析表明,对于自然对流换热的LBM数值模拟
,
由于算法本身的高度并行性,采用并行算法可以显著缩短计算时间,提高计算效率,所
给出的
并行算法得到了明显的加速效率,有些情况下并行效率甚至大于1。随着计算规
模的增大,加速比呈现增
大的趋势。
参考文献
[1] Chopard B., Masselot
A. Cellular automata and lattice Boltzmann
methods: a new approach to
computational fluid
dynamics and particle transport. Future Generation
Computer Systems, 1999, 16(2-3):
249-257
[2] Gallivan M A, Noble D R, Georgiadis J G,
Buckius R O. An evalustion of the bounce-back
boundary
condition for lattice-Boltzmann
simulations. Int J Numer Methods
Fluids,1997.25(3):249-263
[3]
P.-H. Kao,
R.-J. Yang, Simulating oscillatory flows in
Rayleigh-Bénard convextion using th
e lattice
Boltzmann method. J. Heat and Mass Transfer,
2007(50):3315-3328
[4]
Qian Y, d’Humi res
D, Lallemand P, Lattice BGK models for Navi
er-
Stokes equation, Europhys. Lett.,
1992(17):479-484
[5]
蒋英,雷永梅.基于
MPI的几种算法的并行编程通用算法.
计算机工程与应用,2003,3:139-141
[6] Zhaoli Guo,
Baochang Shi, Chuguang Zheng, A coupled Lattice
BGK Model for the Bouessi
nesq
Equation,
Int. J. Num. Fluids, 2002(39):325–342
[7]
Jack D,Ian F,Geoffrey F,William G. Sourcebook
of
Parallel Computing . Morgan
Kaufmann,2005:40-68
[8] De Vahl Davis G,Jones
I P. Natural Convection in a Square Cavity,A
Comparision Exercise. Numerica
l
Method in
Thermal Problems, Edited by R W Lewis, K. Morgan
and B A Schrefler, Swensea UK:
Prinendge
Press,1981:552-572