首页 理论教育微流控芯片技术的格子BoItzmann方法发展历程

微流控芯片技术的格子BoItzmann方法发展历程

【摘要】:HPP模型能够满足质量和动量守恒定律,被公认为是第一个格子气自动机模型,为格子Boltzmann方法的发展奠定了基础。该模型中格子具有很好的对称性,很大程度上弥补了HPP模型的缺陷,基于FHP模型可以推导出Navier-Stokes方程,开创了格子Boltzmann方法研究的新局面。

格子Boltzmann方法是一种基于介观(mesoscopic)模拟尺度的模拟计算方法,主要用于计算流体力学的建模分析。这里的介观方法意为LBM在演进中涉及宏观和微观变量的相互转化,因此整体上属于介观层次方法。该方法得到的数学形式采用多尺度展开技术,可以得到与宏观的偏微分方程相同或相近的形式,因此LBM也被一些学者认为是偏微分方程的求解器。但当偏微分方程形式不同时,LBM的数学形式也不相同,所以该方法具有较高的灵活性。如果让LBM模拟流体流动,那么它的数学形式需要能够通过多尺度展开技术恢复到Navier-Stokes方程。LBM主要通过碰撞和迁移的交替演进来获得流体流动的规律,相比于其他传统的计算流体力学方法,LBM具备算法简单、易于程序实现、易于处理复杂运动边界、易于实施并行计算等优势。目前,LBM已经被广泛认为是描述流体运动与处理工程问题的有效手段,在模拟流动、流固耦合、传热、相变、对流扩散等领域获得了很好的应用。

格子Boltzmann方法最初源于格子气自动机(Lattice Gas Automata,LGA)的研究。LGA将流体视为许多只具有相同的质量而忽略体积的粒子组成,该方法在时间、空间和状态上对连续的流动介质进行离散。这些离散化的微粒根据事先给定的规则在网格点上进行碰撞,所有粒子的碰撞都遵循质量、动量和能量守恒定律。发生碰撞之后的粒子会在其所在的网格线上向相邻的节点迁移,从而描述流动的规律。

1.元胞自动机与格子气自动机

格子气自动机(LGA)实质上源自元胞自动机(Cellular Automata,CA),前者是后者的在流体力学中的运用。

CA最初由Sanislas Ulam、John von Neumann和Konrad Zuse等学者于1950年左右提出,是一种物理系统在空间及时间上都进行离散化的数学模型。在空间上,CA将物理系统离散化成具有规则形状的格子,每个格子点都称为细胞,且格子点的状态都用一个变量来定义。在时间上,物理系统演化的时间被离散化为多个时间步长,每个格子的状态都根据时间步的推进而发生变化。下一时刻的某个格子所处的状态来源于与其相邻的格子当前时间步所处状态。

一般情况下,CA可以定义为一个四元组A=(C,S,N,f)。其中,C表示物理系统离散化后的空间点阵列,也可以称为细胞阵列,它可以是一维(或多维)的空间点阵;S是格子点可以取得的所有状态的集合,可以称为状态空间;N为与当前格子点相邻的格子点的集合;f为格子点状态的演化函数。

对于任意一个格子点P∈C,在时刻t有P(t)∈S,在t+1时刻,该细胞的值由邻域N(P)={P1,P2,…,Pn}∈S在t时刻的状态确定,即P(t+1)=f(N(P)(t))。根据此式,细胞运动状态便随着离散的时间t=0,1,2,…演化下去。

CA有几个显著的特征:能够大规模同步运行;局部相互作用;细胞结构非常简单。

CA能够满足各种不同结构计算系统的并行需求,特别是在那些分布式的计算机上。CA的计算区域可以分为多个相互独立的子区域,每个子区域内可以独立演化,而相邻子区域之间只需要交换边界上的状态数据。正因为如此,CA特别适合解决大空间规模的数学物理问题。由于CA的演化规则十分简单,却能反映复杂的物理现象,因此引起了各领域学者的广泛兴趣。

此后,很多学者对CA做了大量研究。例如,Broadwell于1964年提出了离散速度模型,并将这一模型用于对基波结构的研究,用其求解和描述一些较简单流体的Boltzmann方程。该模型首次提出将速度仅离散成几个方向,但在时间和空间上依然保持连续。

2.格子气自动机

相比于元胞自动机(CA),格子气自动机(LGA)是一个更大胆的尝试,其不只将流体的空间离散,还将时间进行离散化处理。这样的处理使相应算法更加易于计算机实施,为计算流体力学提出了一个全新的方向。

