如何将速度图转换为流体流动图
这可能是个很简单的问题,如果你知道答案,请分享一下。
假设我们有一系列的矩阵(比如说从 t0..tn
),这些矩阵是用来表示在 X
和 Y
方向上的速度 (UX,UY)
,这些速度是通过应用格子玻尔兹曼方法 (LBM)来模拟二维流体流动得到的。问题是,我们该如何制作流体流动的动画呢?
我们应该能够利用速度来找到(??)的位置,方法是用这个公式:位置 = 速度 x 时间
。你觉得(??)可以是什么呢?
我们认为可以在时间 t0
时,得到一个与速度矩阵相同大小的粒子矩阵,然后按照上面提到的方法找到下一个位置矩阵,从而让粒子移动。
- 请分享你的知识!
- 这种方法选择得对吗?
- 还有其他方法吗等等。
- 对于这个问题,欢迎提供Python方面的建议!
- 伪代码也会很有帮助!
为了简化问题,以下是时间 tn
时的速度图,想要基于这个制作一个流体流动图,该怎么做呢?
1 个回答
0
如果你一开始把粒子分布得比较均匀,比如说像网格一样,或者随机分布得很均匀,那么过一段时间后,你会发现这些粒子会聚集在一起,导致流体的某些区域变得空荡荡的,看不见了。
我发现一个不错的方法是让粒子的生命时间很短,大概几秒钟。当一个粒子“死”了之后,它会在一个随机的位置重新出现。而且,因为每个粒子只会走一小段路,所以使用的计算方法的准确性就没那么重要了:用中点法或者简单的前向欧拉法都能很好地完成任务。