有没有通用的流体动力学框架?

计算科学 流体动力学
2021-12-06 14:37:41

有没有可以归类为“通用计算流体动力学框架”的框架?

我正在考虑的是一个模块化和可扩展的框架,以允许几乎无限地开发新算法。以及不同计算机配置(笔记本电脑 - HPC)的可扩展性。这样的事情存在吗?

我知道FEniCS,但我对它的理解是它更注重研究(至少现在是这样)。也就是说,它没有例如大型库或工具链来进行例如工程设计本身的仿真。

4个回答

在获得更多使用高级仿真库的经验后,我可以推荐它(正如我在另一个线程中提到的)作为通用可扩展多物理场(包括 CFD)框架

它具有以下重要优点:

  1. 简单的 C++ API(并且只有 C++ -即使添加新的数值方法(将自动成为硬件加速)也无需了解 OpenCL 或 Python !)
  2. 卓越的表现
  3. 多物理场:除 CFD 之外的许多其他物理/化学现象(ASL 中使用格子玻尔兹曼方法)
  4. 硬件加速,可部署在 CPU/GPU/FPGA/DSP/APU 集群上
  5. 无网格、浸入式边界技术允许从 CAD 直接转移到仿真(对于自动化设计优化很重要)。
  6. 动态编译方法在运行时启用了额外的优化层(即针对应用程序提供的特定参数集)
  7. 开源:AGPL + 用于闭源项目的可选商业许可证。

高阶流求解器PyFR是一个基于 GPU 的框架,由英国伦敦帝国理工学院创建,用 python 编写,可处理各种后端:CUDA、OpenCL OpenMP ... 特点:

  • 控制方程 - Euler, Navier Stokes
  • 维度 - 2D、3D
  • 元素类型 - 三角形、四边形、六面体、棱柱、四面体、金字塔
  • 平台 - CPU 集群、Nvidia GPU 集群、AMD GPU 集群
  • 空间离散化 - 高阶通量重建
  • 时间离散化 - 显式龙格-库塔

OpenFOAM 在计算流体社区中得到了广泛的应用,并享有良好的声誉。根据第一手经验,我不能说任何话,但它相当受欢迎并且确实被广泛使用。

您可能会发现通用 CFD“框架”可能不是解决许多工程设计问题的最佳选择。

高级模拟库 (ASL) 和 OpenFoam(两者均由其他人推荐)在大量应用程序中表现出色,但它们可能比更具体的代码更差,例如,更好地估计浮动的运动体、船舶操纵等。OpenFoam 已成功合理地应用于船舶问题;据我所知,ASL 没有。许多其他“通用”差价合约代码也会出现相同类型的情况(例如“万事通,无所事事”的人。)

您需要对 CFD 求解器进行更多研究,清楚地了解未来几年您将在哪些工程应用程序上使用它们。学习“框架”的复杂性需要花费相当多的时间,如果它们在你将来想要解决的所有问题上都远不如其他人,那将是一件痛苦的事情。祝你好运!