本发明属于计算机海面溢油仿真领域,涉及一种海面溢油仿真中流体运动控制方程的无散插值方法,可应用于海上溢油应急仿真。
背景技术:
1、海上溢油威胁严峻,提升海上溢油应急处置能力、加强海上溢油应急处置人员溢油应急培训已成为一个需要迫切解决的问题。采用模拟器进行海上应急模拟培训已经被证明是一个可行的方法。但就目前而言,模拟器中溢油模型普遍缺乏行为真实感,同时交互也不够灵活。
2、在模拟器中溢油模型的计算机图形学的流体运动仿真中,需要对流体运动控制方程进行离散求解。求解方法主要方法有网格法、粒子法和网格粒子混合方法。
3、在网格粒子混合方法中,由于需要进行网格和粒子之间的信息交换。而以往的方法在进行这种信息交换时通常采用插值方法,如二阶插值。但是常用的插值方法不满足连续性方程,因此无法保证插值结果散度为零,这容易造成计算结果发散,使得仿真计算无法继续,从而导致模拟结果失去意义。
4、本发明涉及的参考文献如下:
5、[1]邹长军《航海模拟中船舶溢油应急仿真及可视化[d]》,(博士学位论文),大连:大连海事大学,2018。
6、[2]邹长军、尹勇、刘秀文等《海面溢油可视化新方法的研究与实现[j]》,重庆交通大学学报(自然科学版),2017,36(6):103-108。
7、[3]邹长军、尹勇,刘秀文等《海面溢油可视化关键技术研究[j]》,系统仿真学报,2018,30(6):2109-2116。
技术实现思路
1、为解决现有技术存在的溢油行为真实感不强问题,本发明要提出海面溢油仿真中流体运动控制方程的无散插值方法,进一步提升海上溢油模拟中行为的真实感。
2、一种海面溢油仿真中流体运动控制方程的无散插值方法,包括以下步骤:
3、a、求解初始速度场
4、基于粒子网格混合方法的流体运动控制方程组如下:
5、
6、式中,p为压强;v为速度矢量;ρ为密度;μ为粘性系数;f为外力;t为时间;▽为散度;式(1)由两个方程构成,其中第一式为动量方程,第二个方程为流体连续性方程;
7、求解式(1)动量方程时,首先将溢油区域划分成矩形网格,并采用基于网格的方法进行速度场的求解,求解过程包括进行压力梯度项和散度项的计算;然后进行速度场的修正,进而得到网格节点处更新的速度场。
8、b、进行无散插值
9、在得到网格节点的速度场后,将网格节点的速度通过插值得到粒子位置的速度场,具体步骤如下:
10、b1、首先根据以下插值方法进行插值,得到速度场的初始值:
11、
12、式中,u',v'分别是水平、垂直方向初始速度插值结果。设pi为当前时刻的第i个粒子位置,i为粒子序号。将该粒子位置所在网格的四个节点按顺时针排序,即左下角编号为1、左上角编号为2、右上角编号为3、右下角编号为4;并将该粒子位置所在网格划分为四个矩形区域,划分方式为:以第i个粒子为中心点,分别画出水平线和垂直线,由水平线和垂直线构成的十字线与网格四条边之间分别形成四个矩形区域,a1,a2,a3,a4分别为右上、右下、左下、左上四个矩形区域的面积。u1,u2,u3,u4和v1,v2,v3,v4分别为对应节点1,2,3,4的x方向和y方向速度。
13、对流体力学连续性方程进行离散,其中δx、δy分别为网格水平方向、垂直方向宽度:
14、
15、b2、根据连续性方程式(4)计算插值后得到速度场散度,其中div1第一次计算得到的散度:
16、
17、b3、在根据式(5)计算u第一次的修正值,其中u”为第一次修正速度:
18、
19、b4、根据式(6)计算新的散度,其中div2为第二次计算得到的散度:
20、
21、b5、根据式(7)更新速度v,v”为第二次修正后的速度:
22、
23、b6、根据式(4)判断散度值是否低于阈值,如果低于阈值则转步骤b7;否则转步骤b2。
24、b7、结束插值。
25、c、粒子位置更新
26、采用更新后的速度场进行粒子位置对流计算。
27、d、条件循环
28、如果模拟的运行时间满足要求,则结束,否则转向步骤a继续进行模拟。
29、与现有技术相比,本发明具有以下有益效果:
30、1、本发明可以实现基于流体力学ns方程的溢油动态模拟,这是一种基于物理的方式,因而可以有效提升溢油行为真实感。
31、2、由于本发明结合了流体力学的连续性方程,通过多步迭代求解方式逐步降低速度场的散度;因此本发明可以保证插值结果满足连续性方程,使得计算结果更为稳定。
32、3、由于本发明满足连续性方程,因此计算需要迭代的次数更少。
1.一种海面溢油仿真中流体运动控制方程的无散插值方法,其特征在于:包括以下步骤: