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
- 学废了 😕
- 学会了 😃
作者:鸿雁翎