1

我进行了大量计算流体动力学 (CFD) 计算。由于许多原因,我想编写一个程序来监控 CFD 求解器给出的日志文件的输出并相应地调整其控制参数。我有一些想法,但想就什么是最好的方法征求意见。

我的想法:

  • 可以持续运行程序并在固定时间间隔或日志文件更改时导入收敛参数
  • 可以使用一些系统或平台特定的实用程序来监控 CFD 过程
  • CFD 在同一台机器上并行运行,因此(可能)需要一种方法来控制并行进程(我使用的 CFD 代码是 OpenFOAM,它利用 OpenMPI 来并行化其进程)

为了完整起见,我在 Ubuntu 12.04 上运行,并且更喜欢用 C/C++ 或 Python 编写程序。

非常感谢

4

1 回答 1

3

如果是我,我会尝试将 CFD 代码更改为库而不是应用程序,然后将其公开给 Python。然后我会编写一个 Python 脚本来调用库并获取结果,并根据需要进行迭代。如果 CFD 代码运行一次迭代不需要很长时间,这将比一遍又一遍地启动 CFD 独立程序更有效。也许更重要的是,它将允许 CFD 代码和主管之间交换丰富的数据,而不仅仅是文本文件。

于 2013-07-09T13:26:49.133 回答