求助,执行blockMesh出错



  • 0_1527250626841_微信图片_20180525201654.jpg 我想建一个如图的计算域,但在执行blockMesh时,总是出现如下错误,有人知道原因吗?

    0_1527250885815_ecc12b77-aa26-439d-afff-f705c2bb2ebe-image.png

    我也在google上找了类似的问题,出现这种错误大多原因是block的编号不对,点的顺序不对,但改了好几次还是不对。。。有人遇到类似问题吗?求指教!下面是我的blockMeshDict文件内容:

    vertices
    (
        (-35 10 0)//0
        (-15 10 0)//1
        (-15 0 0)//2
        (-5 0 0)//3
        (-5 10 0)//4
        (5 10 0)//5
        (5 0 0)//6
        (15 0 0)//7
        (15 10 0)//8
        (35 10 0)//9
        (35 30 0)//10
        (-35 30 0)//11
        (-35 10 -0.1)//12
        (-15 10 -0.1)//13
        (-15 0 -0.1)//14
        (-5 0 -0.1)//15
        (-5 10 -0.1)//16
        (5 10 -0.1)//17
        (5 0 -0.1)//18
        (15 0 -0.1)//19
        (15 10 -0.1)//20
        (35 10 -0.1)//21
        (35 30 -0.1)//22
        (-35 30 -0.1)//23
    );
    
    blocks
    (
        hex (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23) (70 40 1) simpleGrading (1 5 1)
    );
    
    edges
    (
    );
    
    boundary
    (
        topWall
        {
            type            wall;
            faces           ((11 10 22 23));
        }
        bottomWall
        {
            type            wall;
            faces          
            (
             (3 2 14 15)
             (7 6 18 19)
             );
        }
    
        roofLevel
        {
            type            wall;
            faces          
            (
             (1 0 12 13)
             (5 4 16 17)
             (9 8 20 21)
             );
        }
    
        leeWardBuilding
        {
            type            wall;
            faces       
            (
              (2 1 13 14)
              (6 5 17 18)
            );
        }
        windWardBuilding
        {
            type            wall;
            faces          
            (
             (4 3 15 16)
             (8 7 19 20)
             );
        }
        in
        {
            type           cyclic;
            neighbourPatch  out;
            faces           ((0 11 23 12));
        }
        out
        {
            type           cyclic;
            neighbourPatch  in;
            faces           ((10 9 21 22));
        }
        frontAndBack
        {
            type            empty;
            faces         
            (
                 (0 1 2 3 4 5 6 7 8 9 10 11)
                 (12 23 22 21 20 19 18 17 16 15 14 13)
             );
        }
    
    
    
    );
    
    mergePatchPairs
    (
    );
    


  • @calrel

    hex可以这么复杂吗?我看教程上hex只有八个顶点,你可以试试把整体分为7个hex


  • 网格教授 OpenFOAM教授 管理员

    倒是可以仔细研究下,但是blockMesh这个东西复杂网格处理起来非常复杂,你这个用第三方可能更好,虽然有违背开源的精神 :xiezuoye:



  • @izumi 嗯,试了试,貌似还真是这个原因,谢谢!



  • @东岳 嗯,的确是很麻烦,谢谢李老师,后期准备试试。