一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法技术

技术编号:23672472 阅读:49 留言:0更新日期:2020-04-04 17:55
本发明专利技术涉及一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,以实现高效且逼真的高速流体仿真为目的,并使其能用于具体的消防仿真场景。本发明专利技术使用拉格朗日法求解N‑S方程进行流体仿真的核心思想,在SPH流体仿真基础上,围绕流体粒子的速度域聚类结果展开研究。首先利用k‑means聚类算法根据粒子的速度进行聚类,得到高速流体粒子与慢速流体粒子分组,然后利用双尺度时间步长框架分别对高速流体粒子和慢速流体粒子进行流体动力学计算,并通过设计耦合算法整合高速流体粒子与普通流体粒子,实现逼真、快速、兼顾细节的大规模流体仿真,并使其能够在消防场景中得到相应的运用。

A simulation method of high pressure fire water gun based on particle clustering and Lagrange method

【技术实现步骤摘要】
一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法
本专利技术涉及一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,属于基于计算机图形学的流体动画仿真领域。
技术介绍
目前,流体仿真是一个跨学科、跨平台的研究方向及工程领域,但是受限于现有硬件水平的计算能力的限制和人们对物理世界的不完全了解所导致的仿真算法的局限性,对流体模型进行实时高效、逼真且稳定的仿真模拟还存在诸多困难。近年来,满足工程和科研要求的真实流体仿真备受国内外学者和科研机构的关注。基于物理的真实感流体仿真研究对于从事流体相关的科研工作者和计算机图形学的研究者来说无疑面临着巨大的挑战,也具有巨大的吸引力,其在工程实践领域也具有较大的应用价值。基于物理的流体仿真方法主要分为三种:基于网格思想的欧拉方法和基于粒子思想的拉格朗日方法以及两类思想结合的混合方法。拉格朗日方法中的SPH方法因为其丰富的粒子细节表现能力及良好的整体场景表现能力而常被应用于流体仿真的工程实践当中。受限于当前计算能力的限制,对于流体细节的精细刻画、扩大仿真场景的规模的同时保证流体仿真的效率这三者具有不可调和的矛盾,在进行精细流体细节渲染的同时很难保证实现大规模流体仿真。在消防演练相关的仿真场景中,流体仿真是其中的一项重要的支撑内容。消防场景下的流体仿真,与一般场景中的流体仿真既有诸多共性,也有很多的细节的区别,最大的不同体现在在消防场景中的消防设施所生成的水流一般是高压强的,高压强的流体一般在进入大气环境后伴随有较高的流速,即粒子的初始速度较高。当水流撞击在火源及地面时所产生的流体细节比较丰富,同时,高速的流体粒子也给仿真系统的稳定性和实时性要求提出了较高的要求。为了解决上述问题,本专利技术提出一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,以实现兼顾速度、规模和细节的SPH流体仿真为目标,围绕基于物理的流体仿真方法展开研究,首先用k-means算法对流体进行聚类,然后在粒子聚类结果的基础上,对高速流体粒子进行细致的流体计算,同时减少普通流体粒子的费时计算过程,从而实现了兼顾细节的大规模交互场景的实时逼真绘制,使其能在消防仿真场景中得到应用。与现有的SPH流体模型(如PCISPH、DFSPH)相比,本方法的方法由于在慢速流体计算过程中省略了对总体流体行为无影响的计算步骤,因此显著提高了计算效率。
技术实现思路
本专利技术解决的技术问题是:克服了现有的SPH流体仿真方法的效率问题,提供一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,解决了流体实时性与仿真规模及细节之间的矛盾,满足了对消防仿真过程中进行高效逼真模拟的需要。本专利技术采用的技术方案为:一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,包括以下五个步骤:步骤(1)、应用粒子聚类算法,根据粒子的速度域数值对粒子进行聚类,在粒子聚类算法收敛时构造两个聚类的分组结果,并统计两个聚类的分组结果中的速度分布,求得阈值,根据阈值将流体粒子分为高速流体粒子和普通流体粒子两个集合,大于或等于速度阈值的为高速流体粒子,低于阈值的作为普通流体粒子;步骤(2)、结合聚类算法所得到的分类结果,根据Courant–Friedrichs–Lewy条件计算得到两种时间步长:主步骤时间步长和子步骤时间步长,每个主步骤包含若干个子步骤,普通流体粒子由于运动速度缓慢,粒子属性变化量小,每个主步骤时间步长更新一次;高速粒子运动剧烈,为保证流体细节不丢失,每个子步骤时间步长更新一次,即假设每个主步骤中包含n个子步骤,则高速粒子没更新n次时,普通流体粒子更新1次;步骤(3)、通过SPH(SmoothedParticleHydrodynamics)方法对粒子系统进行流体动力学计算:首先导入场景的静态边界模型,建立流体仿真所需的场景边界,使用粒子生成导入的边界模型的的表面结构,并使用流体的交互方式使固体对流体产生力的交互作用;然后确定初始粒子域的位置以及后续粒子的生成位置,求解Navier-Stocks(N-S)方程,通过离散的加权求和方式解算出粒子的各物理量;再以步骤(2)中的时间步长为积分量,对高速流体粒子和普通流体粒子分别进行更新,计算得到所有粒子在下一时刻的位置,更新粒子的速度和位置信息,生成新的粒子位置信息及结构,并更新相关的物理量;步骤(4)、把高速流体粒子和普通流体粒子进行集成,利用耦合算法实现双时间步长模型整合,计算并更新流体粒子的物理量,物理量包括密度、速度和位置;根据耦合算法实现流体仿真过程中高速流体粒子和普通流体粒子在同一仿真场景中的正确耦合;步骤(5)、为实现真实感仿真效果,将仿真场景中的固体物体使用片面结构进行渲染呈现,而渲染的流体粒子细节直接用OpenGL绘制成粒子球在场景中进行表示,或使用MarchingCube算法生成片面加构,加以渲染呈现。步骤(1)中,所述的粒子聚类算法采用k-means聚类算法,根据粒子速度值将粒子聚类成两个分组,该过程使用流体的中间速度值作为聚类算法的输入内容,并设定初始的平均值使其更快地实现算法的收敛,根据k-means聚类算法的原理,收敛的判断条件表示为:上式中,Si表示所得到的第i个聚类的粒子集,vj为第j个粒子xj的速度值,为第i个粒子集内粒子的速度平均值。步骤(2)中,所述主步骤时间步长和子步骤时间步长的计算,对于子步骤的时间步长大小的推导,使用所有粒子的最大速度值代入CFL收敛公式进行求解,而低速流体粒子组的最大速度则被用于代入到CFL公式中求解出主步骤的时间步长大小;所有流体粒子的最大速度用vmax,all表示,则子步骤时间步长Δtmini表示为:低速流体集合中的速度最大值为vmax,low,主步骤时间步长Δtmajor大小表示为:上述两式中,参数a∈[0,0.5],d为粒子半径,同时设定阈值Ntres,若主步骤时间步长大小和子步骤时间步长大小的比例低于这一阈值,一个主步骤将会只包含一个标准的SPH模拟步骤;另外,为防止这一比例过大而导致模拟效果失真,设置一个最大的子步骤数量的上限Nmax,一个主步骤内部所含有的子步骤的数量关系如下:为保证算法稳定,设定Ntres的值不超过1.5。本专利技术的原理在于:(1)通过k-means对流体进行聚类分析,得到高速流体粒子组和普通流体粒子组,从而为后续的步骤中有针对性地对分属不同粒子组的粒子采用不同的仿真重力、结合双尺度时间步长框架提供了数据支持。(2)为了准确地渲染流体仿真的细节表现,使用SPH方法对流体粒子进行流体动力学计算,包括在重力、空气、固体边界共同作用下的外力以及流体粒子内部相互作用下的内力的计算,通过进行隐式的循环迭代的压强项求解计算,将粒子运动计算过程中所产生的密度误差减小到阈值满园内,从而保证了流体粒子在密度上保持了不可压缩的特性,达到了仿真效果的稳定性和真实性。(3)为了对流体进行逼真的细节刻画,本专利技术提出了一种基于粒子聚类和拉格朗日方法的流体仿真技术。该方法在SPH流体仿真的本文档来自技高网
...

