格子Boltzmann并行程序的优化与性能分析

合集下载

基于可压缩格子Boltzmann方法的高可扩展并行算法研究

基于可压缩格子Boltzmann方法的高可扩展并行算法研究
领域 里越来 越受 到人 们 的 重视 。 由于 B h m n 程 o z a n方
的粘 性 , 可 在 一 定 条 件 下 逼 近 N i — tks 程 。 又 a e Soe 方 v 同时 ,B 的这种 用简 单模 型实 现 复杂 系 统 的数 学 建 LM 模方法 , 打破 了传 统 的建模 观念 , 也 为其他 复 杂 系统 的
于航空 器等 高速 运 动物 体 的计 算 , 文 通过 深 入研 究 本 单 肖文提 出 的 用 He t r e函数 推 导 出 分 布 函 数 的方 mi 法 J探 索解 决 L M 方 法求 解 可 压 缩 流 动 问题 , 文 , B 本
计 算 , 程研究 中对 流体计 算要求 迅 速得 到结 果 , 已 工 而
有 的方 法 由于 存 在 以上 的缺 点 制 约 着 流 体 计 算 的发
展, 因此 迫切需 要 一种 具 有 高 扩展 性 和 数 值 稳定 性 较
好 的并行 算法 。
改 进该 方法 后 对 高 速 可压 缩 流 体 问 题 进 行 了深 入 研 究 , 到 了 07马赫 流体 计算结 果 , 过对 几个 典 型算 得 . 通
宏观 和微观 的可 能性 和现实性 。它既能 直接 计算 流 体
l B hman方 程 的 B K模 型 oz n G
B K模 型 是 带 碰 撞 项 的 B l m n G o z a n方 程 ( ol t C l. i
s nl oz anE utn 的一 种 近 似 , i a B lm n qao ) o t i 近年 来 在 C D F
编程 相对 简单 , 并行 计算效率高的特点 , 但是现有的 D Q B 2 9L M模 型只能计 算速度在 0 3马赫下的 .

偏微分方程求解的一种新颖方法——格子Boltzmann模型

