CFD、Lattice Boltzmann 或 Navier-Stokes 的新手?

计算科学 流体动力学 纳维斯托克斯 显卡 格子玻尔兹曼方法
2021-12-05 04:48:14

如果我的一些问题很幼稚,我深表歉意;我对计算机模拟和流体动力学非常陌生。

我将在 2017 年初开始攻读博士学位,我想加强一些计算流体动力学的准备。博士(和我的背景)主要是基于物理的类比重力,但课程中有一个非常重要的流体动力学部分。理想情况下,会有理论组件、模拟和实验。

我研究了最广泛使用的求解器,偶然发现了一个 cfd-online wike,其中列出了三个不同的软件套件:OpenFOAM、SU2 和 Palabos由于流体动力学只是我博士学位的一部分,并且模拟了一部分的一部分,我希望选择一匹小马并坚持下去。

将主要处理的问题将是脊壁通道中的静止和非静止液体流动(包括带有障碍物的明渠流动,如翼型和浴缸涡流问题)。我不确定防滑条件是否重要,但涡度和表面波的测量会很重要。

我希望有人能告诉我哪种方法最有效。我在另一篇 stackexchange 帖子中读到,格子玻尔兹曼方程 (LBE) 方法可以很容易地并行化。我还在reasearchgate上读到LBE比 Navier-Stokes (NS) 方法更有效,但通常需要更精细的网格

我也对使用 GP-GPU 和并行 GPU 系统最容易的方法(意思是上面的哪个程序以粗体显示)感兴趣。

2个回答

每种方法都有其优点和缺点。LBM 和 NS 求解器既高效又可靠。

无滑移条件可能对物理意义很重要,否则可能足以让您求解欧拉方程(无粘性流体),具体取决于您的需要。由于您提到了涡度,因此 Navier-Stokes 方程可以写成速度 - 涡度公式,而不是标准的压力 - 速度耦合,因此您可能会感兴趣。您没有说您是否将在可压缩框架中工作,如果您处理高或低马赫数,这可能会改变很多事情。

关于并行性,我不能回答 LBM 但对于 NS,这又取决于您的需求和您的求解器(显式或隐式),如果您熟悉这个概念,您肯定可以在多个 CPU 上并行化,但如果您的目标是不要花太多时间开发自己的代码,那么是的,它可能与使用软件有关。

你可以去看看格子玻尔兹曼方法:原理与实践》这本书

第 2.4 章 - 展望:为什么选择格子玻尔兹曼?,它讨论了简单性、效率、几何形状以及在多相和多组分流、热流、声波和可压缩流中的应用。

在此处复制和粘贴它们可能不合适。所以我建议你从 Springer 或 Genesis 下载这本书:)。

PS: 1. 如果你的研究与流体动力学有关,我建议使用 Smoothed Particle Hydrodynamics (SPH)。2. Palabos基于CPU而不是GPU进行并行化。但总的来说,正如许多研究人员所说,LBM 的优点之一是易于并行化。