OpenFOAM里fixedJump命令注意事项

在使用这个命令时,需要注意一点,即并行计算时需要将Jump的两个面划分在同一个分块里,不然会出现压力云图的异常情况。之前运行算例的时候,没有注意到这一点,过了好多天之后,今天终于发现了这个解决办法。

以三维槽道流为例,我们选用最简单的scotch分类方法,decomposeParDict文件如下

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

numberOfSubdomains 24;

method          scotch;

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

最总运行结果如下如下图所示:
可以看出,压力云图出现了异常,同时速度分布也不是对称的
上面的现象,我分别采用pimpleFoam,icoFoam求解器分别运行过,都会得到上图所示的压力云图异常,后来暂时没找到解决办法,修改了求解器,采用体积力来驱动流体流动,不在使用fixedJump这种方法,解决了压力云图的异常。

之后在浏览论坛时发现,只需要在decomposeParDict后面加入如下

preservePatches
(
    cyclic1
    cyclic2
);

即可解决这个问题,在加入命令后,我们运行decomposePar命令,可以看出在进行分快时,这个就命令提供了约束,使得cyclic1和cyclic2在同一个processor上。
在这里插入图片描述
最终运行结果对比如下
不把两个边界放在一个处理器下的计算结果:

在这里插入图片描述
添加约束命令后计算的结果:
在这里插入图片描述
在这里插入图片描述
可以看出压力异常情况被消除了。
最后,提供对比图的工程文件见主页

猜你喜欢

转载自blog.csdn.net/ambu1230/article/details/128763577