[发明专利]基于PBF的流体凝固模拟方法及系统有效
申请号: | 201811043656.6 | 申请日: | 2018-09-07 |
公开(公告)号: | CN109344450B | 公开(公告)日: | 2019-07-23 |
发明(设计)人: | 周凡;戴熹;林淑金;苏卓 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 胡枫 |
地址: | 510000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于PBF的流体凝固模拟方法,包括:S1,初始化数据;S2,粒子固定半径邻域搜索;S3,更新粒子的凝固状态;S4,将速度衰减因子作用于粒子,计算粒子的位置中间量;S5,计算粒子密度及运动约束量;S6,计算粒子的位置变化量,并进行防穿透修正;S7,更新粒子速度及位置,并处理粒子与边界碰撞问题;S8,计算人造粘性和涡流约束。本发明还公开了一种基于PBF的流体凝固模拟系统。本发明,可通过不同的粒子速度衰减因子来模拟不同的流体模拟的快慢,还可通过位置变化量修正粒子穿透现象,在GPU的支持下实现更大规模更有效率的流体凝固模拟。 | ||
搜索关键词: | 粒子 流体 凝固 位置变化量 速度衰减 涡流 初始化数据 修正 粒子穿透 邻域搜索 流体模拟 模拟系统 凝固状态 因子作用 运动约束 防穿透 中间量 更新 | ||
【主权项】:
1.一种基于PBF的流体凝固模拟方法,其特征在于,包括:S1,初始化数据;S2,粒子固定半径邻域搜索;具体地,根据流体运动空间的包围盒大小以及平滑半径长度将包围盒划分成大小均匀的网长方体网格,根据粒子的位置,计算出粒子所在网格格子的索引,并为每个格子维护一个其所包含的粒子的索引表,从而对于每个粒子,查找器固定半径内的邻域粒子只需要至多在27个网格格子内寻找,即每个粒子本身所在格子以及与该格子紧密邻接的另外至多26个格子,在这27个格子内,对于每个粒子而言,与其距离小于等于平滑核半径的粒子即为其邻域粒子;S3,更新粒子的凝固状态;粒子的凝固状态分为三种,分别为:非凝固状态、在凝固状态和已凝固状态;若粒子的凝固状态为“非凝固状态”,计算凝固发生值Thi,当Thi的值达到指定阈值时,更新粒子的凝固状态为“在凝固状态”,其中,
Wij=W(xij,h),xij和h分别表示粒子i到粒子j的位移和固定的核平滑半径,m、ρ0、Thj分别表示粒子的质量、初始密度和凝固发生值;若粒子的凝固状态为在凝固状态,计算速度衰减因子,当速度衰减因子为0时,更新粒子的状态为已凝固状态;S4,将速度衰减因子作用于粒子,计算粒子的位置中间量;具体地,所述步骤S4包括:S41,计算粒子所受合力、加速度及当前速度;S42,根据粒子的凝固状态计算出粒子的速度衰减因子,并将速度衰减因子作用于粒子,计算出粒子的位置中间量;S5,计算粒子密度及运动约束量;S6,计算粒子的位置变化量,并进行防穿透修正;S7,更新粒子速度及位置,并处理粒子与边界碰撞问题;S8,计算人造粘性和涡流约束;所述步骤S2到S8,通过设置合适的CUDA线程块和每块线程数,以使得每个粒子的每步计算都可以分配到GPU的一个线程上单独执行,从而实现整个模拟算法的并行化计算。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811043656.6/,转载请声明来源钻瓜专利网。