微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于流体模拟的交错网格的数据结构

如何解决用于流体模拟的交错网格的数据结构

我一直使用 GPU Gems articlethis paper 作为在虚幻引擎中创建流体模拟器的参考。我已经能够实现 GPU Gems 文章中提到的所有主要功能,并尝试继续实现 MAC 交错网格,但我很难理解我将如何表示。

Visualization of a staggered grid:
.-- u -- . -- u -- .
|        |         |
u   p    u    p    u
|        |         |
.-- u -- . -- u -- .
|        |         |
u   p    u    p    u
|        |         |
.-- u -- . -- u -- .

我可以理解速度 u 是否放在角落里,因为在这种情况下,我可以通过 n+ 将速度保存在 n+1 中1 纹理和 n by n 纹理中的 p 压力。但是根据我对交错网格的理解,这不起作用,因为每行中 u数量不等。在链接论文的第 10 页的顶部,它提到将速度的每个分量存储在单独的数组中,其中一个维度比其余元素大一个元素,但我不明白这是如何工作的,也不明白我将如何使用它们对于我拥有的 computePressure() 或 minusPressureGradient() 函数(请参阅 GPU Gems 文章中的第 38-3 节)。如果您能帮助我克服这些障碍,我将不胜感激!

请注意,我无法访问流体动力学中的数值模拟:实用介绍,引用其中包含有关网格交错的更深入解释。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。