【技术保护点】
1.一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,其特征在于,包括以下五个步骤:/n步骤(1)、应用粒子聚类算法,根据粒子的速度域数值对粒子进行聚类,在粒子聚类算法收敛时构造两个聚类的分组结果,并统计两个聚类的分组结果中的速度分布,求得阈值,根据阈值将流体粒子分为高速流体粒子和普通流体粒子两个集合,大于或等于速度阈值的为高速流体粒子,低于阈值的作为普通流体粒子;/n步骤(2)、结合聚类算法所得到的分类结果,根据Courant–Friedrichs–Lewy条件计算得到两种时间步长:主步骤时间步长和子步骤时间步长,每个主步骤包含若干个子步骤,普通流体粒子由于运动速度缓慢,粒子属性变化量小,每个主步骤时间步长更新一次;高速粒子运动剧烈,为保证流体细节不丢失,每个子步骤时间步长更新一次,即假设每个主步骤中包含n个子步骤,则高速粒子没更新n次时,普通流体粒子更新1次;/n步骤(3)、通过SPH(Smoothed Particle Hydrodynamics)方法对粒子系统进行流体动力学计算:首先导入场景的静态边界模型,建立流体仿真所需的场景边界,使用粒子生成导入的边界模型的的表面结构,并使用流体的交互方式使固体对流体产生力的交互作用;然后确定初始粒子域的位置以及后续粒子的生成位置,求解Navier-Stocks(N-S)方程,通过离散的加权求和方式解算出粒子的各物理量;再以步骤(2)中的时间步长为积分量,对高速流体粒子和普通流体粒子分别进行更新,计算得到所有粒子在下一时刻的位置,更新粒子的速度和位置信息,生成新的粒子位置信息及结构,并更新相关的物理量;/n步骤(4)、把高速流体粒子和普通流体粒子进行集成,利用耦合算法实现双时间步长模型整合,计算并更新流体粒子的物理量,物理量包括密度、速度和位置;根据耦合算法实现流体仿真过程中高速流体粒子和普通流体粒子在同一仿真场景中的正确耦合;/n步骤(5)、为实现真实感仿真效果,将仿真场景中的固体物体使用片面结构进行渲染呈现,而渲染的流体粒子细节直接用OpenGL绘制成粒子球在场景中进行表示,或使用Marching Cube算法生成片面加构,加以渲染呈现。/n...

