如何将速度图转换为流体流动图

2 投票
1 回答
1179 浏览
提问于 2025-04-17 10:45

这可能是个很简单的问题,如果你知道答案,请分享一下。

假设我们有一系列的矩阵(比如说从 t0..tn),这些矩阵是用来表示在 XY 方向上的速度 (UX,UY),这些速度是通过应用格子玻尔兹曼方法 (LBM)来模拟二维流体流动得到的。问题是,我们该如何制作流体流动的动画呢?

我们应该能够利用速度来找到(??)的位置,方法是用这个公式:位置 = 速度 x 时间。你觉得(??)可以是什么呢?

我们认为可以在时间 t0 时,得到一个与速度矩阵相同大小的粒子矩阵,然后按照上面提到的方法找到下一个位置矩阵,从而让粒子移动。

  • 请分享你的知识!
  • 这种方法选择得对吗?
  • 还有其他方法吗等等。
  • 对于这个问题,欢迎提供Python方面的建议!
  • 伪代码也会很有帮助!

为了简化问题,以下是时间 tn 时的速度图,想要基于这个制作一个流体流动图,该怎么做呢?

在这里输入图片描述

1 个回答

0

如果你一开始把粒子分布得比较均匀,比如说像网格一样,或者随机分布得很均匀,那么过一段时间后,你会发现这些粒子会聚集在一起,导致流体的某些区域变得空荡荡的,看不见了。

我发现一个不错的方法是让粒子的生命时间很短,大概几秒钟。当一个粒子“死”了之后,它会在一个随机的位置重新出现。而且,因为每个粒子只会走一小段路,所以使用的计算方法的准确性就没那么重要了:用中点法或者简单的前向欧拉法都能很好地完成任务。

撰写回答