Hardy、Pazzis和Pomeau在1973年提出了HPP模型,他们在原先速度离散模型的基础上进行了改进,提出了以正方形网格为基础的模型。通过运用此模型,他们成功地模拟了简单的流动现象。HPP模型能够满足质量和动量守恒定律,被公认为是第一个格子气自动机(LGA)模型,为格子Boltzmann方法的发展奠定了基础。但这个模型仍然存在一些问题,如由于格子缺乏各向同性,这使得模型从宏观上恢复Navier-Stokes方程时不能正确地反映非线性项和耗散效应项。

Wolfram于1983年提出新的布朗型动力系统,其在研究一维的8位元胞自动机时,发现在已经给出的初始条件下,该系统能按照事先制定的规则进行演化。在该系统中,每个细胞的运动仅与周围的细胞有关系,所以该系统具有很强的局部性,从而可以非常方便地进行并行处理。Wolfram的想法极大地促进了格子气自动机的发展。(www.chuimin.cn)

Frisch、Hasslacher和Pomeau等学者于1986年提出了新的格子气自动机模型,该模型具有对称的二维正六边形网格,被命名为FHP模型。该模型的每个格子上都有6个方向,每个格子上仅有一个粒子,或者没有粒子。该模型中格子具有很好的对称性,很大程度上弥补了HPP模型的缺陷,基于FHP模型可以推导出Navier-Stokes方程,开创了格子Boltzmann方法研究的新局面。

格子气自动机的出现为人们研究物理问题提供了新的方法与思路,发展出的HPP模型及FHP模型,使其在模拟流动方面有了很好的应用前景。但LGA仍然存在一些严重的缺点,主要包括4个方面:

(1)由格子气自动机演化方程推导出来的动量方程不满足伽利略不变性,其主要原因是对应宏观方程的对流项与密度有关。

(2)状态方程含有速度项,与实际情况(理想气体状态方程P=ρRT中不含速度项)不符。

(3)由于采用布尔运算,因此局部量一般含有数值噪声,需要对时间和空间做平均,从而增加计算量。

(4)碰撞算子具有指数复杂性,对计算量和存储量的要求很高。

3.格子Boltzm ann方法(LBM)

为了保留格子气自动机模型的优势并消除其方法本身所存在的缺陷,学者们不断进行探索和尝试,最终促使了格子Boltzlmann方法的诞生。

1988年,McNam ra和Zanetti提出了将LGA(格子气自动机)中的布尔代数运算变成实数运算,每个格子点上的微粒数目不再用整数0或1来表示,而是采用实数f来表示整个系统所有微粒做平均后的局部分布函数,用Boltzmann方程代替LGA的演化方程,并将该模型用于流体的数值计算。这是最早的格子Boltzmann模型,从此开启了格子Boltzmann方法的大门。

1989年,Higuera和Jimenez提出了一种简化模型:引入了平衡态分布函数,将碰撞算子线性化成分布函数向平衡态演化的过程。这个模型不需要进行碰撞运算,并忽略各个粒子之间的碰撞细节,相比于之前的多粒子碰撞模型,该模型构造起来十分容易。同年,Higuera等人又进一步提出了强化碰撞算子方法,以加强模型的数值稳定性。他们提出的这两种模型统称为矩阵模型。

经历了以上两类模型的发展,格子Boltzmann方法消除了统计噪声,克服了碰撞算子指数复杂性,但此时的平衡态分布函数依然采用Fermi-Dirac平衡态函数,格子气自动机的其他缺点仍然存在。

1991年,陈十一等人提出采用Maxwell-Boltzmann分布替代Fermi-Dirac分布,不但解决了非伽利略不变性问题,而且解决了压力状态方程不独立于流速的问题。1992年,钱跃竑等人引入Bhatnagar-Gross-Krook的使松弛时间控制局部分布函数逼近相应平衡态的LBGK模型,使得碰撞项变得非常简单,至今仍广泛应用。

1992年,D'humeriers提出广义LBE,即多松弛模型(MRT原型);2000年,Lallemand和Luo论证并推广MRT模型,拓展了LBGK的雷诺数的应用范围,增强了LBM稳定性。2002年,郭照立提出D2G9模型(不可压缩模型),有效消除了D2Q9(伪不可压缩)带来的压缩性误差,可适用于非定常问题。近十余年来,LBM算法研究则主要在于借助传统有限元、有限差分、有限体积法等的优点与LBM的融合,拓展LBM应用能力。此外,一些更加稳定和高效的LBM被陆续提出,如2008年Irina Ginzburg等人提出的双松弛因子LBM、2015年Succi等人提出的量子化LBM等。总而言之,LBM的发展方兴未艾,不但其算法本身在不断改进和提高,而且其应用领域不断向多个学科领域和工程领域渗透,是一种极有前景的数值模拟方法。