【技术特征摘要】
1.一种基于粒子聚类和拉格朗日方法的高压消防水枪仿真方法,其特征在于,包括以下五个步骤:
步骤(1)、应用粒子聚类算法,根据粒子的速度域数值对粒子进行聚类,在粒子聚类算法收敛时构造两个聚类的分组结果,并统计两个聚类的分组结果中的速度分布,求得阈值,根据阈值将流体粒子分为高速流体粒子和普通流体粒子两个集合,大于或等于速度阈值的为高速流体粒子,低于阈值的作为普通流体粒子;
步骤(2)、结合聚类算法所得到的分类结果,根据Courant–Friedrichs–Lewy条件计算得到两种时间步长:主步骤时间步长和子步骤时间步长,每个主步骤包含若干个子步骤,普通流体粒子由于运动速度缓慢,粒子属性变化量小,每个主步骤时间步长更新一次;高速粒子运动剧烈,为保证流体细节不丢失,每个子步骤时间步长更新一次,即假设每个主步骤中包含n个子步骤,则高速粒子没更新n次时,普通流体粒子更新1次;
步骤(3)、通过SPH(SmoothedParticleHydrodynamics)方法对粒子系统进行流体动力学计算:首先导入场景的静态边界模型,建立流体仿真所需的场景边界,使用粒子生成导入的边界模型的的表面结构,并使用流体的交互方式使固体对流体产生力的交互作用;然后确定初始粒子域的位置以及后续粒子的生成位置,求解Navier-Stocks(N-S)方程,通过离散的加权求和方式解算出粒子的各物理量;再以步骤(2)中的时间步长为积分量,对高速流体粒子和普通流体粒子分别进行更新,计算得到所有粒子在下一时刻的位置,更新粒子的速度和位置信息,生成新的粒子位置信息及结构,并更新相关的物理量;
步骤(4)、把高速流体粒子和普通流体粒子进行集成,利用耦合算法实现双时间步长模型整合,计算并更新流体粒子的物理量,物理量包括密度、速度和位置;根据耦合算法实现流体仿真过程中高速流体粒子和普通流体粒子在同一仿真场景中的正确耦合;
步骤(5)、为实现真...

【专利技术属性】
技术研发人员:郝爱民高阳郑重李帅
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1