[发明专利]一种基于变光滑长度的SPH流体模拟方法在审
申请号: | 201911050695.3 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110781632A | 公开(公告)日: | 2020-02-11 |
发明(设计)人: | 倪维涛;孔凡玉;沈红威 | 申请(专利权)人: | 中国计量大学 |
主分类号: | G06F30/25 | 分类号: | G06F30/25;G06F30/28;G06F111/10;G06F113/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 流体模拟 粒子 方程组 光滑 邻域粒子 流体表面 纹理缓存 迭代法 可视化 实时性 求解 流体 蛙跳 真实性 并行 对称 近似 变形 搜索 渲染 修正 更新 | ||
本发明公开了一种基于变光滑长度的SPH流体模拟方法。首先从对称核近似角度出发建立修正后的变光滑长度SPH方程组;然后采用迭代法求解新建立的SPH方程组,并由此计算出粒子所受合力得到粒子加速度;蛙跳法更新粒子下一步的速度和位置;最终基于Marching Cubes算法实现流体表面提取,利用GPU纹理缓存数据进行可视化渲染。本发明方法的流体模拟效果比传统模拟方法更加符合流体变形实际情况,提高了流体模拟的真实性。此外,GPU并行邻域粒子搜索在粒子达到54K规模下,与CPU方法相比加速比达到56.4,大大提高了流体模拟的实时性。
技术领域
本发明属于计算机图形学领域,具体涉及一种基于变光滑长度的SPH流体模拟方法。
背景技术
流体遇到冲击会产生很大的变形,针对模拟大变形流体问题,SPH方法不仅可以处理大变形问题而且能够对粒子进行效果很好的追踪,非常适合对大变形流体的模拟。在SPH方法中,使用粒子近似法主要依赖于一个以光滑半径为长度构造出的粒子支持域,计算效率和精度取决于邻近粒子的数量。光滑长度的选取决定局部核函数近似的精度,直接影响流体模拟的计算速度和真实性。若光滑长度过小,则在支持域中没有足够的粒子对给定粒子提供插值信息和施加作用力,导致模拟结果的精度降低。若光滑长度过大,则用于更新给定粒子的邻近粒子部分信息或局部特性将会丢失,也会导致模拟结果的精度降低。
传统SPH方法从光滑长度与粒子密度关系入手,将光滑长度看成受恒定临近粒子数约束条件的独立坐标变量,提出全守恒SPH方程组。这种方法存在方程组复杂、数值误差较大以及适用范围窄的问题,不具有通用性和实用性。基于对前人的研究,本发明提出一种从对称核近似角度出发建立修正后的变光滑长度SPH方程组,模拟遇到冲击后的变形流体。
发明内容
为了从根本上消除变光滑长度效应在求解流体受到冲击产生大变形问题时造成的偏差问题,本发明从对称核近似角度出发修正后的变光滑长度SPH方程组。同时在GPU上采用一种并行邻域粒子搜索,实现对粒子搜索的加速。发明具体技术方案如下:
一种基于变光滑长度的SPH流体模拟方法包括如下步骤:
步骤一,从对称核近似角度出发修正SPH密度演化方程、动量方程和能量方程,建立一组修正后的变光滑长度SPH方程组;
步骤二,由建立的SPH方程组计算出粒子所受的压力、重力、黏性力,再根据牛顿第二定律计算出合力得到加速度;
步骤三,更新下一步粒子的速度和位置;
步骤四,基于Marching Cubes算法实现流体表面提取,利用GPU纹理缓存的位置、速度和颜色数据进行三维可视化渲染;
Marching Cubes流体表面提取算法涉及网格节点处的密度计算、交点坐标和法矢量计算。采用CUDA并行计算网格节点处的密度值和粒子网格节点密度值,计算思想由影响域改为支持域,即当前网格节点的密度值由邻域范围内所有粒子计算所得,而不是计算一个粒子点对邻域范围内产生的影响。
所述步骤一具体修正过程如下:
(1)密度方程
传统SPH法中,某点ri处密度ρ(ri)的核函数近似式为
其中,W(ri-rj,h)称为核函数,h为光滑长度描述核近似的程度,N为i粒子邻近粒子总数。
光滑长度h的选取,应尽量使得粒子的邻近数目在计算中保持不变,以获得全场一致的核近似精度,通常设定粒子i的光滑长度hi半径区域内包含恒定质量Msph,即:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国计量大学,未经中国计量大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911050695.3/2.html,转载请声明来源钻瓜专利网。