一种基于sph算法的流体模拟方法及装置的制造方法

文档序号:8223696阅读:216来源:国知局
一种基于sph算法的流体模拟方法及装置的制造方法
【技术领域】
[0001] 本发明属于计算机仿真技术领域,尤其涉及一种基于SPH算法的流体模拟方法及 装置。
【背景技术】
[0002] 在计算机图形学领域,近年来,基于粒子的拉格朗日方法逐渐成为实现流体模拟 的主要工具,特别是平滑粒子流体动力学(Smoothed Partide Hy化odynamics,SPH)方法, 其能够更为自然地描述介质运动的历史过程,模拟更多的流体细节,例如泡沫、水花等,W 及处理更为复杂的流体表面,且该方法计算量小,易于实现。
[0003] 然而,由于粒子的离散化W及模拟区域的限制,SK1方法不可避免地增加了数值耗 散,该将导致流体模拟过程中很多微小细节的损失。

【发明内容】

[0004] 本发明实施例的目的在于提供一种基于SPH算法的流体模拟方法及装置,旨在解 决现有技术中基于SPH算法的流体模拟方法导致很多微小细节损失的问题。
[0005] 本发明实施例是该样实现的,一种基于SPH算法的流体模拟方法,包括:
[0006] 初始化流场,生成离散的粒子;
[0007] 计算当前流场中每个所述粒子的密度;
[0008] 根据所述粒子的密度计算每个所述粒子的物理属性,所述物理属性包括所述粒子 的润流约束;
[0009] 根据每个所述粒子的物理属性计算每个所述粒子的速度变化率;
[0010] 根据每个所述粒子的速度变化率更新每个所述粒子的速度和位置。
[0011] 本发明实施例的另一目的在于提供一种基于SPH算法的流体模拟装置,包括:
[0012] 初始化单元,用于初始化流场,生成离散的粒子;
[0013] 密度计算单元,用于计算当前流场中每个所述粒子的密度;
[0014] 物理属性计算单元,用于根据所述粒子的密度计算每个所述粒子的物理属性,所 述物理属性包括所述粒子的润流约束;
[0015] 速度变化率计算单元,用于根据每个所述粒子的物理属性计算每个所述粒子的速 度变化率;
[0016] 模拟单元,用于根据每个所述粒子的速度变化率更新每个所述粒子的速度和位 置。
[0017] 本发明实施例通过将润流约束无缝结合到SPH算法中,增强了基于SPH算法模拟 出的流体的细节表现,提高了流体模拟的保真度。
【附图说明】
[0018] 图1是本发明实施例提供的基于SPH算法的流体模拟方法的实现流程图;
[0019] 图2是本发明实施例提供的SPH算法原理示意图;
[0020] 图3是本发明实施例提供的基于SPH算法的流体模拟方法S103的具体实现流程 图;
[0021] 图4是本发明实施例提供的基于SK1算法的流体模拟方法所模拟的波浪效果对比 图;
[0022] 图5是本发明实施例提供的基于SK1算法的流体模拟方法所模拟的流体与固体交 互的场景效果对比图;
[0023] 图6是本发明实施例提供的基于SPH算法的流体模拟装置的结构框图。
【具体实施方式】
[0024] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。
[0025] 对流体进行模拟,无论是采用基于网格的欧拉法还是采用基于粒子的拉格朗日 法,多数都是W化vier-stoke方程作为基本的流体运动物理方程进行力的求解与模拟。所 述化vier-Stokes方程,是描述不可压缩流体的动量守恒运动方程,对于恒温、带有滞粘性 的流体,其基本的物理量包括速度、质量W及压强。
[0026] 化vier-Stokes方程的通常表示形式为:
【主权项】
1. 一种基于平滑粒子流体动力学SPH算法的流体模拟方法,其特征在于,包括: 初始化流场,生成离散的粒子; 计算当前流场中每个所述粒子的密度; 根据所述粒子的密度计算每个所述粒子的物理属性,所述物理属性包括所述粒子的涡 流约束; 根据每个所述粒子的物理属性计算每个所述粒子的速度变化率; 根据每个所述粒子的速度变化率更新每个所述粒子的速度和位置。
2. 如权利要求1所述的方法,其特征在于,所述根据所述粒子的密度计算每个所述粒 子的物理属性包括: 计算每个所述粒子的涡量; 根据每个所述粒子的涡量,为每个所述粒子构建校正力场,以得到所述粒子的涡流约 束。
3. 如权利要求2所述的方法,其特征在于,所述计算每个所述粒子的涡量包括: 根据
)计算每个所述粒子的涡量,其中,所述OiS 当前粒子i的涡量,所述j是为所述当前粒子i的邻域粒子j个数,所述为所述邻域粒 子j的质量,所述^?二^ %,所述为所述当前粒子i的速度,所述巧为所述邻域粒 子j的速度,所述W()是以h为核半径的平滑核函数,所述h为一常数,所述ri为所述当前 粒子i的位置,所述h为所述邻域粒子j的位置; 所述根据每个所述粒子的涡量,为每个所述粒子构建校正力场,以得到所述粒子的涡 流约束包括: 根据
构建每个所述粒子的校正力场,其中,所述
为所述当前粒子i的校正力场,所述e为一常数,所述N为指向涡流旋转中心的归一化向 量,N = η / I η I,所述W = 17丨 丨; 将所述
,其 中,所述Pj为所述邻域粒子j的密度,所述ω ^为所述邻域粒子j的涡量。
4. 如权利要求3所述的方法,其特征在于,所述物理属性还包括所述粒子的压力,所述 根据所述粒子的密度计算每个所述粒子的物理属性包括: 根据
计算所述当前粒子i的压力 FfMss^e,其中,所述Pi为所述当前粒子i的压强,所述h为所述邻域粒子j的压强。
5. 如权利要求3所述的方法,其特征在于,所述物理属性还包括所述粒子的粘性力,所 述根据所述粒子的密度计算每个所述粒子的物理属性包括: 根据
计算所述当前粒子i的粘性力 ,所述v为运动黏度。
6. -种基于平滑粒子流体动力学SPH算法的流体模拟装置,其特征在于,包括: 初始化单元,用于初始化流场,生成离散的粒子; 密度计算单元,用于计算当前流场中每个所述粒子的密度; 物理属性计算单元,用于根据所述粒子的密度计算每个所述粒子的物理属性,所述物 理属性包括所述粒子的涡流约束; 速度变化率计算单元,用于根据每个所述粒子的物理属性计算每个所述粒子的速度变 化率; 模拟单元,用于根据每个所述粒子的速度变化率更新每个所述粒子的速度和位置。
7. 如权利要求6所述的装置,其特征在于,所述物理属性计算单元包括: 涡量计算子单元,用于计算每个所述粒子的涡量; 构建子单元,用于根据每个所述粒子的涡量,为每个所述粒子构建校正力场,以得到所 述粒子的涡流约束。
8. 如权利要求7所述的装置,其特征在于,所述涡量计算子单元具体用于: 根据
>计算每个所述粒子的涡量,其中,所述OiS 当前粒子i的涡量,所述j为所述当前粒子i的邻域粒子j,所述为所述粒子j的质量, 所述Aj·二4 _巧,所述屯为所述当前粒子i的速度,所述%?为所述邻域粒子j的速度, 所述WO是以h为核半径的平滑核函数,所述h为一常数,所述1^为所述当前粒子i的位 置,所述1^_为所述邻域粒子j的位置; 所述构建子单元具体用于: 根据
构建每个所述粒子的校正力场,其中,所述Ffertidty 为所述当前粒子i的校正力场,所述e为一常数,所述N为指向涡流旋转中心的归一化向 量,N = η / I η I,所述?] = 17丨 CUi I; 将所述
I,其 中,所述Pj为所述邻域粒子j的密度,所述ω ^为所述邻域粒子j的涡量。
9. 如权利要求8所述的装置,其特征在于,所述物理属性还包括所述粒子的压力,所述 物理属性计算单元具体用于: 根据
计算所述当前粒子i的压力 ,其中,所述&为所述当前粒子i的压强,所述p」为所述邻域粒子」的压强。
10. 如权利要求8所述的装置,其特征在于,所述物理属性还包括所述粒子的粘性力, 所述物理属性计算单元具体用于:
计算所述当前粒子i的粘性力 Ffswsity,其中,所述v是运动黏度。
【专利摘要】本发明适用于计算机仿真技术领域,提供了一种基于SPH算法的流体模拟方法及装置,包括:初始化流场,生成离散的粒子;计算当前流场中每个所述粒子的密度;根据所述粒子的密度计算每个所述粒子的物理属性,所述物理属性包括所述粒子的涡流约束;根据每个所述粒子的物理属性计算每个所述粒子的速度变化率;根据每个所述粒子的速度变化率更新每个所述粒子的速度和位置。本发明通过将涡流约束无缝结合到SPH算法中,增强了基于SPH算法模拟出的流体的细节表现,提高了流体模拟的保真度。
【IPC分类】G06F17-50
【公开号】CN104537175
【申请号】CN201410841396
【发明人】陈珠超, 司伟鑫, 秦璟, 王琼, 王平安
【申请人】中国科学院深圳先进技术研究院
【公开日】2015年4月22日
【申请日】2014年12月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1