OpenFOAM并行计算如何手动划分区域?
-
感觉OpenFOAM中利用simple的分块形式,得到的并行区域是沿某一方向平均切分的。我想得到三个不同大小的区域,用simple的方法无法实现。利用手动划分的形式如何实现?
注:在cfd-online上看到有人用这样的方法,如得到两个大小不同的区域,先用simple的方法将计算域均分为三份,然后在终端输入decomposePar -cellDist,可以在constant文件夹中得到cellDecomposition文件,然后将该文件中的1改为0。在manualCoeffs中输入cellDecomposition,利用manual即可得到两个大小不一的区域。
个人感觉这种方法有点繁琐,对于复杂模型并不适用。有没有其他方法可以实现大小不同区域的分块? -
可以用setFields来创造manual文件,参考alpha1的setFields设置。方法:
- 设置setFields文件如下:
defaultFieldValues ( volScalarFieldValue manual 0 ); regions ( boxToCell { box (0 0 -1) (0.1461 0.292 1); fieldValues ( volScalarFieldValue manual 1 ); } );
- 在0文件夹创建manual文件,将alpha改名为manual即可;
- 执行setFields;
- 把manual中的信息复制到constant下,并命名为manual;
- 在decomposePar中读取manual字典即可;