一种基于欧拉-拉格朗日耦合方法的流体仿真方法
【专利摘要】本发明公开了一种基于欧拉-拉格朗日耦合方法的流体仿真方法。其以实现高效的流体仿真为目的,结合欧拉法和拉格朗日法求解N-S方程进行流体仿真的核心思想,在SPH和LBM的流体仿真基础上,围绕多方法耦合的计算方法展开研究。首先利用基于欧拉网格的LBM方法进行大规模流场建模,构建流体仿真的主体部分,然后利用基于拉格朗日粒子思想的SPH方法仿真诸如浪花、水珠等流体细节,并通过设计耦合算法整合LBM流体与SPH流体,实现逼真、快速、兼顾细节的大规模流体仿真。
【专利说明】一种基于欧拉-拉格朗日耦合方法的流体仿真方法
【技术领域】
[0001] 本发明涉及一种基于欧拉-拉格朗日耦合方法的流体仿真技术。
【背景技术】
[0002] 目前,流体仿真朝着多学科,多角度,多平台的方向飞速发展,但是碍于现有硬件 水平的限制和仿真算法的局限性,对流体模型进行精确、迅速、逼真的还原还存在诸多困 难。近年来,满足工程和科研要求的真实流体仿真备受国内外学者和科研机构的关注。基 于物理的真实感流体仿真研究对于从事流体相关的科研工作者和计算机图形学的研究者 来说无疑面临着巨大的挑战,也具有巨大的吸引力。
[0003] 基于物理的流体仿真方法主要分为两种:基于网格思想的欧拉方法和基于粒子思 想的拉格朗日方法。拉格朗日方法中SPH方法多用于流体的细节彰显和模拟小规模流体, 由于流体细节的精细刻画、流体仿真的速度和流体仿真规模这三者具有不可调和的矛盾, 在进行精细流体细节渲染的同时很难保证实现大规模流体仿真。
[0004] LBM方法是基于欧拉思想的典型网格方法,具有天然的并行性,且边界条件容易处 理,适合于大尺度、低精度、规则边界的流体仿真,如山洪地质灾害、泥石流、大规模水面等。 通过精细网格划分或非规则网格划分可以拓展LBM流体仿真范围,但是由此带来的稳定性 损失和效率下降将使LBM失去其固有优势。因此,与其他方法相结合,发挥LBM方法天然优 势的混合方法正逐渐引起越来越多学者的关注。
[0005] 为了解决上述问题,本发明提出一种基于欧拉-拉格朗日耦合方法的流体仿真技 术,以实现兼顾速度、规模和细节的流体仿真为目标,围绕基于物理的流体仿真方法展开研 究,首先用LBM方法进行大规模的流场建模,并利用PLSM方法提取和追踪流体表面,然后在 已有LBM仿真流体的基础上,应用SPH方法刻画流体诸如水花、泡沫的细节,通过设计耦合 算法将SPH流体和LBM流体集成到同一场景中,实现了兼顾细节的大规模交互场景的实时 逼真绘制。
【发明内容】
[0006] 本发明解决的技术问题是:克服了现有的流体仿真方法的效率问题,提供了一种 基于欧拉-拉格朗日耦合方法的流体仿真技术,解决了流体仿真规模与细节的矛盾,满足 了对流体运动过程进行实时模拟的需要。
[0007] 本发明采用的技术方案为:一种基于欧拉-拉格朗日耦合方法的流体仿真方法, 包括以下四个步骤:
[0008] 步骤(1)、大规模流体的物理仿真:利用求解N-S方程的LBGK控制方程,采用DnQm 多维离散网格模型,进行大规模流场建模,这是流体仿真的主体部分。
[0009] 步骤⑵、流体自由表面追踪:应用PLSM方法构建流体自由表面。输出步骤⑴中 得到的流体网格,用PLSM方法标记流体运动界面在LBM网格内部的位置,追踪流体界面,以 此作为流体的近似表面。
[0010] 步骤(3)、流体细节仿真:通过SPH方法来对流体细节进行物理仿真,模拟流体运 动过程中产生的诸如浪花、水珠等细节。
[0011] 步骤(4)、集成仿真场景、进行算法耦合。把步骤(1)、(2)、(3)中LBM流体和SPH 仿真的流体集成到同一个场景中,利用耦合算法进行LBM和SPH算法的参数传递,例如密 度、速度、位置等。根据耦合算法控制流体仿真过程中SPH粒子的生成时机。
[0012] 本发明的原理在于:
[0013] (1)通过LBM方法模拟大规模流体运动,利用空间网格对流体的运动状态进行计 算,以此发挥LBM方法适合模拟大规模、低精度流体的特点,并能在保证流体仿真规模的同 时保证速度优势。
[0014] (2)为了快速精确的追踪流体的表面,本发明利用PLSM方法通过距离函数来近似 代表流体液面的空间位置。该方法通过使用PLSM追踪的流体表面在网格节点中的位置,然 后分析PLSM方法进行液面追踪时造成的耗散误差,通过补偿粒子的方法弥补流体液面处 被错误平滑掉的流体信息。接着用快速行进算法得到流体液面,采用OpenGL对流体液面进 行绘制,保持了边界的锐度并且可以直接以此作为大规模流体表面的近似代表。这样得到 的流体表面,保持了良好的真实性,并具有非常高的效率。
[0015] (3)为了对流体进行逼真的细节刻画,本发明提出了一种基于LBM和SPH的耦合流 体仿真方法。该方法在LBM流体的基础上,通过SPH方法模拟诸如浪花、泡沫等流体细节,并 设计LBM-SPH的耦合算法控制细节生成位置和生成时机,达到良好的流体真实视觉表现。
[0016] 本发明与现有技术相比的优点在于:
[0017] 1、本发明提出的高效数据组织方式,流体仿真过程中的流体参数可在各个方法间 无障碍的传递,保证了算法的鲁棒性。
[0018] 2、高效率的网格方法,本发明利用PLSM对流体液面进行追踪,由于LBM和PLSM同 属网格方法,LBM的空间网格可以被PLSM方法重用,因此有效地减少了计算时间。
[0019] 3、结合不同流体仿真方法的优势,既发挥了 LBM方法速度快、可仿真大规模流场 的优势,又发挥了 SPH方法擅长刻画流体细节的优势。
[0020] 4、快速的液面追踪和绘制,利用PLSM方法可对流体液面进行追踪和补偿,提高了 算法效率。
【专利附图】
【附图说明】
[0021] 图1基于欧拉-拉格朗日耦合方法的流体仿真流程图;
[0022] 图2二维LBM示意图;
[0023] 图3算法划分示意图;
[0024] 图4修正网格示意图;
[0025] 图5 PLSM与LBM耦合后仿真的水滴下落过程;
[0026] 图6仿真结果与真实照片对比;
[0027] 图7渲染后耦合方法的仿真结果。
【具体实施方式】
[0028] 图1给出了基于欧拉-拉格朗日耦合方法的流体仿真的总体处理流程,下面结合 其他附图及【具体实施方式】进一步说明本发明。
[0029] 本发明提供一种基于欧拉-拉格朗日耦合方法的流体仿真技术,具体实施为 LBM-SPH耦合的流体仿真,主要步骤介绍如下:
[0030] 1.大规模流体的物理仿真
[0031] 本发明采用LBM方法来模拟大规模流体的运动,LBM由上世纪70年代提出并发展 的格子气自动机(Lattice Gas Automata,LGA)发展而来,因此可把LBM看做是描述流体运 动的一个物理模型。LBM方法改善了传统的LGA方法中诸如噪声、指数复杂性等问题。在LBM 中,用粒子分布函数替代LGA中粒子本身进行演化,直接采用格子Boltzmann方程(LBE)作 为演化方程,根据其分布函数计算流体的密度和速度。
[0032] 连续的Boltzmann方程表示为:
[0033]
【权利要求】
1. 一种基于欧拉-拉格朗日耦合方法的流体仿真方法,其特征在于包括以下四个步 骤: 步骤(1)、大规模流体的物理仿真:利用求解纳维-斯托克斯方程(Navier-stokes, N-S)的Lattice Bhatnagar-gross-krook(LBGK)控制方程,米用η维离散空间的m速度 (DnQm)多维离散网格模型,进行大规模流场建模,这是流体仿真的主体部分; 步骤(2)、流体自由表面追踪:应用Particle Level Set Method (PLSM)方法构建流 体自由表面;输出步骤(1)中得到的流体网格,用PLSM方法标记流体运动界面在Lattice Boltzmann Method(LBM)网格内部的位置,追踪流体界面,以此作为流体的近似表面; 步骤(3)、流体细节仿真:通过Smoothed Particle Hydrodynamics (SPH)方法来对流 体细节进行物理仿真,首先建立流体仿真物理模型,包括流体求解区域和边界条件,其中边 界条件为PLSM追踪到的流体界面;然后设定SPH初始条件,确立粒子生成位置,初始化粒子 属性信息;再然后,将控制流体运动的N-S方程离散化,用离散了的控制方程近似表达粒子 属性变量及其导数形式;接下来,根据时间步长积分形式开始累加,更新求解区域的粒 子位置、速度、密度信息,计算粒子属性在一个时间步长内的变化量;紧接着At+l,计算下 一时刻的速度变化量和新的位置信息,更新SPH粒子系统;最后,用新的速度和位置信息计 算瞬时变量;重复以上各步骤,直到指定结束时刻和计算达到收敛条件,仿真结束;以此模 拟流体运动过程中产生的浪花、水珠细节; 步骤(4)、集成仿真场景、进行算法耦合;把步骤(1)、(2)、(3)中LBM流体和SPH仿真 的流体集成到同一个场景中,利用耦合算法进行LBM和SPH算法的参数传递,包括密度、速 度、位置;根据耦合算法控制流体仿真过程中SPH粒子的生成时机; 步骤(5)、运用快速行进算法(Fast Marching Mehod,FMM)对PLSM追踪出来的网格进 行遍历,并用三角面片填充,SPH渲染的流体细节直接用OpenGL绘制成粒子球。
2. 根据权利要求1所述的基于欧拉-拉格朗日耦合方法的流体仿真方法,其特 征在于:步骤(1)中所述的大规模流体的物理仿真方法,该方法使用空间场内的均匀 网格表示流场,利用DnQm网格模型表示流体在网格格点处的属性,将纳维一斯托克斯 (Navier-Stokes,N-S)方程转化为只与时间相关的离散形式的LBGK方程形式求解,具体 过程为假设流体运动具有平衡态,分子之间的碰撞过程会促使流体分布函数趋近于平衡 态,在流体趋于平衡态的过程中,从空间、时间和速度的角度将连续矢量离散成沿各个特 定的方向的标量值,将连续的流体运动看作为两个离散步骤--碰撞(Collision)和迁移 (Stream),通过离散时间At驱动流体在网格格点处的碰撞或迁移过程以实现流体模拟过 程。
3. 根据权利要求1所述的基于欧拉-拉格朗日耦合方法的流体仿真方法,其特征在于: 步骤(3)中所述的流体细节仿真,该方法使用一组离散粒子表示流体,利用平滑核函数近 似表示粒子的物理参数,将纳维一斯托克斯(Navier-Stokes,N-S)方程转化为只与时间相 关的离散形式的微分方程,再利用积分方法求解;描述流体运动的控制方程可以由一系列 拉格朗日型偏微分方程表示,这些方程遵循能量守恒定律;N-S方程可用时间全导数形式 表示如下: Dp _ dup l)t~ P~dx^ 动量方程为: DVa _ 1 οσ',β Dt ~~p ' δχμ 能量方程: De _ σαβ dua Dt p ox1' 其中,α,β表示坐标方向,p表示流体密度,t表示时间,u为流体速度,x为空间位 置,σ为总应力张量,对于给定的粒子i,宏观密度可根据SPH方法用支持域内粒子密度累 加得到: 7=1 其中,光滑核函数为: ffij = W (| Xi-Xj I, h) = ff (Rij, h) Ru表示粒子i和j之间的相对距离;是两个粒子的绝对距离;h是光滑长度, 直接影响SPH方法的求解精度。
【文档编号】G06T15/00GK104268943SQ201410508371
【公开日】2015年1月7日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】郝爱民, 李帅, 高阳 申请人:北京航空航天大学, 北京天人同达软件科技有限公司