OpenFOAM多处理器并行计算

conda

OpenFOAM多处理器并行计算,提升工作效率

1. 问题描述

当模型复杂或者有限元网格精密时,单处理器计算时间比较长,可以用多处理器并行计算,以充分利用电脑资源来节省计算时间。

2. 解决方法

Step1:system文件夹下配置decomposeParDict文件

numberOfSubdomains 4;                // 启动4个处理器进行计算
method          simple;              // 求解区域分解方法
simpleCoeffs
{
    n               (2 2 1);         // 将求解区域在x方向划分为2块,y方向2块,z方向1块
}
hierarchicalCoeffs
{
    n               (1 1 1);
    order           xyz;
}
manualCoeffs
{
    dataFile        "";
}
distributed     no;
roots           ( );

Step2: 划分网格。Linux终端输入:

blockMesh

Step3: 分解区域。Linux终端输入:

decomposePar

Step4: 多处理器并行计算。Linux终端输入:

mpirun -np 4 pimpleFoam -parallel

我用的是pimpleFoam求解器来求解incompressible问题

Step5: 合并多处理器的计算结果。Linux终端输入:

 reconstructPar

参考资源
OpenFOAM v11 User Guide - 2.2 Breaking of a dam
OpenFOAM v11 User Guide - 3.4 Running applications in parallel
OpenFOAM: Quickstart
OpenFOAM: pimpleFoam


  • 学废了 :/
  • 学会了 :)

作者:韩涛

© 2025 Han Tao. All rights reserved.