OpenFOAM并行计算如何手动划分区域?



  • 感觉OpenFOAM中利用simple的分块形式,得到的并行区域是沿某一方向平均切分的。我想得到三个不同大小的区域,用simple的方法无法实现。利用手动划分的形式如何实现?
    注:在cfd-online上看到有人用这样的方法,如得到两个大小不同的区域,先用simple的方法将计算域均分为三份,然后在终端输入decomposePar -cellDist,可以在constant文件夹中得到cellDecomposition文件,然后将该文件中的1改为0。在manualCoeffs中输入cellDecomposition,利用manual即可得到两个大小不一的区域。
    个人感觉这种方法有点繁琐,对于复杂模型并不适用。有没有其他方法可以实现大小不同区域的分块?



  • @xuebao1989

    可以用setFields来创造manual文件,参考alpha1的setFields设置。方法:

    1. 设置setFields文件如下:
    defaultFieldValues
    (
        volScalarFieldValue manual 0
    );
    
    regions
    (
        boxToCell
        {
            box (0 0 -1) (0.1461 0.292 1);
            fieldValues
            (
                volScalarFieldValue manual 1
            );
        }
    );
    
    1. 在0文件夹创建manual文件,将alpha改名为manual即可;
    2. 执行setFields;
    3. 把manual中的信息复制到constant下,并命名为manual;
    4. 在decomposePar中读取manual字典即可;


  • @李东岳 谢谢版主:laughing:


Log in to reply