单层粒子水平集方法
河海大学 水利水电学院,南京 210098
One-Layer Particle Level Set Method
College of Water Conservancy and Hydropower Engineering, Hohai University, Nanjing 210098, China
通讯作者: 赵兰浩,男,教授,博士生导师,电话(Tel.):025-83786281;E-mail:zhaolanhao@hhu.edu.cn.
责任编辑: 陈晓燕
收稿日期: 2020-11-7
基金资助: |
|
Received: 2020-11-7
作者简介 About authors
牟凯龙(1995-),男,山东省青岛市人,博士生,从事流固耦合研究
提出了一种单层粒子水平集方法,该方法利用拉格朗日粒子追踪界面特征,采用水平集方法隐式捕捉界面.首先,利用水平集方法捕捉界面.然后,基于拉格朗日粒子的位置信息对界面进行修正,最终得到平滑、精确的运动界面.该方法克服了传统水平集方法体积守恒性差的缺陷,极大地提高了运动界面的精度.另外,本文提出了简单有效的粒子重分配策略,包括粒子的添加和删除,使得该方法能够准确处理复杂的拓扑变化,如界面的合并和分离.最后,通过多个基准算例验证了本文方法的正确性和有效性,可用于精确描述运动界面.
关键词:
A one-layer particle level set method in which Lagrangian particles are employed to track the interface features is proposed and utilized to capture the interface. First, the interface is captured by utilizing the level set method. Then, the interface is corrected based on the position information of Lagrangian particles and the smooth and accurate interface is obtained. The defect of poor volume conservation properties of the level set method is overcome, which greatly improves the accuracy of the moving interface. After that, a simple and effective particle reallocation strategy is presented, including the addition and deletion of particles, so that the method can accurately handle complex topological changes such as the interface merging and separation. Finally, the method proposed is verified by several benchmark examples, which can be used to accurately describe the moving interface.
Keywords:
本文引用格式
牟凯龙, 赵兰浩, 毛佳.
MU Kailong, ZHAO Lanhao, MAO Jia.
包含运动界面的流动问题广泛存在于自然界中[1].对这类问题进行数值模拟的难点往往在于运动界面的描述,尤其是当运动界面经历剧烈的拓扑变化时,问题求解难度会进一步增加.因此,如何精确地表示运动界面一直是研究热点.
各国学者已提出多种数值方法来表示运动界面,大致可以分为拉格朗日方法和欧拉方法两类.拉格朗日网格类方法的网格与流体域完全重合并跟随流体运动,可以直接得到精确的运动界面.而且拉格朗日求解格式不存在对流项,因此这类方法具有良好的体积守恒性.但当界面变形严重时,畸形的背景网格会导致计算精度下降,而网格重生成又会消耗大量的计算资源.为克服这种缺陷,有学者提出了拉格朗日粒子类方法,如光滑粒子质点(Smoothed Particle Hydrodynamics, SPH)方法[2].这类方法采用粒子替代网格追踪运动界面,尽管能够精确追踪任意变形的界面,但SPH方法固有的张力不稳定性限制了该方法的应用.此外,由于界面由离散的粒子表示,所以难以得到光滑的界面.
相较于VOF方法,LS方法设置了一个连续的符号距离函数来隐式地捕捉界面,不仅能够自动处理复杂的拓扑变化,而且能够直接表示光滑界面,界面的几何特征也能够直接计算.但LS方法对数值耗散极度敏感,这也导致其体积守恒性较差[9].在LS方法中,数值耗散主要来源于两方面:控制方程的离散和重新初始化过程.前者在数值求解中难以避免,可通过采用高阶离散格式来降低其影响.重新初始化过程是为保持LS函数的符号距离特性而引入的[10],但界面会发生偏移,引起体积损失.针对LS方法体积守恒性差的缺陷,各国学者已提出多种改进的方法.守恒式水平集(Conservative Level Set, CLS)方法[11]将符号距离函数替换为Heaviside函数,改善了其体积守恒性,但重新初始化过程仍然会导致体积损失.考虑到VOF方法和LS方法具有互补的优缺点,有学者将二者结合提出了耦合式水平集与流体体积 (Coupled Level Set and Vo-lume of Fluid, CLSVOF)方法[12].然而,VOF方法与LS方法同属于欧拉方法,相较于拉格朗日方法,在数值求解中具有相似的局限性[13].
针对上述PLS方法的缺陷,本文提出了单层粒子水平集(One-Layer Particle Level Set, OPLS)方法,引入单层粒子来追踪界面特征,计算效率得到较大提升.考虑到拉格朗日本质的精确性,粒子将会被流场输送到界面的精确位置,因此,界面可以直接根据单层粒子的位置进行校正,粒子校正机制更加合理.另外,本文提出了更加有效的粒子重分配策略,包括粒子的添加和删除,即使在处理复杂的拓扑变化时,也可以表现出良好的稳健性.最后,光滑的运动界面可由修正后的LS函数表示.在OPLS方法中,界面直接根据粒子的位置进行校正,合理的粒子校正机制使得所需的粒子数量大大降低,在不影响计算精度的前提下,极大地提高了计算效率.
1 粒子水平集方法基本理论
1.1 水平集方法
在LS方法中,通过定义符号距离函数φ隐式捕捉界面,符号距离函数的对流过程满足Hamilton-Jacobi方程:
式中:u表示流速;t表示时间.在计算过程中,LS函数可能丧失符号距离特性,为保持符号距离特性,文献[7,10]中提出了重新初始化过程:
式中:
由于控制方程的离散和重新初始化过程引起的数值耗散会导致界面失真,为提高界面的精度,Enright等[14]创造性地提出了PLS方法.
1.2 粒子水平集方法
PLS方法引入了两类无质量拉格朗日粒子.在初始时刻,在距离界面3倍最大网格尺寸的单元内沿每个坐标方向布置4个粒子(二维单元内布置16个粒子,三维单元内布置64个粒子),其中,正粒子布置在φ>0的区域,负粒子布置在界面另一侧.随后,将粒子吸引到界面上并随流运动.
在计算过程中,部分粒子可能因界面变形而穿过界面,这部分粒子被定义为逃逸粒子.如图1所示,PLS方法的粒子校正机制就是基于逃逸粒子而建立的,根据逃逸正粒子修正φ>0区域,另一侧界面根据逃逸负粒子位置进行重建.
图1
随着界面的运动,部分区域可能缺少足够的粒子追踪界面信息,也可能存在拥有过多粒子的其他区域,为保证PLS方法的精度和计算效率,提出了粒子重分配策略.粒子的添加程序比较简单,识别距离界面3倍最大网格尺寸且缺少粒子的单元后,添加即可.粒子的删除程序相对比较复杂.由于逃逸粒子能够表征界面信息,所以需要全部保留.对于未逃逸粒子,如果距离界面较远可直接删除,若距离界面在3倍网格尺寸之内,则需要建立一个堆栈,比较粒子信息后删除多余粒子,控制单元内粒子数不超过默认数量.
1.3 单层粒子水平集
1.3.1 基本思想 尽管PLS方法很大程度上提高了界面精度和体积守恒性,但仍然存在局限性:计算成本较高,粒子校正机制不合理,粒子重分配策略太繁琐.为克服上述缺陷,本文提出了OPLS方法.该方法利用LS方法隐式捕捉界面,之后对界面进行校正.全新的校正机制如图2所示,考虑到拉格朗日本质的精确性,界面直接根据单层粒子的位置信息进行校正,计算效率大大提升.总体而言,OPLS方法是采用LS方法在拉格朗日粒子的辅助下捕捉光滑、精确的界面.此外,本文提出了更加简洁有效的粒子重分配策略.
图2
单层粒子LS方法的计算步骤如下:
步骤1 生成拉格朗日粒子并且将其吸引到界面上;
步骤2 更新粒子位置信息;
步骤3 求解对流方程和重新初始化方程更新界面;
步骤4 根据粒子位置修正界面;
步骤5 根据修正后的界面添加或删除粒子.
图3
为精确地追踪界面,需要将生成的粒子吸引到界面上,如图3(b)、3(d)、3(f)所示.与PLS方法类似,本文将粒子沿最短路径吸引到界面上.由于所有的粒子均位于界面附近,所以其法向可认为是最短路径的方向.粒子的吸引过程如下:
式中:xnew表示粒子被吸引后的位置;xP表示粒子的当前位置;λ表示吸引参数,一般为1,但当粒子被移动距离过远穿过界面时可以减半;φgoal表示理想LS函数值,一般为0;φP表示当前位置的LS函数值,φgoal设为0以保证粒子最终被吸引到界面上;n(xP)表示当前位置的法向.此外,由于粒子处的法向可能不精确,式(3)并不能保证所有的粒子都被吸引,需要进行几次迭代,并且将始终无法被吸引的粒子直接删除.
粒子被吸引到界面上之后随流运动,可根据下式更新粒子位置:
式中:
1.3.3 界面修正 界面修正是捕捉精确界面的关键.OPLS方法直接根据粒子位置对界面进行修正,失真界面可由粒子修正机制重建.
根据式(4)可计算得到粒子位置,进而可通过如下的插值过程得到粒子处LS函数值:
考虑到拉格朗日本质的精确性,粒子将会随流运动到界面的精确位置,即粒子处的LS函数值应为0.但由于LS方法对数值耗散极度敏感,根据式(5)计算得到的φP可能不为0,需要对粒子附近界面进行修正保证粒子处LS函数值为0.界面修正过程是将粒子处LS函数值的误差迭代分配到所在单元的网格节点上:
式中:
图4
粒子修正机制可以有效降低LS方法由于数值耗散而造成的误差,提升界面精度.相较于PLS方法,本文方法更加合理,并且计算成本大大降低.
1.3.4 粒子重分配 当界面变化剧烈时,可能会存在某些缺少粒子的界面单元.充足的粒子是保证界面精度的前提,因此需要将粒子添加至这些单元.如图5所示(每个单元内所需粒子数为1),粒子的添加程序分为两步:首先,根据LS函数值和单元内粒子数检索缺少粒子的界面单元;然后,在这些单元内生成粒子并吸引到界面上.
图5
当界面合并时,部分界面会消失,但原有的粒子会留在当前区域,需要将其删除.如图6所示,粒子的删除过程分为两步:首先,沿粒子处法线方向距其一定距离处生成虚拟粒子I1,同时在反方向相同距离处生成虚拟粒子I2;然后,比较虚拟粒子处的LS函数值符号,若二者异号,则粒子仍位于界面上,需要保留,反之则将其删除.相较于PLS方法,本文所采用的粒子重分配策略更加简洁有效.值得注意的是,粒子的添加和删除并不需要每个时间步都进行,若界面不经历剧烈变化,甚至在整个计算过程内都不必执行.
图6
2 算例验证
本文采用了4个基准算例来验证OPLS方法的精确性,包括Zalesak圆盘的转动、圆在剪切流场中的流动以及界面的合并和分离.为定量描述体积守恒性,定义体积守恒相对误差为
式中:
2.1 Zalesak圆盘的转动过程
Zalesak圆盘经常被用来测试数值算法对于界面尖角的描述能力.整个计算域是边长为1 m的正方形区域,坐标原点为左下角点.在初始时刻,半径为0.15 m的缺口圆盘的圆心位于(0.50, 0.75) m.其中,圆盘缺口长度为0.25 m,宽度为0.05 m.恒定不可压流场定义为
式中:
本次模拟中,圆盘旋转2圈,采用3套网格来检验本文方法的网格敏感性,网格尺寸(边长,下同)Δx分别为0.02、0.01 及0.005 m.计算结果如图7所示,采用OPLS方法可以精确地捕捉运动界面,并且能够清晰地描述界面的几何特性.而LS方法即使采用最细的Δx=0.005 m的网格也无法得到精确的界面,界面已经完全偏离原来的形状.为定量说明本文方法的精确性,给出了体积守恒相对误差的时间曲线,如图8所示.其中,LS方法产生的误差在持续增加,圆盘旋转一圈时误差为2.56%,在计算结束时增加至6.09%.而本文方法体现出良好的体积守恒性,即使是最粗的Δx=0.02 m的网格,两个时刻的误差仅为0.29%与0.39%.通过加密网格,有效降低了守恒性误差,其中,网格尺寸为0.01 m时,圆盘旋转1周和2周的相对误差分别为0.09%与0.10%,而网格尺寸为0.005 m时对应的两个时刻的相对误差分别为0.03%与0.04%.在表1中,将LS方法、PLS方法[16]的计算结果与本文方法进行了对比.可以看出,OPLS方法在粒子数减少的情况下,依然能够清晰地描述界面的几何特征,极大地改善了界面精度和体积守恒性.
图7
图8
表1 不同方法的质量损失相对误差
Tab.1
网格 尺寸/m | 数值方法 | 单元内粒子数 | e(t)/% | |
---|---|---|---|---|
t=1.0 s | t = 2.0 s | |||
0.005 | LS | - | 2.56 | 6.09 |
PLS | 16 | 0.08 | 0.20 | |
本文方法 | 4 | 0.03 | 0.04 | |
9 | 0.03 | 0.04 |
2.2 圆在剪切流场中的流动
圆形界面在剪切流场中会被拉伸,产生一些难以捕捉的细小界面,经常被用来检验数值方法精确解析细微结构的能力.计算域是边长为1 m的正方形区域,坐标原点为左下角点半径为0.15 m的圆形界面在初始时刻圆心位于(0.5, 0.75) m,然后在剪切流场的作用下开始运动,流场定义为
式中:T表示剪切流场的周期.而界面在t=T/2时变形尺度最大,本次模拟取T=8 s.
图9所示为不同时刻的粒子分布图,采用Δx=0.02 m的网格模拟的界面头部与尾部有细微的变形,尤其当界面变形程度最大时,这主要是由于网格分辨率较低造成的,图9(b)和9(c)的界面精度随网格的加密而明显提高.此外,本文方法在所有的网格分辨率下都体现出良好的体积守恒性.图10中对比了本文方法和LS方法的结果,可以明显看出LS方法模拟的界面变形严重,并且最后无法复原.图11所示为体积守恒相对误差的时间曲线,LS方法产生的误差持续增加,在计算结束时为34.58%.表2分别给出了LS方法、PLS方法[16]与本文方法在网格数为256×256时的计算结果,可以看出,PLS方法与本文方法在粒子的协助下能够保证较高的计算精度.同时,对比了不同粒子数对计算精度的影响,图10表明ncell为4与9的结果几乎一致.当单元内粒子数为1时,尽管在t=T时,误差为0.10%,但在t=T/2时,误差高达3.87%,这说明缺少足够的粒子来追踪界面,而ncell=4与ncell=9时产生的误差随时间变化不大,在计算结束时分别为0.09%与0.03%.因此在同时考虑计算成本和计算精度的情况下,建议在数值模拟中设置ncell=4.通过圆在剪切流场中流动的模拟,证明OPLS方法能够处理复杂的界面变形,解析细小结构,并保持质量守恒.
图9
图10
图10
圆在剪切流场中不同时刻的形状
Fig.10
Shape of circle in shear flow field at different times
图11
图11
圆在剪切流场流动产生的体积损失
Fig.11
Volume loss caused by flow of circle in shear flow field
表2 不同方法在特定时刻的相对质量损失误差
Tab.2
网格尺寸/m | 数值方法 | 单元内粒子数 | e(t)/% (t=8 s) |
---|---|---|---|
1/256 | LS | - | 33.41 |
PLS | 16 | 0.38 | |
本文方法 | 4 | 0.08 | |
9 | 0.03 |
2.3 界面合并
通过两个圆形界面的合并来证明本文方法能够精确处理界面的合并问题.初始条件如图12所示,计算域为边长为1 m的正方形区域,坐标原点为左下角点,两个半径为0.30 m的圆形界面的圆心分别位于(0.35, 0.50) m与(0.65, 0.50) m,然后在流场作用下逐渐合并.流场定义为
图12
上述流场为不可压流场,不会产生额外的体积损失.
图13
图14
2.4 界面分离
测试OPLS方法处理界面分离问题的能力.计算域为长30 m,宽10 m的长方形区域,初始时刻边长为
图15
图16所示为LS方法和本文方法的模拟结果,可以看出,LS方法无法精确处理界面分离问题,并且无法准确传递界面的几何特征.根据六角形的边长和流速,可以确定六角形会在t=1.0 s时完全分离,而LS方法所捕捉的界面甚至在t=3.0 s还没有分离,界面也已经发生严重的变形.OPLS方法在粒子的协助下,精确传递了界面的几何特征,在t=1.0 s时界面完全分离为上下两部分.如图17所示,LS方法在计算过程中持续产生体积损失,最终误差高达10.38%.而本文方法依然体现出良好的守恒性,ncell=4与ncell=9的模拟结果几乎一致,误差分别为0.46%与0.41%.因此,建议采用ncell=4来进行计算模拟.得益于精确的粒子校正机制,OPLS方法可以精确处理界面分离的问题,体现出极佳的精确性和体积守恒性.
图16
图17
3 结语
通过引入拉格朗日粒子协助水平集方法捕捉界面,提出了一种单层粒子水平集方法,能够精确、光滑地表示运动界面,并且体现出良好的体积守恒性.首先,采用水平集方法隐式捕捉界面.然后,通过粒子校正机制利用单层粒子高度精确的位置信息直接修正界面.由于所需粒子数量大大减少,故该方法极大地提升了计算效率.此外,提出了一种简洁有效的粒子重分配策略,即使在处理界面复杂的拓扑变化时也体现出良好的稳健性.
采用4个基准算例验证了单层粒子水平集方法的精确性.首先,通过模拟Zalesak圆盘的转动过程验证了该方法的体积守恒性以及对于界面尖角的描述能力.然后,通过模拟圆在剪切流场中的流动,测试了该方法处理界面复杂变形以及解析细微结构的能力.最后,通过模拟界面合并和界面分离问题验证了本文方法能够处理界面复杂的拓扑变化.
参考文献
应用改进流体体积法的楔形体斜向入水研究
[J]. ,
Study on oblique water entry of wedge applying improved volume of fluid method
[J].
Smoothed particle hydrodynamics (SPH) for complex fluid flows: Recent developments in methodology and applications
[J]. ,DOI:10.1063/1.5068697 URL [本文引用: 1]
Free surface flow around a ship model using an interface-capturing method
[J]. ,DOI:10.1016/j.oceaneng.2012.01.015 URL [本文引用: 1]
The MAC method
[J]. ,DOI:10.1016/j.compfluid.2007.10.006 URL [本文引用: 2]
Direct simulations of two-phase flow experiments of different geometry complexities using Volume-of-Fluid (VOF) method
[J]. ,DOI:10.1016/j.ces.2018.10.029 URL [本文引用: 1]
A mass-preserving interface-correction level set/ghost fluid method for modeling of three-dimensional boiling flows
[J]. ,DOI:10.1016/j.ijheatmasstransfer.2020.120382 URL [本文引用: 1]
A review of level-set methods and some recent applications
[J]. ,DOI:10.1016/j.jcp.2017.10.006 URL [本文引用: 1]
A combined level set/ghost cell immersed boundary representation for floating body simulations
[J]. ,DOI:10.1002/fld.v83.12 URL [本文引用: 1]
An improved particle correction procedure for the particle level set method
[J]. ,DOI:10.1016/j.jcp.2009.04.045 URL [本文引用: 3]
An efficient 3D iterative interface-correction reinitialization for the level set method
[J]. ,DOI:10.1016/j.compfluid.2020.104724 URL [本文引用: 1]
A conservative level set method for two phase flow
[J]. ,DOI:10.1016/j.jcp.2005.04.007 URL [本文引用: 1]
A coupled level set and volume-of-fluid method for computing 3D and axisymmetric incompressible two-phase flows
[J]. ,DOI:10.1006/jcph.2000.6537 URL [本文引用: 1]
Spatially adaptive techniques for level set methods and incompressible flow
[J]. ,DOI:10.1016/j.compfluid.2005.01.006 URL [本文引用: 1]
A hybrid particle level set method for improved interface capturing
[J]. ,DOI:10.1006/jcph.2002.7166 URL [本文引用: 3]
One-layer particle level set method
[J]. ,DOI:10.1016/j.compfluid.2018.04.009 URL [本文引用: 1]
A fast and accurate semi-Lagrangian particle level set method
[J]. ,DOI:10.1016/j.compstruc.2004.04.024 URL [本文引用: 2]
/
〈 | 〉 |