1 CFD 中一般都有哪些算法

  • 3913
请先 登录 后评论

1 个回答

Boom - 研究生
擅长:LS-DYNA,AUTODYN

围绕粒子法对常用 CFD 方法的进行简单分类,并非以偏概全。

1. 有限体积法

这是目前 CFD 领域最成熟的算法。该算法是将流体的 Euler 控制方程在单元控制体内进行积分后离散求解。目前大家常用的 CFD 软件,例如 Fluent,CFX,Starccm+ 和 OpenFOAM 等都是主要基于这种方法。小编这里推荐一本入门的读物“H. Versteeg, W. - An Introduction to Computational Fluid Dynamics: The Finite Volume Method”,国内网上可以买到英文原版的影印版。采用这种方法模拟流体,首先需要对流体区域进行网格划分。

2. 粒子法

这是一种基于拉格朗日近似方法,无需网格,对流体和固体的物质本身进行离散,并非离散空间。相对于 LBM,该方法和有限体积法(DNS 除外)的尺度较宏观,更适合于实际工程问题。

第一种 SPH 光滑粒子法,该算法最早由 Gingold and Monaghan (1977) 和 Lucy (1977) 提出,该方法对流体压力采用显示求解,特点是计算快速,弱点压力场计算不准确。

第二种 MPS 半隐式运动粒子法是由 Koshizuka 教授于 1995 年提出,该算法通过求解压力泊松方程获得流体的压力场,并通过压力梯度修正预测的流体速度。MPS 方法在提出后的很长时间内都存在很多底层的数值稳定性问题,主要体现在压力场不符合物理实际的波动。后来很多学者对该方法提出了修正和改进。

最后一种 FVP 粒子法,相对比 MPS 的区别将控制方程在假想的粒子体积空间内进行积分,获得新的梯度和 Laplacian 算子,该算法与 MPS 无太大本质区别。个人观点是,SPH 方法虽然快,但是有失准确度,适合于追求视觉效果的场景,例如某些电影里的海啸场景,就采用该算法。MPS 和 FVP 方法虽然计算速度较慢,但物理量计算更加准确,适合于工程场景。

3.LBM 方法

该方法属于介观尺度的方法,相对前两种方法离散尺度上微观,但没有微观到分子的尺度。该方法并没有像前其他 CFD 方法那样求解流体的 Navier–Stokes 方程,而是通过计算微观粒子间的 streaming 和 collision 两个过程,从而模拟整体流体的运动行为。

该算法最大的特点是并行计算效率非常高,主要是因为算法过程相对简单容易并行。其缺点在于目前离广泛的实际工程应用还有段距离,目前主要应用于基础科研领域。原因是该算法模拟一个几何模型需要创建的格子数非常大,对于 large scale 的工程问题,计算量和计算时间无法接受。

请先 登录 后评论