lbm波尔兹曼算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

波尔兹曼方法基本原理

格子Boltzmann 方法是使用简单的微观模型来模拟流体的宏观行为的一种新的方法。格子Boltzmann 方法是建立在微观粒子运动论基础上的数值计算方法。其求解过程一般需要通过编程来实现!

一般来说研究流体的行为有两种方法:一种是从宏观的角度出发,假设流体连续分布于整个流场,注入密度、速度、压力等物理量均是时间可空间的足够光滑的函数。另一种是从微观的角度,从非平衡统计力学的观点出发,假设流体是由大量的微观的例子组成,这些例子遵守力学定律,同时服从统计定律,运用统计的方法来讨论流体的宏观性质。

然而流体是由大量的粒子组成的,当我们从宏观的角度研究流体行为的时候,并没有涉及到单个粒子的行为。通常我们所感兴趣的事代表某个点的宏观量,例如密度、速度、压力。根据连续性假设我们可以推导出N-S 方程,并且利用数学上的微积分知识来求解,然而由于N-S 方程是高度非线性化的偏微分方程,仅仅一些具有简单变界或者比较严格物理闲着的现象才能够得到理论分析界,如果从微观的角度了研究单个粒子的真是行为,对于一个包含大量例子的系统来说粒子的运动方程往往是得不到解的。统计学可以考虑整个系统所有的状态以及处理这个状态的概率来解决这些困难,对于稀薄气体所得到的就是Boltzmann 方程,但是得到的方程还不够,我们还要借助于统计方法得到流体的宏观性质,这就要求解Boltzmann 方程,然而Boltzmann 方程是一非线性微分方程,一般情况下严格求解也是非常困难的。

格子气方法是近年来发展起来的模拟流体力学以及其他系统的比较新的方法,格子气自动机模拟流场,就是将流体及其存在的时间和空间完全离散,给出离散的流体粒子之间相互作用以及迁移的规则。流体只存在于空间网格上,用一系列布尔变量,.....,2,1)(,(b i t x n i =来描述在时刻t 位于x 处节点的每一个速度方向是否有粒子存在,其中b 表示每一个节点的速度方向的数目,粒子在每一个时间步长的演化包括两部分:()a 迁移,粒子沿它的速度方向向距离最近的节点运动;()b 碰撞,当不同的粒子同时到达某个节点时,按照一定的碰撞规则发生碰撞并改变运动的方向,格子气模型具有两重

意义:

()a 尽可能建立一个简单的模型是指能够用来模拟一个有大量粒子组成的系统;()b 反映粒子真实碰撞的本质,这样经过长时间我们可以获得流体的宏观特性。

粒子的演化过程能够用来模拟宏观的流体过程是基于下列事实,即流体的宏观特性是系统内大量粒子整体行为的结果。分子之间的相互作用可以改变流体的传输特性,比如粘度,但是并不改变宏观方程的基本形式。

格子气的HPP 模型与FPH 模型

HPP 模型将流体存在的空间划分为间距为单位长度的正方形网格,将流体想象成许多有质量没有体积的微小粒子组成,在同一时刻同一网格节点上,每一个速度方向最多允许存在一个粒子,每个粒子可以向四个方向的其中之一运动,并且遵守以下碰撞准则:当且仅当只有两个粒子沿相反方向达到某节点时(对头碰撞),它们沿另外的两个方向离开该节点,其他情形则直接穿透,PHP 模型则是将流场划分为间距为单位长度的正三角网格,并且增加了相应的碰撞准则。

格子气的微观方程

为简单起见,以HPP 模型为例,用()x ,t n i 代表在时刻t 位置x 处的节点上第i 个方向的粒子数,则整个布尔场的更新可以写成

()()()()231312,1++++++-Λ-ΛΛ-Λ-ΛΛ-Λ=++i i i i i i i i i i i n n n n n n n n n e x t n ν

写成代数式即:

()()i i i x t n e x t Ω+=++,,1n i

i Ω碰撞因子从微观方程出发利用多尺度分析以及Chapmen_Enskog 展开可以得到N-S 方程。

格子波尔兹曼模型

由于格子气方法的节点用一系列的0或者1来表征每个速度方向上是否存在粒子所以对于格子气的运算只涉及个速度方向上是否存在粒子,对于格子气的运算只涉及衡分布为Fermi-Dirac 分布,从而导致非伽利略不变性,既N-S 方程对流项前面有一个依赖于密度的系数(应该为1),压力依赖于宏观速度(通常的压力只依赖于密度和温度,既p=p(ρ,T)),随即统计噪声比较大(因为变量为整形)等。为了克服上述缺陷,McNamara 与Zanetti 提出直接由Boltz-mann 方程去替换格子气自动机,简单的用单粒子分布函数f 去代替布尔变量n ,他们求Ωi(f)的方法是根据碰撞规则表求出Ωi(n),然后用f 代替n,这样波尔兹曼方程就变为:

()()()f x t f e x t i i Ω+=++,,1f i

把原来的整数运算变成了实数运算(f 是一个0~1之间的实数),解决了随机噪声问题。后来,Higuera 、Jimenez 和Succi 引用线性碰撞算子。两者的平衡分布仍然是Fermi_Di-rac 分布,没有解决其他两个问题。后来在1991~1992年间陈十一以及钱跃宏提出了基于单一松驰时间模型来简化碰撞函数,提出了各向同性,满足伽利略不变性和使压力与速度无关的平衡分布,使问题得到解决,通常将这个模型称为LB-BGK 模型。即将()f i Ω用()eq i i f f -τ1代替,其中eq

i f 局部平衡分布函数,τ称为驰豫时间,反映非平衡态趋向平衡

态的快慢。于是LB-BGK 模型为:

()()()

eq i i i i f f x t f e x t -+=++τ

1,,1f i 对于两维的情况一般的采取九点格子模型,其中每个节点上允许一个静止粒子存在,加上与其相邻得有8个节点记为D2Q9型。

平衡分布函数采取钱跃宏提出的: ⎪⎭

⎫ ⎝⎛-=223194u f eq i ρ ()()⎥⎦

⎤⎢⎣⎡-*+*+=-225291913191u u e u e f i i eq ρ ()()⎥⎦⎤⎢⎣⎡-*+*+=

-2296919131361u u e u e f i i eq ρ 宏观参数为:

∑=i f ρ

i i e f m ∑=ρ

相关文档
最新文档