SPH fluid simulation methods & source codes (cpu & gpu)

来源:互联网 发布:linux ifup eth0失败 编辑:程序博客网 时间:2024/03/29 20:06

这篇文章主要源于我在知乎上回到的一个问题 请教一篇siggraph上比较好实现的流体模拟论文? 

关于 Fluid Simulation,本文主要介绍使用基于 SPH 的方法模拟水的 Siggraph 论文,这类基于 SPH 的方法代码量不大,实现比较容易。

(1) Siggraph 09' 有篇基于 SPH 的文章 “Predictive-corrective incompressible SPH” ,简称为 PCISPH 方法。这个挺容易实现的,可以参见我的 github 项目"基于CUDA技术的高效流体模拟算法"。代码方面可以参考我的github source code (Fluid Simulation using CUDA (SPH/WCSPH/PCISPH)) ,里面有CPU和GPU实现。

(2) Siggraph 11' 同一作者的一篇 SPH paper "Two-scale particle simulation" 这个我也实现过,不过不太完美,PCISPH 理论性更强,实现简单,而这篇 paper 感觉 hack 多一点,不作推荐。

(3) Siggraph 12' 一篇文章 "Versatile rigid-fluid coupling for incompressible SPH" 也不错,使用Bullet 模拟刚体(也可以使用 PhysX/Havok 等其他物理引擎负责刚体模拟),流体部分可以用 WCSPH/PCISPH 实现,这个Fluid-Solid Coupling 技术不错。我实现过 Gpu Gems 3 上的 Real-Time Rigid Body Simulation on GPUs 模拟刚体(也可以只取单层表面粒子用于刚体受力计算),然后使用这篇 Sig 12' paper 中的 Coupling 技术完成流固耦合模拟,效果还不错,实现也容易。代码方面可以参考我的github source code(A unified particle framework similar to NVIDIA FleX)里面有CPU和GPU实现。

PS: Demo 链接地址 FluidSimulationDemos


2 0