大家好,我想请教一个问题:
当我们如下设置时,速度场(Ux,Uy,Uz)都小于1e-3时,才跳出循环,计算结束。由于我做一个二维轴对称模拟,OpenFOAM使用的是楔形网格,所以在周向z会进行求解(OpenFOAM的二维轴对称模拟为伪二维)。然而这是个二维模拟,z方向我并不关心(从结果来看z方向速度值特别小,小于1e-10,但是并不收敛。Ux和Uy残差都可以收敛到1e-6,但是Uz残差一直在1e-2波动)。所以我只需要Ux和Uz方向收敛就好。请教各位大佬,是否可以设置特定方向速度场的收敛条件?这样就可以在Ux和Uy收敛时,就跳出循环了。望赐教,祝好!
residualControl
{
U 1e-3;
}
不知道你是用的什么版本?你试试
residualControl
{
p 1e-1;
Ux 1e-6;
Uy 1e-6;
Uz 1e-2;
}
看看行不行呢?
参考文献
- https://bugs.openfoam.org/view.php?id=2028#c6050
前辈您好,我之前有试过对每个速度分量设置残差收敛标准,但是并不起作用,把U改成了Ux,Uy,Uz之后,好像对于速度场变成了并没有设置残差收敛标准。从您给我的链接来看,2016年之后OpenFOAM似乎就已经有这个功能,但是我用的是OpenFOAM-6,去年(2018年)才发布的,应该也具有这个功能才对。不知前辈用的是哪个版本?是否有做过测试呢?祝好!
不太清楚。你看看这个功能行不? dev 版本有。
U
{
type coupled; // 可以不用这一行
solver PBiCCCG;
preconditioner DILU;
tolerance (1e-8 1e-8 1e-8);
relTol (0.001 0.001 0.001);
}