当前位置: 移动技术网 > IT编程>脚本编程>Python > decomposeParDict----并行运算文件

decomposeParDict----并行运算文件

2020年07月22日  | 移动技术网IT编程  | 我要评论

对于一些大型算例,我们往往需要根据cpu性能采用多个节点并行运算,以减少计算时间。OpenFOAM中,几何场和附属场被拆分为单独的块,每个块用单独的 cpu 来进行计算。并行计算主要涉及到网格和场的分解、并行运行程序以及分解场的后处理。

网格和场的分解

decomposePar :用来分解网格和场。通过读取decomposeParDict(位于算例的 system 文件夹下)字典文件的参数,分解几何和场文件。

decomposeParDict字典文件代码如下;

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//并行节点数
numberOfSubdomains 4;

method          simple;
//简单的几何分解。计算域依据方向被切分,例如 x、z 方向两块,y 方向一块
simpleCoeffs
{
    n               (2 1 2);
    delta           0.001; //偏斜因子
}
//顺序几何分解法。和简单分解法差不多,但用户可以指定首先切分哪个方向,例如按x,y,z方向进行切割
hierarchicalCoeffs
{
    n               (1 1 1);
    delta           0.001;
    order           xyz;
}
//手动分解法,用户可以直接把某一片网格区域指定给处理器,可通过setFileds进行定义
manualCoeffs
{
	//给各个处理器分配任务的字典文件名称
    dataFile        "";
}
//数据是否写入不同的硬盘
distributed     no;
//算例目录路径
roots           ( );


// ************************************************************************* //

设置好上述文件后,执行:

decomposePar

并行运行程序

mpirun -np 4 solverName -parallel //4:并行线程数,由 numberOfSubdomains 决定

并行后处理

将算例中每个处理器下的时间步文件,重组后整合到这个算例下的相应时间步文件夹下:

reconstructBar

参考:
https://www.jianguoyun.com/p/Db9X08cQ9s3ZBhjMtpwC

本文地址:https://blog.csdn.net/hanbingchegu/article/details/107493894

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网