偏微分方程求解的一种新颖方法——格子Boltzmann模型
地 质 重 点 实 验 室 开 放研 究 基 金 课 题 “ 隙 裂 隙介 质 中 多 相 流 体 逾 渗 模 型 及 数 值 模 拟 ” 2 1 . 2 l . 2 孔 (0 0 1 O 1 1 )
7 6 邻 节 点
大 学 数 学
第2 7卷
) 撞 , 一 个 节 点 上 从 相 邻 节 点 运 动 来 的 粒 子 发 生 碰 撞 , 据 质 量 、 量 和 能 量 守 恒 规 则 改 碰 在 根 动
其 中 r 松弛 时间 尺度 , 制达 到平衡 的速 度 ( 是 控 可根据 需 要 进行 设 置 ) 由于稳 定 性 的原 因 , 过 实 际测 , 经 算 r必须 大于 1e /.
事 实 上 不 同 的 网 格 剖 分 有 着 不 同 的平 衡 分 布 函数 , B 建 立 模 型 的 核 心 问 题 就 是 根 据 不 同 的 网 格 L M
[ 键 词 ] 格 子 B l ma n方 法 ; 衡 态 分 布 函 数 ; Q 关 ot n z 平 D2 9模 型 ; a i — tk s 程 ; 流一 扩 散 方 程 N ve So e 方 r 对 [ 图 分 类 号 ] O2 1 8 中 4 .2 [ 献标识码]A 文 [ 章 编 号 ] 17 —4 4 2 1 ) 30 7 —8 文 6 21 5 (0 1 0 —0 50
在 低 Mah 马赫 ) 的假 设下 ( l c)其 中粒子平 衡态 分布 函数 为 c( 数 I , U《
~ P
[ + 一 ] +

C =c 4 /  ̄,
。 /, 一4 9
1 U 一 3 一(2 一 4 1 9, ∞ 一 6 7 8 1 3 , — / 5 一∞ 一∞ — / 6
第2 7卷 第 3期

格子boltzmann方法的原理与应用

格子boltzmann方法的原理与应用

格子Boltzmann方法的原理与应用1. 原理介绍格子Boltzmann方法(Lattice Boltzmann Method)是一种基于格子空间的流体模拟方法。

它是通过离散化输运方程,以微分方程的形式描述气体或流体的宏观运动行为,通过在格子点上的分布函数进行更新来模拟流体的动态行为。

格子Boltzmann方法的基本原理可以总结为以下几点:1.分布函数:格子Boltzmann方法中,将流场看作是由离散的分布函数表示的,分布函数描述了在各个速度方向上的分布情况。

通过更新分布函数,模拟流体的宏观行为。

2.离散化模型:为了将连续的流场问题转化为离散的问题,格子Boltzmann方法将流场划分为一个个的格子点,每个格子点上都有一个对应的分布函数。

通过对分布函数进行离散化,实现流场的模拟。

3.背离平衡态:格子Boltzmann方法假设流体运动迅速趋于平衡态,即分布函数以指定的速度在各个方向上收敛到平衡分布。

通过在更新分布函数时引入碰撞过程,模拟流体的运动过程。

4.离散速度模型:分布函数描述了流体在各个速度方向上的分布情况,而格子Boltzmann方法中使用的离散速度模型决定了分布函数的更新方式。

常见的离散速度模型有D2Q9、D3Q15等。

2. 应用领域格子Boltzmann方法作为一种计算流体力学方法,已经在各个领域得到了广泛的应用。

以下是一些常见的应用领域:2.1 流体力学模拟格子Boltzmann方法具有良好的可并行性和模拟精度,适用于复杂流体流动的模拟。

它可以用于模拟包括自由表面流动、多相流动、多物理场耦合等在内的各种复杂流体力学问题。

2.2 细胞生物力学研究格子Boltzmann方法在细胞力学研究中也有广泛应用。

通过模拟流体在细胞表面的流动,可以研究细胞运动、变形和介观流的形成机制。

格子Boltzmann方法在细胞生物力学领域的应用已成为一个重要的研究方向。

2.3 多相流模拟格子Boltzmann方法在多相流动模拟中的应用也非常广泛。

格子boltzmann方法

格子boltzmann方法

格子boltzmann方法格子玻尔兹曼方法是一种常用的数值计算方法,它主要用于模拟稀薄气体等流体力学问题。

下面我将从方法原理、模拟过程和应用领域三个方面详细介绍格子玻尔兹曼方法。

首先,格子玻尔兹曼方法基于玻尔兹曼方程和格子Boltzmann方程,通过将连续的物理系统离散化为网格系统进行模拟。

网格系统中的每个格子代表一个微观粒子的状态,而碰撞、传输和外部力的作用通过计算和更新这些格子的状态来实现。

该方法主要包含两个步骤:碰撞和传输。

在碰撞过程中,格子中的粒子通过相互作用和碰撞来改变其速度和方向,从而模拟了分子之间的碰撞过程。

在传输过程中,碰撞后的粒子根据流体的速度场进行移动,从而模拟了背景流场对粒子运动的影响。

其次,在格子玻尔兹曼方法中,模拟的过程可以简化为两个部分:演化和碰撞。

在每个时间步长内,系统首先根据粒子速度和位置的信息计算出相应格点上的分布函数,然后通过碰撞步骤更新这些分布函数以模拟粒子之间的碰撞效应。

通过迭代演化和碰撞步骤,系统的宏观行为可以得到。

格子玻尔兹曼方法中最常用的碰撞操作是BGK碰撞算子,它根据粒子的速度和位置信息计算出新的分布函数,并用该新分布函数代替原来的分布函数。

而在传输过程中,粒子通过碰撞后得到的新速度和方向进行移动。

最后,格子玻尔兹曼方法在流体力学领域具有广泛的应用,特别是在稀薄气体流动、微纳尺度流动和多相流等问题中。

由于其适用于模拟分子尺度和介观尺度流动问题,因此在利用普通的Navier-Stokes方程难以模拟的问题中表现出了良好的效果。

此外,格子玻尔兹曼方法还可以用于模拟流动中的热传导问题、气体分子在多孔介质中的传输问题以及颗粒与流体相互作用等多种复杂流动现象。

近年来,随着计算机性能的不断提高,格子玻尔兹曼方法也得到了快速发展,在模拟大规模真实流体问题方面取得了不错的结果。

总结来说,格子玻尔兹曼方法通过将连续的物理系统离散化为网格系统,模拟粒子碰撞和传输过程,实现了对流体力学问题的数值模拟。

基于格子-玻尔兹曼方法的三维虚拟树冠阻力特性

基于格子-玻尔兹曼方法的三维虚拟树冠阻力特性

基于格子-玻尔兹曼方法的三维虚拟树冠阻力特性张克;付海明【摘要】为了给预测实际树冠的风阻提供理论依据,运用Visual Basic程序设计语言建立三维虚拟树冠模型,使用基于格子-玻尔兹曼方法(Lattice-Boltzmann method,LBM)的计算流体动力学软件——XFlow进行模拟计算,研究不同叶面积指数和风速条件下,树冠对空气流动阻力特性的影响.采用叶面积指数表征树冠的形态结构特征,讨论其对树冠流动阻力的影响规律,并提出阻力系数与叶面积指数、风速之间的关联表达式.利用风洞对人工树模型进行试验,测试结果与关联表达式的预测结果吻合较好.研究结果表明:树冠的阻力系数与叶面积指数、风速呈指数函数关系;当风速大于5 m/s时,阻力系数接近常数,风速对阻力系数的影响不再显著.【期刊名称】《东华大学学报(自然科学版)》【年(卷),期】2019(045)002【总页数】7页(P306-312)【关键词】虚拟树冠;叶面积指数;风速;阻力系数【作者】张克;付海明【作者单位】东华大学环境科学与工程学院,上海201620;东华大学环境科学与工程学院,上海201620【正文语种】中文【中图分类】X513;S731.2随着绿化屋面系统的普及,其风阻性能正在变得越来越受关注,特别是在台风地区。

风阻性能研究已成为绿化屋面系统设计的先决条件,以便确定树木的空气动力学特征,为绿化设计提供基础科学数据。

此外,高大建筑的大量出现导致建筑周边行人高度的风环境变得更加复杂。

在街道、广场等开放空间中,形成的局地强风给人们的出行带来诸多不便。

除了优化建筑设计外,还可以通过在建筑周围种植绿化带以减弱甚至消除局地强风的影响。

绿化带对强风遮蔽作用的机理亟待研究,以便合理地建设绿化带。

因此,研究树木冠层对风环境的影响具有非常重要的现实意义。

长期以来,树冠对风场阻力特性的研究主要采用野外观测、风洞试验以及数值模拟等方法。

Green[1]采用圆锥状树冠简化模型进行风洞试验,研究树冠对周围流场的影响。

含导热块封闭方腔自然对流格子玻尔兹曼模拟研究

含导热块封闭方腔自然对流格子玻尔兹曼模拟研究

图7为不同C风风率下燃尽率的变化曲线。

从图中可以看到,随着C风风率的减小燃尽率不断降低。

这是因为随着C风风率的减小,炉内回流区减小,拱上气流下冲深度减小,部分煤粉停留时间变短,而煤粉的着火距离变长,从而使得燃尽率降低。

另一方面由于C风风率的减小,使得空气分级程度增加,因而燃尽率降低。

4结论本文利用数值模拟的方法,研究了某低N O x燃烧新系统W 火焰锅炉的C风风率对燃烧特性及N O排放特性的影响。

得到的主要结论有:4.1随着C风风率的减小,对煤粉气流的托举作用减弱,拱上气流下冲深度减小,炉内燃烧剧烈程度减弱使得温度水平降低。

4.2随着C风风率的减小,空气分级程度增加,主燃烧区的氧含量降低,还原性气氛增强;且炉内温度水平降低,均有利于降低N O排放量。

4.3C风风率对煤粉燃尽率有较大的影响;随着C风风率的降低,炉内回流区减小,部分煤粉停留时间变短,而煤粉的着火距离变长,使得煤粉燃尽率不断降低。

参考文献[1]任枫.FW型W火焰锅炉高效低NO x燃烧技术研究[D].哈尔滨:哈尔滨工业大学,2010.[2]赵斯楠,方庆艳,马仑,陈刚.燃烧初期化学当量比对锅炉NOx 生成与排放特性的影响[J].燃烧科学与技术,2017,23(03):236-241.[3]Ma L,Fang Q,Tan P,et al.Effect of the separated overfire air location on the combustion optimization and NOx reduction of a600MWe FW down-fired utility boiler with a novel combustion system[J].Applied Energy,2016,180:104-115.[4]马仑,方庆艳,张成,陈刚,吕当振,段学农.600MW W型火焰锅炉拱上二次风低NO x燃烧特性的数值模拟及优化[J].燃烧科学与技术,2016,22(01):64-70.[5]周安鹂.W火焰锅炉无烟煤掺烧煤泥的试验与数值模拟[D].武汉:华中科技大学,2019.[6]吕当振,马仑,段学农,方庆艳.600MW亚临界W型火焰锅炉低氮燃烧特性数值模拟[J].热能动力工程,2015,30(04):598-604+ 654-655.作者简介:周安鹂(1993,4-),女,籍贯:湖北襄阳,硕士,助教,研究方向:电力生产技术、节能减排技术、电气自动化。

格子Boltzmann方法三种边界格式的对比分析

格子Boltzmann方法三种边界格式的对比分析

中分别使 用半步长反 弹、 非平衡反 弹、 以及 非平衡 外推 三种边界处理格 式 , 并得 到 了不同格 式对应 的流 线分
布 , 函数最 小值、 流 涡心 坐标、 几何 中心线速度分布等。通过将所得结果与基 准解进行 比较 , 三种边界格 式 就
的计算效率 , 计算精 度、 以及计算稳 定性等方 面进行 了讨论和分析 , L M 计算 中边界格 式 的选择 提供 了有 为 B
Ab t a t n t i p p r wo d me so a i - r e a i o s s lae y lt c l ma n meh d T r e b u d r sr c :I h s a e ,t - i n in ll d i n c vt f w i i d v yl mu td b at e Bot n to . h e o n a y i z
益 的参考。 关键 词 : 格子 B hman方法; oz n 边界处理格 式; 半步长反弹格式 ; 非平衡 反弹格 式; 非平衡 外推格式 中图分类号 : 77 1 0 5 . 文献标识码 : A 文章编号 :07 4 1 (0 2 0 — 0 8 0 10 - 4 4 2 1 ) 1 0 1 — 5 T ei mp r t ea ay i ft r eb u d r c e a e i It e l ma n meh d h o a ai n ls o e o n a y s h meb sd Ol a f eBot : v s h i z n to
b u d r c e e e t g i BM i l t n o n ay s h me s l ci L n n s muai . o
Ke r s:lt c otma n meh d y wo d at e B l n t o ;b u d r c e ;h l — y b u c —b c c e ;n n q i b i m o c —b c i z o n a y s h me a wa o n e a k s h me o e u l ru b u e a k f i n s h me;n n q i b i m xr p lt n s h me ce o e ul ru e  ̄ o o ua o o iee tsh me ae dsus d tbH fcmp tt n frdf rn c e r ic se .whc r x etd t mdd au be rfrn e t i f ih ae ep ce o p e v a l eee c o l

传热学格子玻尔兹曼方法计算方法的特点

传热学格子玻尔兹曼方法计算方法的特点

传热学格子玻尔兹曼方法计算方法的特点摘要本文讨论了传热学中的格子玻尔兹曼方法,并分析了这一计算方法的特点。

首先,我们介绍了传热学的基本概念和研究背景。

然后,我们详细解释了格子玻尔兹曼方法的原理和模拟过程。

接着,我们探讨了该方法的特点,包括计算效率、模拟精度和适用范围等。

最后,我们总结了格子玻尔兹曼方法在传热学中的应用前景,并提出了进一步研究的方向。

1.引言传热学是研究能量从一个物体传递到另一个物体的学科。

在工程领域中,传热问题经常出现在热流体系统的设计和优化中。

传热过程涉及热传导、对流和辐射等多种传热机制,准确模拟传热过程对于工程实践和科学研究具有重要意义。

格子玻尔兹曼方法(L a tt ic eB ol tz ma nnM e th od,L BM)是一种基于微观颗粒模拟传输过程的计算方法,近年来在传热学领域得到了广泛应用。

与传统的求解传热方程的数值方法相比,格子玻尔兹曼方法通过模拟颗粒在格子上的运动来描述流体的宏观行为,具有更高的计算效率和更灵活的模拟能力。

2.格子玻尔兹曼方法原理格子玻尔兹曼方法基于玻尔兹曼方程和格子自动机理论,通过在一个规则的网格上模拟微观颗粒的运动来模拟流体的运动。

格子玻尔兹曼方法的基本原理是将流体分割成一系列小的正方体,每个正方体称为格子。

在每个格子中,通过对流、碰撞和反弹等过程来模拟颗粒之间的相互作用。

格子玻尔兹曼方法的模拟过程可以分为以下几个步骤:1.确定模拟区域的网格分布和流体的边界条件。

2.初始化流体的宏观和微观状态,在格子中随机分布将流体颗粒的速度和密度初始化为一定状态。

3.对于每个时间步长,根据碰撞和对流过程更新格子中流体颗粒的状态。

4.根据流体颗粒的状态计算宏观流体变量,如流速和压力等。

5.重复步骤3和4,直到达到设定的模拟时间。

3.格子玻尔兹曼方法特点格子玻尔兹曼方法具有以下几个特点:3.1计算效率高格子玻尔兹曼方法在模拟复杂流体系统时具有较高的计算效率。

格子boltzmann方法的理论及应用

格子boltzmann方法的理论及应用

格子boltzmann方法的理论及应用
格子波尔兹曼方法(Grid Boltzmann Method, GBM)是一种非离散化处理方法,其基本
思想是在空间上采用格点,并建立格点微分方程组来解决复杂流体或者其他相关物理问题. GBM以较少的计算量就可达到快速、精确求解流体动力学问题,而且将空间和时间分离,
大大减少计算量和存储量,可以说是比传统有限元技术和有限差分技术更加有效的一种方法.
格子波尔兹曼方法的具体原理是:格子波尔兹曼方法是将空间上的解释解划分成一系
列的蒙特卡洛格子点,这样可以以非离散化处理。

针对与流体物理仿真相关的变量,以格
点位置为基底,可以使用波尔兹曼分布Y(v)来描述,将原本复杂的多体相互作用模型转化为简单的蒙特卡洛定值模型,由此通过空间离散的方式可以求解波尔兹曼方程;具体的应
用也很广泛,可以应用在流体动力学中,可用来模拟很多液体问题,比如湍流传播和燃烧
等方面;在地形风化中可以用来模拟流域洪水演变和地形演化、土壤流失问题;在水质污
染领域,可以用来模拟河流污染物质运行规律;在非牛顿流体中,可用来模拟非牛顿流体
动力学问题;在金属粒子、微粒或者多组分液体中,可用来模拟粒子间相互作用,甚至可
以应用在非弹性波中进行数值模拟.
格子波尔兹曼方法因其独特的优越性深受广泛重视,在国内外都有大量的研究,结合
其他的数值方法,用于模拟复杂的流体物理系统,改善计算效率,提高建模的准确性。

GBM具有更快的计算速度和精度优势,在现代的科学技术领域有着广泛的应用,如流体动
力学,地形风化,水质污染等问题。

该方法不仅可用作模拟计算复杂流体运动,而且可以
用于半定常及强力学分析中。

格子Boltzmann方法原理及其应用

格子Boltzmann方法原理及其应用

格子Boltzmann方法原理及其应用摘要在上世纪八十年代后期提出的格子Boltzamnn方法克服了格子气方法的缺点,其本身也在不断的发展之中.格子Boltzamnn方法在流体运动计算方面展现了非凡的风采,成功地模拟了包括均相不可压缩湍流和多孔介质中的多相流动在内的流体动力学问题.但和成熟的流体动力学计算方法相比,特别在工程实际应用上,该方法还有许多值得研究的地方.本文主要介绍工程实际应用时,具体模型的选择问题.首先从理论上对应用最为广泛的几种基本模型进行了详尽的分析和比较.选择了Poiseuille流动,然后从计算精度、数值稳定性和收敛速度这几个方面进行了细致的比较.从理论和实验两个角度验证了D2G9模型的优越性,为工程实际应用上模型的具体选择提供了一定的参考依据.通过研究二阶精确的格子Boltzamnn模型,提出了非牛顿流体.非牛顿流动性是使用幂法则模型实现的.它可以估算出模型的精确程度,同时不会限制这个模型.二阶精度由剪切变稀和剪切增稠液体的幂法则模型参数范围给出.这些结果与Gabbanelli等人的结果相比,精确度更高,并且得到了更快的计算效率.结果表明了格子Boltzamnn方法适用于非牛顿流体模拟.对于实际流动模拟,本文应用二维9速度模型模拟了四种情况的方柱绕流问题.在第一种情况中,单个方柱位于流场中央,给出了流线图,等涡线图,模拟了卡门涡街现象,并计算了升、阻力系数,Strouhal数等参数;在第二种情况中,计算细长矩板截面柱绕流问题,得到了Strouhal数随着矩形长宽不同的比值下的变化情况;在第三种情况中,两个方柱并列位于流场中央,考察了方柱间距对于流场的影响;在第四种情况中,计算了水平来流为剪切流的方柱绕流问题,比较了速度梯度取不同值下流场的变化情况.所有有关力的求解均采用动量转换法.所得结果,包括流线、等涡线、升/阻力系数曲线等均与已有文献的实验或数值结果基本一致,显示LBM方法及其力的求解方法——动量转换法是有效的,能够精确的模拟各流场.其次,我们还引入一种两相耦合机制对D2G9模型进行了修正,从而使之可以正确处理气固两相流中输运相和颗粒相之间的相互作用.随后,我们模拟了后台阶流动,并和传统CFD方法的模拟结果以及修正其他模型的模拟结果进行了验证,得到了令人满意的结论.从一定程度上验证了两相耦合机制的可行性.通过软件模拟获得了水包油、过渡流型和油包水三种流型的典型模拟图.经分析发现:由软件模拟的流型特点和由探针获得的流型特点具有较好的一致性.在本文最后,我们介绍了以经典算例一方腔流为例,对格子Boltzamnn方法的核心代码进行了优化的方法,主要讲述对时间和空间上的优化,优化的程序使计算效率提高数倍.在并行的框架下,核心演化的代码换为优化后的程序,计算效率有大幅度的提高.关键词:格子方法;格子Boltzamnn 方法;格子气自动机;格子Boltzamnn模型.AbstractIn the latter of 80’s,the Lattice Boltzamnn Method(LBM)was introduced mainlyto cope with major drawbacks of its ancestor,the Lattice Gas Automata(LGA).Eversince,it has undergone a number of refinements and extensions which have taken it tothe point where it can successfully compute a number of non trivial flows,raging fromhomogeneous incompressible turbulence to multiphase flows in porous geometries.Yet,when compared with conventional computational fluids dynamics methods,such as finiteelement,finite difference,it is apparent that there is still a way to go before LBM canachieve full engineering status.In this paper,we mostly focus on the choice of the basic LB models in theengineering application fields.Firstly,we expatiate the basic LB models in theory.Then,we simulate the Poiseuille flow with those basic LB models.And wecompare the simulation results from the computation precision、the numerical stabilityand the convergence rate.Finally,we draw a conclusion that the D2G9 model is the bestchoice in the engineering application fields.Simulation of Flow past square cylinder with LB Method.For the simulation of actual flow,we use D2Q9 investigate fourcases of flow past square cylinders in this paper.For case 1,one singlesquare cylinder is located at the center of the channel,we describe thestreamline contour,vortices contours,simulate the Karman vortex,then compute the lift coefficient,drag coefficient,Strouhal numbersetc.For the case 2,simulate the flow past a cylinder of rectangularcross-section;compute the change of Strouhal numbers varying withthe side ratio.For case 3:two square cylinders arranged side by side inthe center of the channel,the flow features at different spacing ratiosare studied.For case 4:we compute the linear shear flow over a squarecylinder,compare the evolution of flow with different velocitygradient.The results of thesimulation including the streamlines,vorticity contours,lift and drag coefficients etc.are agreed with thoseof available literatures,and show that LB method and itsmomentum-exchange method can achieve accurate results and obtainthe reasonable flow in detail.we employ a two-way coupling mechanisms to modify theD2G9 model.With the modified D2G9 model,we can handle with the interactionsbetween carrier phase and dispersed phase in the model.Then,we simulate abackward-facing step model,and the results are compared qualitatively with the result ofthe traditional CFD method and the other modified LB models.Though the comparison,we can see that the two-way coupling mechanisms can handle with the gas-solid twophases flows successfully.Three kinds of flow pattern,which are oil-in-water flow,transitional flow andwater-in-oil flow,have been got by simulation.According to the result of simulation,theoil-water two-phase flow pattern transition boundary model has been got by.By the analysisof simulation,the characteristic of three kinds of flow pattern of vertical oil which has beengot by analysis of the signals is consistent with results by simulation.We take the classical problem-cavity flow as an example and optimize the kerne codes of the LBM. The optimization include two aspects :time and space .The efficiency of the optimized code increased much more .In the parallel frame,the efficiency also increased if the kernel code is taken the optimized code.Key word:1atrice method;1atrice bohzmann method;lattice gas automata;LBM目录第1章概述 11.1研究格子 Boltzamnn方法的意义 11.2 格子 Boltzamnn方法的发展历程 31.2.1孕育阶段 31.2.2 萌芽到成长阶段 31.3 格子 Boltzamnn方法应用概况及优缺点 51.3.1格子Boltzamnn方法应用概况 51.3.2格子Boltzamnn的优缺点 61.4本论文的研究目的 81.5 相关研究的综述与专注情况 8第2章格子Boltzamnn方法介绍 102.1 Boltzamnn方程的产生 102.2细胞自动机(CA) 112.3格子气自动机(LGA) 122.4格子Boltzamnn方法(LBM) 132.5 格子Boltzamnn的基本结构 162.6本章小结 17第3章格子Boltzamnn方法的基本模型比较 183.1 格子 Boltzamnn 方法基本模型概述 183.2 进行常压力梯度驱动的Poiseuille流动模拟比较几种基本模型 23 3.3本章小结 27第4章格子Boltzamnn方法的算法设计 284.1格子Boltzamnn方法的算法实现 284.2格子Boltzamnn方法的高效算法设计 304.2.1优化算法 304.2.2优化实验 324.3 本章小结 34第5章格子Boltzamnn方法的实际应用 355.1二阶精确格子Boltzamnn非牛顿流体的流动模拟 35 5.1.1理论背景 355.1.2方法和计算结果分析 385.1.3 本节小结 405.2 格子Boltzamnn方法的方柱绕流模拟 405.2.1 单个方柱位于流场中央的绕流问题 405.2.2 细长矩形截面住绕流问题 425.2.3 两个并列方柱的绕流问题 445.2.4来流为剪切流的绕流问题 495.3格子Boltzamnn方法模拟气固两相流 515.3.1对气固两相流的模拟模拟对象简介 515.3.2 计算结果分析 545.3.3本节小结 565.4 格子Boltzamnn方法模拟油水两相流软件设计 565.4.1 LBM油水两相流的关键因素选取 575.4.2 软件的设计 605.4.3 本节小结 635.5 简述格子Boltzamnn方法在其他领域中的应用 645.5.1 颗粒悬浮问题的模拟 645.5.2 热导和对流—扩散问题的模拟 645.5.3 偏微分方程的模拟 655.5.4 多相流和多元流的模拟 65结论及展望 67参考文献 68第1章概述1.1研究格子Boltzamnn方法的意义自从二十世纪四十年代出现了第一台电子计算机以来,人们开始进入了电子信息时代.随着高存储、高速度计算机的出现,人们所能解决的问题也越来越广泛,同时所面临的问题也越来越复杂.在对流动现象的研究中,以往人们大部分依靠的是解析方法,但所解决的问题非常有限.而现实生活中所面临的流动问题往往十分复杂,如航空航天器的亚跨超音速飞行、舰船的航行等等,依靠解析的方法来解决这些复杂的流动现象是不可能的.到现今为止,人们对流体运动的研究主要靠实验方法和数值计算方法.实验方法具有直观、结果基本可靠的特点.但也存在较大的缺点:耗费大、周期长,并且结果受实验条件的影响也较大,尤其是如今的航空航天飞行,速度高、飞行条件复杂,用风洞来模拟困难是相当大的.而流体的运动可以由一组偏微分方程描述.在大多数情况下,这些方程(如N-S方程)都是高度非线性的,采用解析的求解方法是不实际也是不可行的.随着大型计算机的出现,使人们可以借助于计算机用数值计算方法来解决复杂的流动问题.因此,在二十世纪六十年代,用数值方法分析求解流动问题的学科——计算流体力学(CFD)逐渐发展起来.伴随着电子计算机的飞速发展以及各种新颖算法的不断出现,CFD已经形成了一门独立的学科,并且在航空航天、船舶、大型能源装置(如核电站)、新型交通工具、海洋工程、环境保护等众多工程技术部门和领域都得到了广泛的应用.随着计算技术的发展、巨型计算机的出现、计算方法的不断改进,计算流体力学在解决流动的理论和工程实际问题中愈加显示出它的巨大作用.目前,计算流体力学已经成为现代计算科学的最有力的推动力之一.在计算流体力学中,传统的数值模拟方法可以分为两大类:(1)从宏观角度出发,基于连续介质假设,采用数值计算方法,求解全位势方程或Euler方程或N-S方程;(2)从微观角度出发,采用分子动力学的方法,对流动进行数值模拟.其中,格子Boltzamnn方法就是典型的一种.格子Boltzamnn方法(Lattice Boltzamnn Method,LBM)1.1.2格子Boltzamnn法(lattice Boltzamnn method)起源于格子气自动机(Lattice Gas Automata,LGA).LGA方法是元胞自动机(Cellular Automata,CA)在流体力学中的具体应用,是空间、时间和速度空间都离散的一个虚拟微观模型,与以连续微分方程为基础的宏观计算流体力学方法有着本质的不同.LGA的微观特性使得它的边界条件非常容易实现,并且计算也很简单.因此,LGA方法非常适于处理边界复杂的问题.更为重要的是,LGA的计算具有局部性和并行性,非常容易在并行机上实现.LGA的出现不但为并行计算提供了许多新思想,而且对并行计算机制造技术产生了重要的影响.但是,LGA方法也有许多不足之处.例如,由于含有随机因素,LGA的计算结果往往包含很大的统计噪声,LGA的宏观方程也不是标准的流体运动宏观方程.格子Boltzamnn方法是为克服LGA方法的一些内在不足而发展起来的一种新方法.LBM不但克服了LGA的缺点,继承了LGA的主要优点,而且还有许多新的优点,如计算量小、计算效率高、编程简单等.LBM的产生与发展,不仅在计算流体力学领域中产生了深远的影响,它所使用的处理方法和观点对其他许多学科也是富有启发性的.格子Boltzamnn法是一种应用非连续介质思想研究宏观物理现象,并可平行运行,求解流体力学问题的新方法.它是由格子气自动机(lattice gas automata,简称LGA)方法发展而来的.该法把流体及其存在的时间、空间完全离散,把流体看成由许多只有质量没有体积的微小粒子组成,所有这些粒子同步地随着离散的时间步长,根据给定碰撞规则在网格点上相互碰撞,并沿网格线在节点之间运动.碰撞规则遵循质量、动量和能量守恒定律.流体运动的宏观特征是由微观流体格子相互碰撞并在整体上表现出来的统计规律.该法是直接从微观模型出发,经过Boole化处理后进行计算,可认为是N-S差分法逼近的一种无限稳定的格式.被广泛应用于复杂几何边界流体流动、多孔介质流、多相流及反应流等.格子气自动机的基本思想是,把计算区域分成许多均匀的正三角形(或正方形)的网格,而那些只有质量无体积的粒子只能在网格点上存在,并沿着网格线在网格间运动.当某一个粒子从某一网格点到邻近的网格点时,有可能和从其他网格点到达该点的粒子相碰撞.根据Pauli不相容原理,在同一时刻同一点上,沿着每一网格线运动方向最多只有一个粒子,流场中的粒子速度不是0(静止)就是1(设格子边长及时间间隔都为1).以三角形网格为例,每一个网格上在某一时刻,其周围的6个网格上粒子沿着网格线聚集到该点,加上该点可能还有一个静止粒子,这样,可能有7个粒子在该点发生碰撞,然后根据碰撞规则再散射出去,演化为新的运动粒子流向各节点的邻居,形成格子气自动机.1986年MeNamaxa和Zaneltti,提出把格子气自动机中的整数运算变成实数运算,建立了格子Boltzamnn 模型,克服了格子气自动机的数值噪声的缺点.后来陈十一和钱跃宏采用了单一时间松弛方法,满足了各项同性,GalIean不变性,并得到了独立于速度的压力项.使格子Boltzamnn模型保留了格子气自动机的优点,克服了其不足,并在理论分析和数值模拟方面都具有很大灵活性,而且程序编制简单,计算效率较高.从格子Boltzamnn方法诞生至今天已有20年,20年间,其在理论和应用研究等方面都取得了迅速发展,并逐渐成为在相关领域研究的国际热点之一,受到国内外众多学者关注.与之传统模拟方法不同,格子Boltzamnn方法基于分子动理论,具有清晰的物理背景.该方法在宏观上是离散方法,微观上是连续方法,因而被称为介观模拟方法.在许多传统模拟方法难以胜任的领域,入微尺度流动与换热、多孔介质、生物流动、磁流体、晶体生长等,格子Boltzamnn方法都可以进行有效的模拟,因此它被用于多种复杂现象的机理研究,推动了相关学科的发展.可以说,格子Boltzamnn方法不仅仅是一种数值模拟方法,而且是一项重要的科学研究手段.此外,格子Boltzamnn方法还具有天生的并行特性,以及边界条件处理简单、程序易于实施等优点.可以预计,随着计算机技术的进一步发展,以及计算方法的逐渐丰富,格子Boltzamnn方法将会取得更多成果,并为科技发展发挥更重要的作用.1.2 格子Boltzamnn方法的发展历程格子Boltzamnn方法自诞生至今年已取得了长足发展,被誉为现代流体力学的一场变革.1.2.1孕育阶段:对格子Boltzamnn方法发展使得了解,得先从格子自动机说起.格子气自动机使更广泛的元胞自动机在流体学中的应用.元胞自动机是一个时间和空间离散的数学模型.20世纪60年代,Broadwell等人首先提出了离散速度模型,用以研究流体中的激波结构.20世纪70年代,为了研究流体的运输性质,法国的Hardy、Pomeau和Pazzis提出了第一个完全离散模型,该模型命名HPP模型.这是历史上的第一个格子气自动机模型.1986年,法国的Frisch、Pomeau和美国的Hasslacher提出具有足够对称的二维正六变形格子气自动机模型,,命名为FHP模型.由于这些方法在还处在一些缺点:(1)有格子气自动机演化方程推导出来的动量方程不满足Gaililei不变形;(2)流体状态方程不仅仅依赖于密度和温度,还与宏观流速有关;(3)破装蒜子具有指数复杂性,对计算量和存储量也有较大要求.因而,我们将这一段格子气自动机的发展过程称作格子Boltzamnn方法的孕育期.1.2.2 萌芽到成长阶段:自1988年底一篇关于格子Boltzamnn方法的论文出现至今,格子Boltzamnn方法从萌芽逐渐成长壮大,并成为目前一大国际研究热点,受到越来越多学者的关注.1988年,McNamra和Zanetti提出把格子气自动机中的Bool运算变成时数运算,格子点上的粒子数不是用整数0或1来表征,而是用实数f来表示系综平均后的局部粒子分布函数,用Boltzamnn方程代替格子气自动机的演化方程,并将该模型用于流体的数值计算.这是最早的格子Boltzamnn模型,从此开启了格子Boltzamnn方法的历史大门.1989年,Higuera和Jimenez提出了一种简化模型:通过引入平衡分布函数,将碰撞算子线性化.该模型不需要碰撞模型,并忽略各自粒子间的碰撞细节,相比于多粒子碰撞模型,容易构造.同年,Higuera等进一步提出了强化碰撞算子方法,以增加模型的数值稳定性.这两模型统成为矩阵模型.经历了上述两类模型,格子Boltzamnn方法消除了统计噪声,克服了碰撞算子指数复杂性,但是由于依然使用Fermi-Dirac平衡态分布函数,格子气自动机的其他缺点仍然存在.1991年,Chen等提出了单松弛时间法,用同一个时间松弛系数来控制不同例子靠近各自平衡态的快慢,进一步简化了碰撞算子;Qian等人在1992年也提出了类似的方法,称之为格子BGK(LBGK)模型.LBGK模型与矩阵模型类似,但与前面两种模型不同的是,当粒子种类数增加时,碰撞算子本身发生生变化,不会变得复杂.至此,格子Boltzamnn方法完全克服了格子气自动机的一系列缺点,并逐渐成熟,成为国际研究的热点.早期的格子Boltzamnn模型只能用于等温不可压缩流动的模拟.但因为存在可压缩效应,会引起一定的误差.为了消除或强敌有可压缩效应引起的误差,许多学者致力于新的格子Boltzamnn模型的研究,并提出了多种等温不可压模型.而后,一些不可压缩热模型成功实现了对有效范围温度变化的热力学和传热学问题的模型.其中,最成功的要数双分布函数模型.他是在密度分布函数的基础上引入了温度分度函数、或内能分布函数、或总能分布函数,并用密度分布函数演化得到速度场,这类模型具有与等温不可压模型相同的数值稳定性,而且可以从根本上解决压缩功和耗热问题.边界处理方面,经历了20年的发展,格子Boltzamnn方法已逐渐发展出适合不同边界条件、不同模型的边界处理格式.网格划分方面,最初的格子Boltzamnn方法是基于正六边形或正四边形的均匀对称网格.由于均匀网格在计算效率、计算精度等方面的不足,从而促进了非均匀网格、多快以及多重网格、无网格等多技术出现.总的来说,这些网格技术延展了格子Boltzamnn方法的应用范围,使得格子Boltzamnn方法主机去年从理论的神殿走向更可能多的实际应用领域.1.3 格子boltzamnn方法应用概况及优缺点1.3.1格子boltzamnn方法应用概况与传统的宏观数值方法相比,具有介观特性的格子Boltzamnn方法其主要优点是物理图像清晰、便捷容易处理以及并行性能好等.因而自诞生之日起,格子Boltzamnn方法就得到了国内外学术界的广泛关注,并寄希望该方法能再注入为尺度流体、多相流、多孔介质内流动与换热、化学反应流等传统法就延受限的领域取得开拓性进展.事实上,在20年的发展过程中,格子Boltzamnn方法的确也已成一个十分活跃极具发展前景的模拟手段.并迅速在微/纳米尺度流、多孔介质流、多相多质流、非牛顿流体、粒子悬隔i浮流、湍流、化学反应流、燃烧问题、磁流体、晶体生长等许多领域得到应用.下面分别以多孔介质流、多相流和非牛顿流体三个方面为例,做较详细说明.由于格子Boltzamnn方法边界条件易于实施,在模拟具有复杂几何构型的问题具有较大的优势,因而这个方向的发展非常迅速.目前,采用格子Boltzamnn方法对多孔介质流进行模拟主要在空隙尺度和代表单元尺度上进行.在孔隙尺度上,可以直接使用格子Boltzamnn方法描述孔隙内的流体流动,多孔介质则当做固体壁面,流体与介质相互作用使用边界处理格式来描述.在多相流方面,由于真实的流动问题常常是多相的,因而对其开展研究具有重要的现实意义.由于格子Boltzamnn方法的介质特性,它可以方便地描述数流动中不同相之间的相互作用,因而在多相流领域具有较好的应用前景.按照设计方法的不用,现有模拟多相流的格子Boltzamnn模型可分为四大类:着色模型、伪势模型、自由模型和其他模型.格子Boltzamnn方法在非牛顿流体领域的应用刚刚起步,主要研究对象是非牛顿幂律流体.Aharonov等最早提出使用矩阵碰撞该算子来计算幂律流问题,即在每一个时步内,调整碰撞算自来该表局部的动力学黏性系数.Boek用该模型模拟了幂律流体在简化多孔介质中模型的流动,模拟结果与达西定律符合良好.最近,Gabbanelli又对上述模型进行了改进,引入分段幂律方程描述剪切率和表现黏度的关系.以上可看出,到目前为止,格子Boltzamnn方法的研究者主要局限在科学界.尽管如此,随着格子Boltzamnn 方法理论体系逐渐完善,以及计算机技术的进一步发展,格子Boltzamnn方法也会走向更加广泛的工业实际应用中.1.3.2格子Boltzamnn的优缺点流体力学的理论描述通常建立在纳维--斯托克斯方程的基础上,作为流体力学的基石,它已处在了一个多世纪.在通常尺度下,|人们对此方程的物理可靠性即准确性并不抱异议.理论上人们一般通过求纳维--斯托克斯方程及其各种简化形式的途径来处理复杂的流体力学问题,现行的计算流体力学研究也主要是围绕着纳维--斯托克斯方程的计算方法展开的.然而,基于其本质上的非线性以及边界条件处理的困难,除少数简单问题外,解析和数值求解纳维--斯托克斯方程都是极具挑战性的任务.除了求解的困难外,作为一种对流体物理的描述,与描述经典力学运动的牛顿运动方程,或与描述量子力学运动的薛定谔方程等原理方程不同,纳维--斯托克斯方程是从更根本的原理性方程出发,在合理地假定某些物理机制可以忽略后,经过统计平均得到的.本质上纳维--斯托克斯方程当然不可能描述那些被忽略了的物理机制带来的宏观现象,比如流体系统中的相变、非牛顿的本构关系以及在分子运动自由程尺度上的物理现象,在这些领域,纳维--斯托克斯方程明显的显示出了他的局限性.从20世纪80年代末开始,一种对于流体力学的全新的理论表相及有效的计算方法初步形成,这就是现在人们通常所谓的格子Boltzamnn方法.关于格子Boltzamnn方法的早期发展,上文已有较全面的综述,在此仅作简单介绍.从历史角度来讲,格子Boltzamnn方法最初是从所谓的格子气模型演化而来的,而后者是一种抽象简化的分子运动数学模型.格子Boltzamnn方法最初的引入有两个主要原因:一是为了降低模型导致的数值噪音;而是能够克服格子气模型里处在的非物理缺陷.可以证明,格子Boltzamnn系统的宏观表象基本满足纳维--斯托克斯方程.从而,人们可以模拟格子Boltzamnn系统地方法来间接地解纳维--斯托克斯方程.标准格子Boltzamnn方程一般用一下的数学表达式描述:式中——粒子分布函数;——碰撞项.用格子玻尔兹曼模型进行流体的数值模拟有一些明显的优越性.如,它的对流(advection)过程是通过常数值速度实现的.这相应的计算是一项极其简单的操作步骤.当适当的格子网格选定后,该过程通常可以用完全平移的方式实现.用计算数学里的常规有限插值语言来讲,它对应于上风插值.但所不同的是其对应的柯郎数(Courant Number)等于1.相比之下,纳维——斯托克思方程的对流项是一个随时空变化的非线性函数.众所周知,对于它的计算不是一项简单的事,并且,数值稳定性的要求迫使人们在实际问题的计算中只能使用比1小得多的柯朗数.在给定空间分辨度的情况下,小柯朗数意味着小时间步长,从而大大延长了计算时间:同时,小柯朗数也增大了数值扩散误差,迫使人们采用更高精度格式或隐式格式.其后果是,或者算法变得极为复杂,并行效率大大降低;或者计算只限制在处理定常流的情况下.事实上,定常流是对流动情况的极大限制.许多重要的流体力学问题,如分离流,即使我们只关心它的时间平均的结果,也是不能用定常流假设来近似的.在此我们也要提一下格子玻尔兹曼方程的另一个本质特性:所有非线性效应在格子玻尔兹曼方法里都包含在碰撞项中,并且是以纯粹局部信息的方式体现的.这进一步发挥了并行计算的长处.所有这些理由意味着格子玻尔兹曼方法是对非定常流动实行大规模并行模拟计算的一种比较优越的方法.相比之下,以流体力学方程(纳维一斯托克思方程或Burnett类型方程)宏观描述为基础的传统计算方法对许多这类问题存存基本困难.除边界条件之外,利用各种封闭性假设推导出的超越纳维一斯托克思的宏观方程直至现今仍存在对其数学规范性的疑问和争议,多相流的计算也存存同样问题.众所周知,流体系统中存在多相的物理机制是分子问的长程作用力,这种机制早已超出了流体力学方程所能描述的物理现象范围.以流体力学方程为基础的多相流计算方法必须依赖额外的模型来模拟流体力学方程本身所不包含的物理现象.除了实际数值结果显示的问题之外,这种方法本质上隐含着严重的基本物理缺陷,这种缺陷集中表现在对相交界面的准确描述上面,即在十分尖锐的相界面附近,纳维一斯托克思方程之类近平衡态的近似表象是有相当疑问的.这也反映在相界面和兀滑动(no—slip)固体边界条件的互斥性上面,为了修补这一缺憾,人们不得不引入各种滑动经验模型.反之,以细观(mesoscopic)为表象基础的格子玻尔兹曼方法可容忍更大的非平衡态程度及更广义的严格边界条件.另外,压力的状态方程在细观表象中是由粒子的相互作用自然得出的,而不用直接输入和处理.在相变情况下,物体的宏观特性将产生不连续性,而对应的微观和细观力学机制并无改变.格子玻尔兹曼方法在模拟多相流上有着广泛的使用.然而,这种为大多数人所熟悉的格子玻尔兹曼方法的理论框架存在本质上的缺陷.由于它运用逆向切普曼一安斯柯格展开的途径来适定平衡态分布函数中的关键参数,以达到复建宏观物理体系的目的,这就使其。

基于格子Boltzmann方法的换热器优化模拟

基于格子Boltzmann方法的换热器优化模拟
v l e o y l s nu e i h ye d h s a x h n e p ro m a c a u fRe nod mb rwh c il s t e be the te c a g e f r n e; Nu s h n m b rd c e s s se u e e rae
介质模 型模拟 换 热 器 内的 换热 , 究 雷诺 数 、 朗特数 和 热扩散 率 比的 变化对 温度 场和换 热性 能 的 研 普 影响 . 模拟 结 果表 明 : 小雷诺数 范围 内, 着 雷诺 数 的 增加 , 塞 尔数 先增 加后 减 小 , 在 随 努 即存 在 一个
使 换 热性 能达 到 最好 的雷诺 数 热 性能 降低 ; 着热扩散 率 换 随
i t i c e s sa h n de r a e t t e i c e s fRe n l u e f sl n r a e nd t e c e s swi h n r a e o y odsn mb r,i e r y h . .,t e e e it n o tmu h r x ssa p i m
比的增 加 , 换热 性 能提 高. 析 不 同管柱排 列 方式对 换 热性 能的 影响 , 分 结果表 明 : 叉排 的换 热效 果明 显优 于顺排 , 当横 向节距 等 于 2时 , 于均 匀顺 排或 叉排 , 塞 尔数 均 随纵 向节距 的增加 而减 小 , 对 努 这 与 实验 结 果相符 ; 于非 均 匀叉排 , 用 “ 密” “ 对 采 前 或 中间密” 的排 布 方式 有利 于换 热.
pi a k i ps b n s muc et rt n t to l n d p pe h b te ha ha fa i e i s;i h r n v ra i h i e st g ft e ta s e s lp t ss ta wo,Nu s h u e c s e n mb r

有限体积格子Boltzmann方法的算法改进及性能分析

有限体积格子Boltzmann方法的算法改进及性能分析

有限体积格子Boltzmann方法的算法改进及性能分析武频;曹啸鹏;尚伟烈;郑德群;高升【期刊名称】《计算机应用研究》【年(卷),期】2012(29)10【摘要】有限体积格子Boltzmann方法(LBM)能够将标准LBM的应用范围扩展到非结构网格,但是比起标准的LBM这个方法需要更多的内存用量和计算量.针对此问题采用了优化计算顺序、简化计算方程的方法对有限体积LBM算法进行改进.科学的分析和实验的结果表明,改进后的算法能够在不增加计算量的基础上减少内存用量,在一些情况下还可以大量减少计算时间.%Finite volume lattice Boltzmann method ( LBM) can extend the standard LBM to unstructured mesh, but compared with standard LBM this method suffers from higher memory consumption and poorer computational performance. In order to solve this problem, the improvement process used the methods of optimizing evaluation order and simplifying calculating equation. Scientific analysis and experimental results demonstrate that the improved algorithm results in lower memory usage without additional computation, and in some conditions it reduces much computation.【总页数】4页(P3706-3709)【作者】武频;曹啸鹏;尚伟烈;郑德群;高升【作者单位】上海大学计算机工程与科学学院,上海200072;上海大学计算机工程与科学学院,上海200072;上海大学计算机工程与科学学院,上海200072;上海大学计算机工程与科学学院,上海200072;上海大学计算机工程与科学学院,上海200072【正文语种】中文【中图分类】TP391【相关文献】1.异构平台下格子Boltzmann方法实现及性能分析 [J], 张丹丹;徐莹;徐磊2.基于格子Boltzmann方法和有限体积法的方柱绕流特性对比分析 [J], 史冬岩;李红群;王志凯3.基于非结构化网格的高可扩展并行有限体积格子Boltzmann方法 [J], 徐磊;陈荣亮;蔡小川4.有限体积格子Boltzmann方法用于近空间连续流区绕流模拟 [J], 皮兴才;李志辉;彭傲平;张子彬5.格子Boltzmann并行程序的优化与性能分析 [J], 赵鹏;张丹丹;汪鲁兵;田振夫;钱跃竑因版权原因,仅展示原文概要,查看原文内容请购买。

格子boltzmann法

格子boltzmann法

格子boltzmann法
格子波尔兹曼法(Grid-Based Boltzmann Method)是用于计算复杂系统的一种数值模拟方法,该方法基于玻尔兹曼方程,采用格子划分的非总熵方案计算分布函数所描述的传播动力学系统的平衡性质。

格子波尔兹曼方法由三个部分组成,分别是分子动力学基础、格子化方案以及格点迭代方案。

在空间上,格子波尔兹曼方法采用密度聚类格子,由于每个格子内节点之间的影响,允许改变每个节点状态。

在时间上,格子波尔兹曼方法通过欧拉法和龙格-库塔法,将弹性系统的猝灭问题转换为一个接近平衡态的迭代问题。

最终,根据初始条件和格子化方案计算本征周期、如粒子操纵力学系统中的陷阱模式等。

多重网格格子Boltzmann方法的并行算法

多重网格格子Boltzmann方法的并行算法

多重网格格子Boltzmann方法的并行算法刘智翔;宋安平;徐磊;郑汉垣;张武【摘要】针对复杂流动数值模拟中的格子Boltzmann方法存在计算网格量大、收敛速度慢的缺点,提出了基于三维几何边界的多重笛卡儿网格并行生成算法,并基于该网格生成方法提出了多重网格并行格子Boltzmann方法(LBM).该方法结合不同尺度网格间的耦合计算,有效减少了计算网格量,提高了收敛速度;而且测试结果也表明该并行算法具有良好的可扩展性.【期刊名称】《计算机应用》【年(卷),期】2014(034)011【总页数】5页(P3065-3068,3072)【关键词】格子Boltzmann方法;多重网格;并行算法;可扩展性;OpenMP【作者】刘智翔;宋安平;徐磊;郑汉垣;张武【作者单位】上海大学计算机工程与科学学院,上海200444;上海大学计算机工程与科学学院,上海200444;上海大学高性能计算中心,上海200444;上海大学计算机工程与科学学院,上海200444;上海大学计算机工程与科学学院,上海200444;上海大学计算机工程与科学学院,上海200444;上海大学高性能计算中心,上海200444【正文语种】中文【中图分类】TP338.6;O246复杂流体运动的数值模拟一直是大规模科学与工程计算中最重要且具有挑战性的研究领域之一。

与基于宏观纳维-斯托克斯(Navier-Stokes, N-S)方程的计算流体动力学和基于微观分子动力学的流体力学模拟方法不同,基于Boltzmann 方程的格子Boltzmann方法(Lattice Boltzmann Method, LBM)从介观尺度来描述流体系统[1]。

由于Boltzmann 方程自身本质的运动学特性,且能根据经典的Chapman-Enskog 展开得到连续型的N-S方程,因此LBM比基于连续介质假设的N-S方程包含了更多的物理内涵[2]。

同时,LBM具有天然的并行性和方便处理边界条件等优点,使之适合处理复杂几何形状和复杂流动大规模计算问题[3]。

热格子Boltzmann法分析及应用

热格子Boltzmann法分析及应用

热格子Boltzmann法分析及应用陈杰;钱跃竑【摘要】格子Boltzmann方法(lattice Boltzmann method,LBM)是一种基于气体动理论的介观计算方法,其物理背景清晰、边界处理简单,已成功应用于等温(或无热)流动中.简要介绍现有的几种热格子Boltzmann模型,并运用几种热格子模型求解热Couette流、方腔自然对流等典型算例,对比不同热格子模型的数值稳定性、准确性、模型的计算效率等.将两种热格子模型用于多孔介质内的流动与传热问题中,对比热格子模型在处理复杂结构时的数值特性.%Lattice Boltzmann method (LBM) is a mesoscale computational method based on the gas kinetic theory. For solving Fourier-Navier-Stokes equations, the thermal lattice model has attracted much research attention. This paper compares several thermal lattice models in terms of accuracy, stability and computational efficiency. The thermal flow in pore-scale porous is also studied using different thermal lattice models.【期刊名称】《上海大学学报(自然科学版)》【年(卷),期】2012(018)005【总页数】7页(P489-495)【关键词】格子Boltzmann方法;热格子Boltzmann方法;多孔介质【作者】陈杰;钱跃竑【作者单位】上海大学上海市应用数学和力学研究所,上海200072;上海大学上海市应用数学和力学研究所,上海200072【正文语种】中文【中图分类】O351格子Boltzmann方法(lattice Boltzmann method,LBM)是近20年发展成熟起来的一种数值计算方法.LBM基于气体动理论,通过分布函数的演化获得宏观信息.作为一种简单且能处理复杂流动问题的有效数值方法[1-2],LBM具有良好的数值稳定性、天然的并行性、简单的边界处理等优点,自出现之日起就被广泛用于多孔介质流[3]、多相流[4]、反应扩散系统[5]等诸多领域.早期的LBM只应用于等温流动(或无热流动)的模拟,但是基于这种方法具备处理复杂问题的能力以及解决传热问题的需要,研究者一直在不断地探索研究热格子Boltzmann模型,已形成了一些经过数值验证具有模拟热流动能力的热LBM[6-10],并应用于多孔介质流动与传热、燃烧及化学反应流、湍流等问题.本研究简述了不同热格子Boltzmann模型的基本理论,并通过数值分析对比了不同热格子Boltzmann模型的计算结果及数值特性,进而用于多孔介质流动传热问题中.1 等温LBM基本原理LBM中除时间、空间被离散之外,无限维的粒子速度空间也都被离散成有限的速度序列.在标准LBM模型中,物理空间被离散成正方形(体)格子,流体粒子在格点x上碰撞并按离散速度E=[e0,e1,…,eq-1]迁移到x+eiδt格点.fi(x,t)定义为t时刻在格点x上速度为ei的粒子密度,满足如下的格子Boltzmann方程:式中为平衡态函数,ω为松弛因子.通过简单地向平衡态不断趋近的过程代替真实的复杂碰撞,即BGK(Bhatnagar-Gross-Krook)近似,所以此模型也称为LBGK 模型.平衡态分布函数的选取是LBM的关键.DnQm系列[1]中均采用式中,cs为格子声速,Wi为不同速度粒子的权重.本研究在数值模拟中均采用D2Q9模型.宏观密度和速度分别定义为2 热格子Boltzmann模型现有的热格子Boltzmann模型通常可以分为两大类:第一类是流场温度场耦合统一求解的模型,如多速格子Boltzmann模型(multi-speed LBM,MSLBM)、熵格子Boltzmann方法(entropic LBM,ELBM);另一类则是对流场与温度场分别求解,如被动标量格子Boltzmann模型(passive scalar LBM,PSLBM)、双分布函数(double-distribution-function,DDF)模型,以及其他与传统计算流体动力学(computational fluid dynamics,CFD)结合的混合方法,如混合热格子Boltzmann方法(hybrid-thermal LBM,HTLBM).2.1 多速格子Boltzmann模型(MSLBM)多速格子Boltzmann模型是等温LBM模型的直接推广,其密度、速度、内能等均由速度分布函数的各阶速度矩得到.Qian[6]基于等温LBGK模型,提出了D1Q5,D2Q13,D3Q21,D3Q25热力学LBGK模型.在这些模型中,除了要满足等温模型的守恒条件外,还应满足能量守恒和平衡态热通量为0的条件:平衡态分布函数是Maxwell分布的截断形式:式中,Ap,Bp,Dp为待定参数,由满足的守恒条件确定.平衡态包含了速度的三阶项,离散速度也在D2Q9的基础上在主坐标轴上增加了4个速度.Qian[6]采用此模型对一维激波管、二维 Rayleigh-Benard对流进行了模拟,证明了该模型的有效性.MSLBM具有良好的物理基础,宏观方程绝对耦合,已成功模拟了一些传热现象,但只能模拟狭窄的温度范围和较小的Ma数,存在稳定性问题,限制了该模型的广泛应用.2.2 熵格子Boltzmann方法(ELBM)熵格子Boltzmann方法考虑了H定理,通过在守恒约束下最小化波尔兹曼H函数求解平衡态分布函数,由此得出的正定的分布函数保证了模型的稳定性和准确性[11].Prasianakis等[10]将ELBM拓展到热流动问题的求解中,证实了该方法的有效性,本研究参照此方法.H函数定义为平衡态分布函数则是在满足守恒约束条件:的情况下,求H函数最小值得到的,具体形式详见文献[10].Prasianakis等[12]采用在ELBM中加入高阶量的补偿算法,较大地提高了基于D2Q9标准格子的ELBM可模拟的温差和Ma数,但是模型实施较为复杂.2.3 双分布函数模型双分布函数模型,即存在两个分布函数:密度分布函数和内能(温度或总能)分布函数,其中密度分布函数用于模拟速度场,而内能(温度或总能)分布函数则用来模拟温度场.温度、内能或总能分布函数均通过不同的方式构造,但其演化都独立于密度分布函数.2.3.1 被动标量格子Boltzmann模型(PSLBM)被动标量格子Boltzmann模型基于如下原理:在忽略压力做的功和粘性热耗散的情况下,温度可以看作是随流体运动的一个标量,遵循对流扩散方程.由于此方程与组分浓度场的控制方程一样,于是Shan[7]提出使用两组分模型模拟单组分热流动问题:组分1模拟流体的运动;组分2模拟被动的温度场.平衡态密度函数为式中,σ表示组分,两组分共享速度,2.3.2 内能双分布函数模型内能双分布函数模型最早由He等[8]提出,其速度场仍用密度分布函数演化模拟,温度场则由内能分布函数模拟.该模型的基本思想是通过对连续Boltzmann方程进行特殊的离散得到等温LBM,如果进行同样的操作,则热LBM可以由离散内能的演化方程得到.根据内能的定义ρε=∫(ξ-u)2/2f dξ,引入内能分布函数g(r,ξ,t)=(ξ-u)2f/2,并引入新的碰撞模型,得到内能分布函数满足的演化方程:式中,q=(ξ-u)·[∂tu+(ξ·)u].然后对演化方程离散,得到可用于数值计算的离散的分布演化方程,具体的离散过程详见文献[8].相比于PSLBM,内能DDF的构造更具有物理基础,并包含了粘性热耗散和可压缩功.相比于MSLBM,DDF模型具有更好的数值稳定性,Pr数不受限制,因此被广泛用于各种近似不可压流体流动与传热问题.2.4 混合热格子Boltzmann模型(HTLBM)HTLBM是指使用 LBM解速度场,使用传统CFD解温度场,并通过一定的方式相互影响.这种方法利用了LBM能简单处理复杂流动问题的优势以及传统CFD在传热问题上的成熟技术,可以处理一些仅仅使用传统CFD较难解决的复杂流动传热问题.最初,Lallemand等[13]将多速多松弛模型和有限差分法(finite difference method,FDM)相结合,提出了混合模型,速度场用多松弛LBM求解,温度场采用FDM求解.本研究采用有限容积法(finite volume method,FVM)与LBM相结合的混合方法,即采用如下的FVM求解能量守恒方程:式中,S为广义源项,包括压力做的功和粘性热耗散.速度场与温度场的耦合通过在LBM中添加温度相关的外力项以及在FVM中添加广义源项S来实现.此外,普朗特数、比热容等热物性以及随温度变化的输运系数可以实现相应的调节.本研究中FVM与LBM采用同一套网格系统,FVM采用绝对稳定且具有与LBM相同精度的二阶迎风格式(second-order upwind scheme,SUS).PSLBM,DDF以及HTLBM这类模型的一个关键之处在于流场与温度场之间的耦合,其模型往往不满足气体完全状态方程,温度场对速度场的影响只是通过施加一个外力来实现.如Guo等[9]针对Boussinesq方程组,通过在密度分布函数演化方程中增加一个外力项以实现温度对流场的影响.Filippova等[14]基于HTLBM研究了小Ma数下高温燃烧,用温度场修正密度场以满足状态方程.3 计算结果及分析为了进一步对比各类模型,本研究采用ELBM,PSLBM,内能DDF模型以及HTLBM,对热Couette流、封闭方腔自然对流和多孔介质内非等温流动等问题进行了模拟对比.3.1 热Couette流模拟考虑两平板间热Couette流,上平板以速度U向右运动,下板静止,且上下平板分别保持恒温Th,Tc,且Th>Tc.横截面温度廓线的解析形式为式中,H为平板间距离,Pr=ν/χ为普朗特数,χ为热扩散系数,Ec=U2/[Cp(Th -Tc)]为埃克特数.热Couette流中不考虑流体可压缩性的影响,而粘性耗散效应明显,因而分别运用ELBM,内能DDF模型和HTLBM对该问题进行了模拟,网格数均为64×64.模拟中Re=UH/ν=20,计算结果如图1所示.固定Pr=4,Ec分别为1,10和20的无量纲温度廓线,散点为不同方法的计算值,曲线为解析解公式(10).由图可见,三种模型都成功模拟了粘性耗散效应,且与解析解吻合得很好.本工作进一步研究了三种模型的计算效率问题.图2给出了温度残差随CPU时间的变化曲线,可见ELBM和HTLBM明显优于内能DDF模型.3.2 封闭方腔自然对流模拟封闭方腔尺寸为H(正方形边长),左右壁面分别保持恒温Th,Tc,且Th>Tc,上下壁面绝热,四壁面速度均为无滑移边界.方腔内充满均质空气,考虑向下的重力.描述自然对流的无量纲参数Ra数定义为图1 热Couette流温度廓线Fig.1 Temperature variation of the thermal Couette flow图2 热Couette流温度残差变化曲线Fig.2 Temperature residuals variation of the thermal Couette flow式中,β为热膨胀系数.物性满足Boussinesq假设,这里通过施加外力G=-β(T-T0)g实现温度场对速度场的影响.在方腔自然对流中,可压缩效应以及粘性耗散效应可忽略不计.从模型分析可以看出,PSLBM在这种情况下与DDF模型类似,而ELBM边界实施较为复杂.因此,本研究分别采用不包含粘性耗散效应的PSLBM和HTLBM对该问题进行了模拟,模拟中Pr=0.71,Ra数分别为104,105和106.图3和图4分别为HTLBM在不同Ra数下流动稳定后得到的流线、等温线,与以往的数值及实验结果一致.由图3可见,随着Ra数的增大,方腔中心的近似圆形的涡逐渐变成椭圆形,进而分裂成两个涡.当Ra= 106时,两个涡分别向左右壁面移动,在中心出现了第三个涡.由图4可见,随着Ra数的增大,竖直的等温线逐渐变得水平,主导的传热机理由导热变为对流.为了进一步定量考核,本研究计算了努塞尔数Nu和平均努塞尔数 Numean.表1给出了热壁面的Numean、最大Nu数Numax及相应位置的yNumax、水平中心线上最大速度vmax及相应的位置x、垂直中心线上最大速度umax以及相应的位置y.HTLBM和PSLBM求解的结果与Barakos等[15]的基准解一致.同样,本研究对HTLBM和PSLBM的计算效率进行了对比,图5所示为两种方法模拟自然方腔对流Ra=105时,速度残差随CPU时间的变化曲线.可以明显看出,两种方法中残差均呈现震荡下降趋势,且HTLBM收敛快于PSLBM,HTLBM残差收敛到10-7以下时的耗时为PSLBM的57%.图3 方腔自然对流不同Ra数的流线Fig.3 Predicted streamlines of natural convection图4 方腔自然对流不同Ra数的等温线Fig.4 Predicted temperature profiles of natural convection表1 数值解与基准解对比Table 1 Comparison of numerical results between thermal models and benchmarksRa数模型 Numean Numax(y/H) umax(y/H) vmax(x/H) PSLBM 2.247 3.538(0.141) 0.194(0.824) 0.234(0.121) Ra=104 HTLBM 2.242 3.553(0.145) 0.194(0.824) 0.234(0.121) Barakos等[16]2.2453.539(0.143) 0.193(0.818) 0.234(0.119) PSLBM4.512 7.827(0.075)0.128(0.854) 0.256(0.065) Ra=105 HTLBM 4.507 7.723(0.085) 0.134(0.854) 0.260(0.065) Barakos等[16] 4.510 7.636(0.085) 0.132(0.859) 0.258(0.066) PSLBM 8.809 17.454(0.033) 0.079(0.852) 0.261(0.037) Ra=106 HTLBM 8.792 17.435(0.040) 0.081(0.854) 0.263(0.040) Barakos等[16] 8.80617.442(0.037) 0.077(0.859) 0.262(0.039)图5 方腔自然对流速度残差变化曲线Fig.5 Velocity residuals variation of thenatural convection3.3 多孔介质非等温流动模拟多孔介质内部结构十分复杂,其流动传热现象也相当复杂.格子Boltzmann方法在模拟孔隙内的流体运动时可以方便地使用反弹格式处理复杂流场,因此,该方法在孔隙尺度模拟多孔介质内部复杂流动上有明显的优势及较高的计算率.对于多孔介质内流动与传热的问题,以往使用比较广泛的是PSLBM和内能DDF模型.本研究将HTLBM用于多孔介质流动与传热分析中,并与PSLBM进行了对比.本研究分析了分形多孔介质中的自然对流,分形结构采用Sierpinski地毯,依次对分形等级N=2和3的Sierpinski情况进行了模拟.无量纲控制参数Pr=0.71,Ra数分别为104,105和106,固体区域温度保持线性温度分布.图6为采用HTLBM计算N= 2分形结构内自然对流得到的流线图,图7为相应的等温线.由图可见,模拟结果与PSLBM一致,随Ra数的逐步增大,传热机理由导热主导变化为对流主导.图8为N=3,Ra=106时的流线图及等温线.由图可见,固体的增多明显地抑制了对流作用.同样对HTLBM在计算效率的问题上和PSLBM进行了对比.图9为Ra=106时两种方法模拟N=2分形结构时的速度残差曲线,此时HTLBM耗时为PSLBM的76%,仍具有优势.图6 多孔介质方腔自然对流流线(N=2)Fig.6 Predicted streamlines of porous cavity(N=2)图7 多孔介质方腔自然对流等温线(N=2)Fig.7 Predicted temperature profiles of porous cavity(N=2)图8 多孔介质方腔自然对流流线及等温线(N=3)Fig.8 Predicted streamlines and temperature profiles of porous cavity(N=3)4 结论本研究简要介绍了几种热格子Boltzmann模型(MSLBM,ELBM,PSLBM,内能DDF模型及HTLBM),并运用不同热格子模型求解了两个典型算例以及多孔介质流动传热问题,得到如下结论.图9 多孔方腔自然速度残差变化曲线Fig.9 Velocity residuals variation of porous cavity(1)速度场温度场耦合求解的模型还需要进一步发展才能被广泛应用.(2)相比于PSLBM和DDF模型,HTLBM在保证计算精度的前提下,具有较高的计算效率.(3)数值模拟验证了HTLBM在处理多孔介质复杂结构时可行、有效,且比PSLBM 的效率高.参考文献:[1] QIANY H,D’HUMIERESD,ttice BGK models for Navier-Stokes equation [J].Europhysics Letters,1992,17(6):479-484. [2] QIANY H,SUCCIS,ORSZAGS A.Recent advances in lattice Boltzmann computing[M]∥ DIETRICH S.Annual reviews of computational physicsⅢ.New J ersey:World Scientific Publishing Company,1995:195-224.[3] ZHAOC Y,DAIL N,TANGG H,et al.Numerical study of natural convection in porous media(metals) using lattice Boltzmann method (LBM) [J].International Journal of Heat and Fluid Flow,2010,31 (5):925-934. [4]严永华,石自媛,杨帆.液滴撞击液膜喷溅过程的LBM模拟[J].上海大学学报:自然科学版,2008,14(4):399-404.[5]李青,徐旭峰,周美莲.三维斑图形成的格子Boltzmann方法模拟[J].上海大学学报:自然科学版,2007,13(5):516-518.[6] QIANY H.Simulating thermohydrodynamics with lattice BGK models [J].Journal of Scientific Computing,1993,8(3):231-242.[7] SHANX.Simulation of Rayleigh-Bénard convection using a lattice Boltzmann method[J].Physical Review E,1997,55(3):2780-2788. [8] HEX,CHENS,DOOLENG D.A novel thermal model for the latticeBoltzmann method in incompressible limit[J].Journal of Computational Physics,1998,146 (1):282-300.[9] GUOZ,ZHENGC,SHIB,et al.Thermal lattice Boltzmann equationfor low Mach number flows:Decoupling model[J].Physical Review E,2007,75 (3):036704.[10] PRASIANAKISN I,CHIKATAMALAS S,KARLINI V,et al.Entropic lattice Boltzmann method for simulation of thermal flows[J].Mathematics and Computers in Simulation,2006,72(2):179-183. [11] ANSUMALIS,KARLINI V,OTTINGERH C.Minimal entropic kinetic models for hydrodynamics [J].Europhysics Letters,2003,63(6):798-804.[12] PRASIANAKISN I,KARLINI ttice Boltzmann method for simulation of compressible flows on standard lattices[J].Physical Review E,2008,78(1):016704.[13] LALLEMANDP,LUO L S.Theoryofthelattice Boltzmann method:Acoustic and thermal properties in two and three dimensions[J].Physical Review E,2003,68(3):036706.[14] FILLIPPOVAO,HANELlD.A novellatticeBGK approach for low Mach number combustion[J].Journal of Computational Physics,2000,158(2):139-160.[15] BARAKOSG,MITSOULISE,ASSIMACOPOULOSD.Natural convection flow in a square cavity revisited:Laminar and turbulent models with wall functions[J].International Journal for Numerical Methods in Fluids,1994,18(7):695-719.。

流体动力学的格子boltzmann方法及其具体实现

流体动力学的格子boltzmann方法及其具体实现

流体动力学的格子boltzmann方法及其具体实现格子Boltzmann方法是以Boltzmann方程为基础的,该方程描述了流体中粒子的运动。

格子Boltzmann方法将模拟的流体区域划分为一个个离散的格子,并在每个格子中表示流体的宏观属性,如密度、速度等。

在每个格子中,通过计算碰撞和分布函数来模拟粒子的运动。

具体实现格子Boltzmann方法的步骤如下:1.离散化:首先,将流体区域离散化为一个个格子。

格子的大小可以根据需要进行调整。

2.分布函数:在每个格子中,引入分布函数来描述粒子的密度和速度。

分布函数是一个概率密度函数,表示在给定位置和速度的条件下,粒子在该位置具有该速度的概率。

3.碰撞模拟:在每个格子中,模拟粒子之间的碰撞。

根据碰撞模型,计算粒子之间的相互作用,并更新分布函数。

4.传输:根据速度和分布函数,计算粒子的传输过程。

传输过程描述了粒子从一个格子到另一个格子的流动。

5.边界条件:在模拟流体区域的边界上,需要设置适当的边界条件。

边界条件可以影响流体的流动模式。

6.时间步进:通过迭代计算,不断更新格子中的分布函数。

每个时间步长都对应着碰撞和传输的过程。

格子Boltzmann方法与其他常用的计算流体力学方法相比具有一些优势:1. 高效性:格子Boltzmann方法使用离散化格子的方式来模拟流体运动,计算量相对较小,能够高效地处理大规模流体问题。

2. 并行性:由于格子Boltzmann方法的计算是在各个格子之间进行的,因此可以方便地实现并行计算,利用多核处理器或分布式计算系统,加速计算速度。

3. 多尺度:格子Boltzmann方法可以在不同的尺度上进行模拟,从宏观的流体行为到微观的分子动力学。

4. 可分析性:格子Boltzmann方法建立在Boltzmann方程的基础上,可以通过对方程的分析来推导流体的宏观行为。

总结而言,格子Boltzmann方法是一种基于离散化格子的流体动力学模拟方法,通过计算碰撞和传输过程来模拟流体的运动。

REV尺度多孔介质格子Boltzmann方法的数学模型及应用的研究进展

REV尺度多孔介质格子Boltzmann方法的数学模型及应用的研究进展

CHEMICAL INDUSTRY AND ENGINEERING PROGRESS 2016年第35卷第6期·1698·化 工 进 展REV 尺度多孔介质格子Boltzmann 方法的数学模型及应用的研究进展张潇丹1,2,雍玉梅2,李文军3,赵元生4,李媛媛2,杨巧文1,杨超2(1中国矿业大学(北京)化学与环境工程学院,北京 100083;2中国科学院过程工程研究所绿色过程与工程重点实验室,北京 100190;3华北科技学院环境工程学院,河北 廊坊 065201;4中国石油化工研究院渣油加氢实验室,北京 102200)摘要:综述了多孔介质表征体元尺度(REV )格子Boltzmann 模型的研究进展,根据对多孔介质处理方式主要分为部分反弹模型和阻力模型两类,分析归纳了各类模型的优缺点。

由于阻力模型中渗流的广义格子Boltzmann 方程(GLBE )的作用力是基于GUO 等的作用力模型,可以准确得到宏观方程,不存在离散误差,且模型的平衡分布函数和作用力项中都包含反应介质特性的孔隙率,因而应用最为广泛。

本文还重点介绍了REV 尺度多孔介质LBE 模型在流动、传热、传质、化学反应及相变等过程中的具体应用,认为REV 尺度多孔介质内的三传一反数学模型中需要加入孔隙尺度因素,在更大工程尺度上应该考虑过程参数的各向异性,展望了REV 尺度多孔介质LBE 模型的发展和应用前景。

关键词:多孔介质;表征体元尺度;格子Boltzmann 方法;流动;传热;传质中图分类号:TQ021.9 文献标志码:A 文章编号:1000–6613(2016)06–1698–15 DOI :10.16085/j.issn.1000-6613.2016.06.010Models and application of lattice Boltzmann method at REV-scalein porous mediaZHANG Xiaodan 1,2,YONG Yumei 2,LI Wenjun 3,ZHAO Yuansheng 4,LI Yuanyuan 2,YANG Qiaowen 1,YANG Chao 2(1School of Chemical & Environmental Engineering ,China University of Mining & Technology (Beijing),Beijing100083,China ;2Key Laboratory of Green Process and Engineering ,Institute of Process Engineering ,Chinese Academy of Sciences ,Beijing 100190,China ;3School of Environmental Engineering ,North China Institute of Science and Technology ,Langfang 065201,Hebei ,China ;4Laboratory of Residue Hydrotreating ,Research Institute of PetroleumProcessing ,PetroChina ,Beijing 102200,China )Abstract :This paper discusses the lattice Boltzmann model at representative elementary volume (REV)scale for porous media. According to different treatments of porous media ,the lattice Boltzmann model at REV-scale for porous media can be classified into two categories ,the partially bouncing-back model and the resistance model. The advantages and disadvantages of various models are analyzed. The Generalized lattice Boltzmann equation (GLBE model) in the resistance model is most widely used. Firstly ,the force item of the GLBM model is based on the method proposed by Guo et al ,which can be第一作者:张潇丹(1989—),女,硕士研究生,主要从事化学工程数值模拟。

1维格子boltzmann方法

1维格子boltzmann方法

1维格子boltzmann方法1维格子Boltzmann方法引言:1维格子Boltzmann方法是一种用于模拟粒子与固体表面相互作用的数值方法。

它基于Boltzmann方程和离散化的空间网格,通过模拟粒子在网格上的运动来研究物质的输运和反应过程。

本文将介绍1维格子Boltzmann方法的基本原理、数值实现以及应用领域。

一、基本原理1维格子Boltzmann方法的基本原理是通过离散化的空间网格,模拟粒子与固体表面相互作用的过程。

它基于Boltzmann方程,该方程描述了粒子在空间中的运动和碰撞过程。

通过将空间分为离散的格子点,并在每个格子点上计算粒子的运动和碰撞,可以得到粒子在空间中的分布和运动状态。

二、数值实现1维格子Boltzmann方法的数值实现包括以下几个步骤:1. 确定空间网格的大小和分辨率:根据模拟系统的尺寸和精度要求,确定空间网格的大小和分辨率。

2. 初始化粒子分布:根据初始条件,初始化粒子在空间中的分布。

可以根据需要设置不同的初始条件,如均匀分布、高斯分布等。

3. 计算粒子的运动:根据粒子在空间中的速度和位置,计算粒子的运动。

可以使用经典力学的运动方程或者基于概率的运动模型。

4. 计算粒子的碰撞:根据粒子之间的相互作用力和碰撞模型,计算粒子的碰撞过程。

可以使用经典力学的碰撞理论或者基于概率的碰撞模型。

5. 更新粒子分布:根据粒子的运动和碰撞过程,更新粒子在空间中的分布。

可以使用离散化的方法,将粒子的分布离散化到空间网格上。

6. 重复步骤3-5,直到达到模拟结束的条件。

三、应用领域1维格子Boltzmann方法在许多领域有着广泛的应用,包括材料科学、电子学、光学等。

以下是一些典型的应用案例:1. 材料表面反应:通过模拟粒子在材料表面的吸附、反应和解吸过程,可以研究材料的表面反应动力学和机理,从而优化材料的性能和制备工艺。

2. 电子输运:通过模拟电子在半导体器件中的输运过程,可以研究器件的电流特性和性能,从而优化器件设计和制造工艺。

格子boltzmann方法模拟方形腔内纳米流体的自然对流

格子boltzmann方法模拟方形腔内纳米流体的自然对流

格子boltzmann方法模拟方形腔内纳米流体的自然对流格子Boltzmann方法是一种基于分子动力学的计算方法,用于模拟纳米尺度系统的自然对流现象。

自然对流是指由于温度梯度引起的流体的自发运动。

在方形腔内纳米流体的自然对流模拟中,格子Boltzmann方法可以提供高精度和高效率的计算结果。

格子Boltzmann方法的基本思想是通过模拟流体中分子的运动来计算流体的宏观性质。

它将流体视为由大量粒子组成的离散系统,通过迭代求解碰撞和分布函数来模拟流体的运动。

对于方形腔内纳米流体的自然对流模拟,格子Boltzmann方法可以分为以下几个步骤:1. 确定流体的初始状态:包括流体的密度分布、速度分布和温度分布等。

这些初始条件可以根据实验数据或者其他模拟结果进行设定。

2. 确定边界条件:对于方形腔内纳米流体,边界条件可以包括固定壁面、恒定温度或者固定速度等。

这些边界条件可以通过数学模型或者实验数据进行设定。

3. 确定碰撞模型:格子Boltzmann方法中的碰撞模型可以通过使用Boltzmann方程和碰撞积分来描述分子之间的相互作用。

这一步骤是模拟过程中最关键的一步,需要根据实际情况进行合理的设定。

4. 进行格子更新:在格子Boltzmann方法中,流场被离散化为格子,流体的宏观性质通过迭代更新格子上的分布函数来计算得到。

格子的更新可以采用Lattice Boltzmann方程进行计算。

5. 求解宏观性质:通过对流体的速度分布和温度分布进行统计,可以求解得到方形腔内纳米流体的宏观性质,如热流、质量流和压力等。

在方形腔内纳米流体的自然对流模拟中,格子Boltzmann方法可以提供高精度和高效率的计算结果。

与传统的数值模拟方法相比,格子Boltzmann方法具有计算量小、精度高、并行化程度高等优点。

此外,格子Boltzmann方法还可以考虑纳米尺度下的非平衡效应,对于纳米流体的自然对流现象具有较好的描述能力。

参考文献:1. Shan, X., & Luo, L. S. (1993). Numerical study of anisotropic permeability in random porous media. Physical Review E, 47(3), 1815.2. He, X., & Luo, L. (1997). Theory of the lattice Boltzmann method: From the Boltzmann equation to the lattice Boltzmann equation. Physics Review E, 56(6), 6811.3. Guo, Z., Zheng, C., & Shi, B. (2002). Discrete lattice effects on the forcing term in the lattice Boltzmann method. Physical Review E, 65(4), 046308.4. Succi, S. (2001). The Lattice Boltzmann Equation for Fluid Dynamics and Beyond (Vol. 431). Oxford: Oxford University Press.。

格子Boltzmann方法的工程热物理应用_何雅玲

格子Boltzmann方法的工程热物理应用_何雅玲

n = ∫ f (r,ξ ,t ) dξ ,
(1)
n 即为 t 时刻, r 处单位体积内的分子数, 亦称数密度.
2639
2009 年 9 月 第 54 卷 第 18 期
任一分子, 如在时间间隔 dt 中无碰撞, 则分子的 位置矢量将由 r 变为 r+dr, 而它的速度将由ξ变为 ξ+adt. 因此, 如果在 dt 间隔内无碰撞, 到 t+dt 时, 原 来 t 时刻在 drdξ中的气体分子 f (r, ξ, t)drdξ 将全部既 不增加也不减少地转移到 r+dr, ξ+adt 的 drdξ 中, 于 是有
早期的格子 BGK 模型在等温不可压缩流动时存 在可压缩效应, 为了消除和降低由可压缩效应引起
引用格式: 何雅玲, 李庆, 王勇, 等. 格子 Boltzmann 方法的工程热物理应用. 科学通报, 2009, 54: 2638~2656 He Y L, Li Q, Wang Y, et al. Lattice Boltzmann method and its applications in engineering thermophysics. Chinese Sci Bull, 2009, 54, doi: 10.1007/s11434009-0681-6
,
(5)

∂f ∂t
+ ξ ⋅ ∂f ∂r
+ a ⋅ ∂f ∂ξ
=
⎛ ⎜⎝
∂f ∂t
⎞ ⎟⎠碰撞ຫໍສະໝຸດ ,(6)在刚球模型二球碰撞的假设下, 通过一系列复杂的
推导可得到如下碰撞项[56]:
∫ ∫ ⎛
⎜⎝
∂f ∂t
⎞ ⎟⎠碰撞
=
(
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

25卷 第10期2008年10月微电子学与计算机MICROELECTRONICS&COMPUTERVol.25 No.10October2008收稿日期:2008-04-11基金项目:上海大学博士研究生创新基金项目;杰出青年基金项目(10625210);上海浦江基金项目(07pj14041)格子Boltzmann 并行程序的优化与性能分析赵 鹏1,张丹丹2,汪鲁兵1,田振夫3,钱跃 1(1上海大学力学所,上海200072;2上海超级计算中心,上海201203;3复旦大学力学与工程科学系,上海200443)摘 要:基于现代计算机的多级存储结构,采用消息传递并行编程模型对格子Boltzmann 并行程序进行了Cache 优化.实验结果表明,优化后的程序能够减少80%的Cache 缺失,性能提高20%,而且经过预处理的并行程序性能也有很大提高.关键词:格子Boltzmann;Cache 优化;内存优化;并行计算中图分类号:TP31 文献标识码:A 文章编号:1000-7180(2008)10-0185-04PerformanceAnal ysisandO ptimizationfortheParallelCodeofLBMZHAOPen g 1,ZHANGDan 2dan 2,WANGLu 2bin 1,TIANZhen 2fu 3,QIANYue 2hong 1(1SIAMM,ShanghaiUniversit y,Shan ghai200072,China;2ShanghaiSu perCom puterCenter,Shanghai201203,China;3De partmentofMechanicsandEngineeringScience,FudanUniversity,Shan ghai200443,China)Abstract:Basedonmulti 2levelstora gearchitectureof popularcom puterandmessa ge passing parallel programmingmode,this paperdiscussedthatthe parallel programoflatticeBoltzmannisoptimizedincache.TheresultsshowthattheCache missingratecanbereducedb y80%,performancecanbeincreasedby20%andpreprocessingmethodcanalsoimproveparallel performance.Ke ywords:LBM;Cacheo ptimization;memor yo ptimization;parallelcom putin g1 引言格子Boltzmann 方法(LBM )是一种新型的计算流体力学数值模拟方法.它从分子运动论和统计力学的观点和理论出发,建立微观粒子的运动模型,用流动和碰撞两个相对简单的过程模拟流动的宏观特性.该方法计算过程简单,各种常见的边界问题处理十分灵活方便,涉及的计算局部性强,具有天然的并行性,非常适合在大规模并行计算机上运行.目前,格子Boltzmann 方法已被应用到水利、航天、生物、石油、材料等众多领域.文中以二维格子Boltzmann 程序为例,分析了并行程序的性能瓶颈,给出了优化方案.2 格子Boltzmann 方法的基本理论格子Boltzmann 方法是一种模拟流体流动的数值方法,它不再基于连续介质假设,而是把流体看成由许多只有质量没有体积的微粒组成,这些微粒可以向空间的若干方向任意流动[1].它的主要思想就是以简单规则的微观粒子运动代替复杂多变的宏观现象.粒子在每个时间步的运动由两个子步构成.碰撞,当多个粒子到达同一网格结点时,它们按碰撞规则相互作用并改变各自的速度方向;流动,每个粒子按其速度方向移动到最近的网格结点.1992年,Y HQian (钱跃 )等人提出格子Boltzmann 方法的单松弛模型,即格子BGK (LatticeBhatna gar 2Gross 2Krook,LBGK )模型[2-4].目前,LBGK 模型上格子Boltzmann 方法中最主要的,也是应用最广泛的模型.Qian等将格子Boltzmann方程中的碰撞项完全线性化,用单松弛时间逼近碰撞项,其对应的格子Boltzmann演化方程为f i(x+e i,t+1)-f i(x,f)=ω(f eq i(x,f)-f i(x,t)).式中,ω为松弛因子;f i为单粒子分布函数;e i称为粒子运动方向或离散速度方向;f eq i为平衡态分布函数,是流体动力学量(如密度、动量等)的函数.方程右侧即为碰撞项,也称BGK碰撞项(由Bhatna ger, Gross,Krook提出).方程左侧为流动步.DnQb系列模型的分布函数为f eq i(x,t)=t pρ1+e i・uc2s+(e i・u)22c4s+u22c2s,式中,c s为声速,t p对应粒子速度的权系数,u为宏观速度,ρ为宏观密度.并保证质量守恒、动量守恒等约束.3 优化方法文中将以二维格子Boltzmann并行程序为例来研究如何提高程序性能以及如何开发程序潜在并行性的方法.文中的优化主要是从两方面来考虑的.第一,对并行程序中相应串行执行部分的优化.在现代计算机中,多级存储机制被诸多生产厂商广泛使用[5].不同存储级别的存储器访问速度和存储容量都有很大的差距,比如缓存的容量远远小于内存,但它的访问速度却远高于内存.文中对串行部分格子Boltzmann程序的优化也正是基于现代计算机的这一特性展开的.其基本思想是优化程序的内存布局方式及程序的执行顺序,使得程序能尽量增加局部访问次数.这样可以增加Cache命中率并且减少不同级别存储器之间的数据交换次数.文中通过对串行格子Boltzmann程序的分析,给出了网格合并,网格压缩的优化策略.第二,并行程序的优化.这其中包括两部分工作,一部分是对网络通信的优化,包括域分解方法、通信模式、数据的合并方式等方面;而另一部分是仍然是对并行算法的研究改进,比如预处理方法.文中将主要对预处理方法做进一步研究.3.1 网格合并标准的LBM算法往往使用两个数组来存储t 时刻和t+1时刻的平衡态函数.在进行碰撞计算时,分布函数将由t时刻更新到t+1时刻,程序将同时访问数组f0内的元素f0(i,j)和数组f中的相应元素f(i,j),如图1所示.实际上内存中这两个数组是按照线性排列的,那么f0、f中相应的元素在内存中的距离是很远,这可能会引起Cache缺失或者内存缺失.导致不同级别的处理器频繁交换数据,从而降低了程序的效率.为了解决这一问题,文中采用了网格合并的技术.将原来的两个数组f0和f合并成一个新的大数组,它的容量是原来f0和f之和.并且在数据存储的时候,特意将原来f0和f中的数据交叉排列.如图1所示,灰色的表示f中的数据,条纹块表示f中的数据.因此,同一时刻要相继访问的f0(i,j)和f(i,j)在内存中是相邻的.通过这种数据布局的调整,可以减少Cache缺失的次数,提高程序的效率.图1 网格合并策略3.2 网格压缩在经过网格合并之后,程序的局部性会得到加强,然而网格合并只是对程序执行速度的优化.而网格压缩技术就不仅能提高程序的执行速度,而且能够节省存储空间.现有的格子Boltzmann程序需要使用两个数组来分别保存碰撞后的分布函数和流动后的分布函数.因此,很容易想到的优化方法是将这两个数组压缩成一个数组.然而因为在流动步的时候每个网格点需要它周围8个点的值,所以为了保证周围点仍然可以读到正确时刻的值,只能每次沿一个方向来流动,重复扫描整个数组8次.如果这样不仅没有达到程序优化的作用,反而使程序的执行更加缓慢,因为程序要多执行7次循环.对于二维程序来说,就是多执行7次2重循环(在文中的第4部分也将给出该算法的性能分析).但是,当一次将结点的所有方向值都用新值覆盖后,其他结点将再无法引用到该结点的旧值.为了解决这一问题,文中在原有数组周围增加一行一列存储空间.如图2所示.在图2中,虚线中的部分是原始数组,虚线外的一行一列是新增加用作临时存储.为了保证每个结点中数据的更新顺序,在t时刻时流动步从虚线框的左下角开始,依次从左到右,从下到上.并且每次将更新的值保存在该点左下方一个结点上,如当前结点(i,j)那么将流动之后的值保存在(i-1,j-1)中.这样的好处是一次得到全部8个方向的新值,681微电子学与计算机2008年图2 网格合并并且没有破坏原来的值,以便它周围结点的使用.在t+1时刻,原始数组的数据全部保存在数组的左下方.这时,程序的执行刚好和t时刻相反.开始虚线框内的右上角开始,从右向左,从上向下,每次将更新的值保存在该点的右上方,如当前结点(i,j),那么将流动之后的值保存在(i+1,j+1)中.3.3 预处理技术为了提高LBM并行程序的效率,使用非阻塞通信方式是一种较为有效的方法.非阻塞通信方式在某些并行机上可以实现计算与通信重叠.在并行程序开发中,应该在发送端尽可能早地发送数据,在接收端尽可能迟地接收数据.这样能够加大计算与通信重叠的部分,从而减少程序同步时的等待时间.由于LBM算法的局部性,它仅在移动步时才与周围网格点进行数据交换,那么为了提高程序效率,可首先计算下次迭代任务中需要的各块边界数据,然后借助于非阻塞通信,传递这些数据.在通信的同时计算各块剩余部分的数据及边界数据的更新.4 测试结果文中测试的硬件平台为HPBL460c刀片集群,处理器为Intel(R)Xeon(R)CPUE5410,双路四核、前端总线1333MHz,主频2.33GHz,一级缓存64kB,二级缓存12MB.软件平台RedhatEnter prise 4,编译器GCC4及O2优化选项,Cache测试工具为Valgrind.网络为千兆以太网.首先,文中给出对于以上几种优化算法的执行时间.如图3所示.其中算法1是第3.2节中提到使用一个数组时重复扫描数组的算法;算法2是使用原始情况下使用两个数组的算法;算法3是使用网格合并之后的算法;算法4是经过网格压缩之后的算法.图3中给出数据是对于二维方腔流Re=500,计算步为1000的情况下测量的.由图3的数据可图3 不同优化算法的性能比较以看出,算法1的执行时间最长,效率最低,而经过多次改进之后的算法4的执行时间最短,效率最高.其次,表1中则给出了在不同网络规模情况下, D1与L2级数据Cache的缺失情况.在相同的网格规模下,随着算法的不断优化,D1与L2d的缺失率均迅速下降.这说明图3中程序执行时间的减少,正是由于对Cache优化之后减少了访问主存次数,从而提高了程序的效率.对于L2级缓存,算法4与算法1相比能够减少约80%的Cache缺失,与算法2相比减少了约50%.这对于非定常、大规模的流体力学计算以及其他工程计算来说是非常有意义的.在表1中,随着网格规模的加大,从300到1100,算法1的L2d缓存缺失率明显增加,即随着问题规模的加大,算法的性能逐渐下降;而其他几种优化算法在问题规模加大的情况下,缓存的缺失率仍然保持相对稳定的状态,即算法具有较好的可扩展性.表1 优化算法的Cache缺失率(%) Cache缺失率算法1算法2算法3算法4300×300D1 5.8 3.3 2.2 1.8L2d 1.0 2.3 1.40.4 500×500D1 5.9 3.3 2.2 1.8L2d 3.0 2.3 1.30.6 700×700D1 5.9 3.3 2.2 1.8L2d 3.2 2.3 1.30.7 900×900D1 5.9 3.3 2.2 1.8L2d 3.4 2.3 1.30.7 1100×1100D1 5.9 3.3 2.2 1.8L2d 3.5 2.3 1.30.7最后,对并行程序的预处理效果的分析,图4分别给出了在不同的处理器规模下预处理前后并行程序的执行加速比的变化情况.可看出,经过预处理之后的并行程序在不同处理器数目下均具有较好的性能.其执行时间都少于未做预处理的并行程序.经过781 第10期赵鹏,等:格子Boltzmann并行程序的优化与性能分析预处理后并行程序的加速比也得到了明显的提高.图4 并行程序的预处理方法5 结束语文中以二维Boltzmann 并行程序为例,通过理论分析与实验数据的比较得出,两种不同的优化策略方案均能够得到较好的效果.就单CPU 上的串行程序而言,使用优化后的算法可以提高约20%的计算效率,减少约80%的二级缓存缺失.而对应的并行程序的执行速度也得到了提高,并且预处理方法也是一种有效提高并行程序性能的策略.文中探讨的几种优化方法不仅对于二维情况,而且对于三维情况也同样适用.网格优化及预处理的方法也可以推广到其他数值计算方法中.参考文献:[1]郭照立,郑楚光,李青,等.流体动力学的格子Boltzmann方法[M].湖北:湖北科学技术出版社,2002.[2]QianYH,HumieresDD,tticeBGKmodelsfornavier-stokese quation[J].Europhysicslet 2ters,1992(17):479-484.[3]QianYH.Simulatingthermoh ydrodynamicswithlatticeBGKmodels[J].JournalofScientificCom putin g,1993(8):231-242.[4]QianYH,SucciS,MassaidiF,etal.AbenchmarkforlatticeBGKmodel:flowoverabackward-facin gste p[J].FieldsInstituteCommunications,1996(6):207-215.[5]张林波,迟学斌,莫则尧,等.并行计算导论[M].北京:清华大学出版社,2006:33-41.作者简介:赵 鹏 男,(19802),博士研究生.研究方向为并行计算与血液流.(上接第184页)算、异或运算、D 2H 运算,增加了运算量,但有效地保证了认证过程的安全性.随着计算机处理速度的提高,本方案实现的可能性大大地提高.参考文献:[1]LamportL.Passwordauthenticationwithinsecurecommu2nication[J].CommunicationoftheACM,1981(24):770-772.[2]LeeL,LiH,HwangMS.Aremoteuserauthenticationschemeusin ghashfunctions[J].ACMO peratin gS ystemsReview,2002,36(4):23-29.[3]ChienHY,JanJK,TsengYM.Anefficientand practi 2calsolutiontoremoteauthenticationsmartcard[J].Com 2puters&Security,2002,21(4):372-375.[4]KuWei-chi,ChenShuai-min.Weaknessandimprove 2mentsofanefficientpasswordbasedremoteuserauthenti 2cationschemeusin gsmartcards[J].IEEETransactionson ConsumerElectronics,2004,50(1):204-207.[5]Diffie,HellmanM.Newdirectionsincryptography[J].IEEETransactiononInformationTheor y,1976,IT-22(6):644-654.[6]高雪,张焕国.一种改进的一次性口令认证方案[J].计算机应用研究,2006,32(4):149-150.[7]张宏,陈志刚.一种新型一次性口令身份认证方案的设计与分析[J].计算机工程,2004,30(17):112-113.作者简介:唐文武 男,(19842),硕士研究生.研究方向为网络系统与信息安全.方 勇 男,(19662),博士,教授.研究方向为网络系统与信息安全.潘春兰 女,(19832),硕士研究生.研究方向为网络系统与信息安全.881微电子学与计算机2008年。

相关文档
最新文档