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
- SPH fluid simulation methods & source codes (cpu & gpu)
- My Fluid Simulation (SPH) Sample (2) – Curvature Flow
- My Fluid Simulation (SPH) Sample (1) – Rigid body model + N-S model
- My Fluid Simulation (SPH) Sample (3) – Optical Effects using GLSL, and Integration of Physical Model
- Fluid simulation:PIC VS FLIP
- Hardware-in-the-loop Simulation for CPU-GPU Heterogeneous Platforms
- cpu 的simulation
- SPH
- ‘Fluid Simulation for Computer Graphics’reading notes 1
- ‘Fluid Simulation for Computer Graphics’reading notes 2
- Fluid Simulation–Driven Effects in Dark Void
- cpu gpu
- Source->Override/Implement Methods
- Common HTTP Response Codes & HTTP Request Methods
- java native methods source code
- Spring framework source download methods
- GPU 显卡的CPU
- 移动GPU 移动CPU
- STL学习笔记之容器--list(一)
- MySQL锁定机制的原理
- payclient
- 用递归的方法,写出汉诺塔问题的移动步骤
- 学习Python2(正则表达式)
- SPH fluid simulation methods & source codes (cpu & gpu)
- Android开源框架的SlidingFragment的使用
- 题目1006:ZOJ问题
- GridView长按删除
- 认识和学习bash
- Android开发: 错误整理(不断更新)
- GetLastError()返回值列表
- 异质链表
- [问题记录]-[NSPlaceholderString initWithString:]: nil argument 参数为空导致