OpenFOAM中进行分区计算算例

步骤

网格画好后

1、将文件名为decomposeParDict的文件放入算例的system文件夹中

2、写一个分区的Allrun脚本放入算例中运行即可

文件如下:

decomposeParDict

/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  9
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "system";
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

numberOfSubdomains 8;//总分区核心数

method          scotch;//分区方法,基础的有simple hierarchical scotch manual四种
//method          ptscotch;
// method          hierarchical;
//底下设置不同方法的划分层数以及对应的写法,括号内为x,y,z方向层数。scotch方法只需要设置numberOfSubdomains

simpleCoeffs
{
    n               (4 2 1);
}

hierarchicalCoeffs
{
    n               (2 2 2);
    order           xyz;
}

manualCoeffs
{
    dataFile        "";
}

distributed     no;//数据是否写入不同的硬盘

roots           ( );


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

Allrun

decomposePar
mpirun -np 8 pisoFoam -parallel | tee log
reconstructPar

decomposePar表示进行分区

mpirun -np 8 对应求解器 -parallel为分区计算的写法,8为decomposeParDict文件中的总核心数

| tee log表示生成一个log文件储存终端的内容

reconstruction表示将计算得到的结果组集在一起

注意事项

1、分区文件processor0等比较占内存,在组集后,可用指令删除

rm -rf proc*


2、分区计算的前提是网格已经画好了,当然网格也可以分区画,再建立一个mesh的脚本放入算例运行即可:

blockMesh
surfaceFeatureExtract
decomposePar
mpirun -np 8 snappyHexMesh -parallel -overwrite | tee log.snappy
reconstructParMesh -constant -mergeTol 1E-06 -noZero
checkMesh | tee log.check
rm -rf processor*

其中-overwrite表示细化网格后覆盖,是必要的指令

值得注意的是:进行分区计算前一定要确保画网格的processor已经删除了,不然两个分区步骤会报错。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值