搜索
您的当前位置:首页正文

SPH算法简介(四)_Hello,SPH

2023-06-17 来源:欧得旅游网
CodeWay:我的博客

程序 数学 游戏 物理 几何 都是我的最爱Home | 关于

« SPH算法简介(三): 光滑核函数六边形网格快速定位 »

SPH算法简介(四):Hello,SPH

2011年04月2日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com

上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程1. 初始化粒子,为每个粒子赋上初始位置2. 根据公式3.7计算每个粒子的密度3. 根据公式3.10计算每个粒子的压强4. 根据公式3.18计算每个粒子的加速度5. 根据临界条件调整加速度

6. 根据加速度计算每个粒子的速度变化7. 根据速度计算粒子位置的变化8. 绘制粒子9. 回到步骤2

下面有个简单的示例程序,运行效果如下

这个程序基本上没有怎么考虑效率,只是让系统跑起来,所以比较适合拿来对照公式学习,按照惯例,放出源代码和可执行程序 源码下载:fluid_src.zip(394KB) Update(2011-04-07): 更新,去掉了工程文件里对CUDA的引用,感谢网友提醒

源码下载:fluid_source.zip(395KB) 可执行程序下载: fluid.zip(120KB)

SPH还有很多细节值得讨论,比如表面张力、并行计算、构建网格、真实材质的水渲染等,这些部分我会抽时间再写一些东西出来介绍。标签: 数学, 流体, 算法

这篇文章发布于 2011年04月2日,星期六,17:26,归类于 未分类。 您可以跟踪这篇文章的评论通过 RSS 2.0feed。 您可以留下评论,或者从您的站点trackback。

4 条评论 发表在“SPH算法简介(四):Hello,SPH”上

1.

beautys101 说道:2011-04-07 10:17

你讲的真好,还提供源码学习,太感谢你了2.

aquathinker 说道:2011-05-10 15:05

请问你提供下载的可执行程序是利用了优化的lipsph么,我编译过的libsph很慢?用CUDA加速的?

没有用到CUDA

3.

damody 说道:2011-05-26 08:38

请问您提供的可执行程序是用了什么方法优化,为什么比我编译的程序快了三到五倍?

我用的是VS2005+SP1,Release版,没有什么特殊设置

4.

shazichloe 说道:2012-07-30 15:21

您好,看了您的博文对 sph算法收益颇深,但是在编译代码时出现找不到 dxsdkver.h文件的错误,请问这是什么原因呢?

留下回复

名称

邮件地址(不会被公开) 网站

提交评论

CodeWay:我的博客由 WordPress 驱动 文章 (RSS) 和 评论 (RSS)。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top