首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光滑粒子流体力学-粒子密度估计问题

光滑粒子流体力学-粒子密度估计问题
EN

Stack Overflow用户
提问于 2017-06-30 13:53:23
回答 1查看 159关注 0票数 1

我目前正在使用opengl上的CUDA编写一个SPH解决程序。

我有相当好的成绩和表现,但在我看来,由于某些原因,它们仍然显得很奇怪:

在某些实现中,我看到一个粒子对它自己的内力没有贡献(由于公式的关系,它的内力是0),但是它对它自己的密度有贡献。

我的模拟工作“非常好”(我不喜欢“非常好”,我想要它完美),在我的实现中,粒子不贡献它自己的密度

此外,当我改变代码,使它确实贡献了它自己的密度,结果的模拟变得太不稳定(粒子爆炸)。

我向一位以物理为基础的动画讲师问了这个问题,他告诉我一个粒子不应该对它的密度起作用,但是没有给我关于这个断言的具体细节。

知道该怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 23:16:19

只要你用求和公式来计算密度,而不是连续方程,是的,你需要用自我贡献来计算。

原因如下:

SPH是一种插值方案,它允许您在粒子云上的任何空间位置内插特定值。任何位置都意味着你不局限于在粒子上,而是在太空中的任何地方。如果你这样做,显然你需要考虑所有的影响半径内的粒子。从这个角度来看,很容易看到,在粒子的位置插值一个量并不会影响它的贡献。

对于其他的量,如力,其中某些量的导数是近似的,你不需要应用自贡献(这将导致0/0的计算)。

要发现不稳定的根源:

  • 检查内核是否已正常化。
  • 液体的刚度和时间步长是否相容(对于弱可压缩的情况)?
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44848185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档