美文网首页
blockMesh-四分之一同心圆柱体网格

blockMesh-四分之一同心圆柱体网格

作者: charryzzz | 来源:发表于2021-03-03 22:19 被阅读0次

    最近需要仿真一个带有coflow的气固两相流射流火焰,其中气相采用DNS,如果进行完整计算域的CFD,网格量在千万级别,对初期的代码测试非常不友好,所以计划采用一个四分之一同心圆柱体加两个对称边界条件代替。Google了一下发现并没有现成的网格划分方案,就自己动手写了一个blockMeshDict,今天和大家分享一下。工作虽然难度不大,但是如果能帮到一些CFDer,还是可以节省不少时间。


    网格划分方案.png

    网格划分采用非常典型的圆柱网格划分方法,主射流入口(0-2-6-0)包括三个block,伴流(2-3-5-6)包括两个block,两个对称边界(13-3-0-10)和(10-0-5-15),侧边出口(13-3-5-15)。这里需要注意,因为圆弧的存在,edge必须用arc来定义,不然圆柱体就变三棱柱了。

    arc的定义方法是三点确定一条圆弧,即

    arc pointA pointB (x_pointC y_pointC z_pointC)
    

    下面是具体的blockMeshDict文件

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v1912                                 |
    |   \\  /    A nd           | Website:  www.openfoam.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      blockMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    scale 0.001; //mm
    
    vertices
    (
      (0 0 0)   // vertex number 0
      (4 0 0)   // vertex number 1
      (10 0 0)  // vertex number 2
      (40 0 0)  // vertex number 3
      (28.284271247462 28.284271247462 0)   // vertex number 4
      (0 40 0)  // vertex number 5
      (0 10 0)  // vertex number 6
      (0 4 0)   // vertex number 7
      (3 3 0)   // vertex number 8
      (7.071067811865 7.071067811865 0) // vertex number 9
    
      (0 0 60)  // vertex number 0
      (4 0 60)  // vertex number 1
      (10 0 60) // vertex number 2
      (40 0 60) // vertex number 3
      (28.284271247462 28.284271247462 60)  // vertex number 4
      (0 40 60) // vertex number 5
      (0 10 60) // vertex number 6
      (0 4 60)  // vertex number 7
      (3 3 60)  // vertex number 8
      (7.071067811865 7.071067811865 60)    // vertex number 9
    );
    
    edges
    (
      arc 2 9 (8.660254037844 5 0)
      arc 9 6 (5 8.660254037844 0)
      arc 4 5 (20 34.641016151378 0)
      arc 3 4 (34.641016151378 20 0)
    
      arc 12 19 (8.660254037844 5 60)
      arc 19 16 (5 8.660254037844 60)
      arc 14 15 (20 34.641016151378 60)
      arc 13 14 (34.641016151378 20 60)
    );
    
    blocks
    (
    // coarse mesh 0.4mm
      hex (0 1 8 7 10 11 18 17) (10 10 150) simpleGrading (1 1 1) // block 0
      hex (1 2 9 8 11 12 19 18) (15 10 150) simpleGrading (1 1 1) // block 1
      hex (8 9 6 7 18 19 16 17) (15 10 150) simpleGrading (1 1 1) // block 2
      hex (2 3 4 9 12 13 14 19) (50 10 150) simpleGrading (3 1 1) // block 3
      hex (9 4 5 6 19 14 15 16) (50 10 150) simpleGrading (3 1 1) // block 4
    );
    
    
    boundary
    (
      Particleinlet
      {
        type patch;
        faces
        (
         (0 1 8 7)
         (1 2 9 8)
         (8 9 6 7)
        );
      }
    
     Symmetry1
      {
        type symmetryPlane;
        faces
        (
         (0 10 11 1)
         (1 11 12 2)
         (2 12 13 3)
        );
      }
    
      Symmetry2
      {
        type symmetryPlane;
        faces
        (
         (10 0 7 17)
         (17 7 6 16)
         (16 6 5 15)
        );
      }
       
      Coflowinlet
      {
        type patch;
        faces
        (
         (2 3 4 9)
         (9 4 5 6)
        );
      }
    
      TopOutlet
      {
        type patch;
        faces
        (
         (10 11 18 17)
         (11 12 19 18)
         (18 19 16 17)
         (12 13 14 19)
         (19 14 15 16)
        );
      }
    
      SideOutlet
      {
        type patch;
        faces
        (
         (13 3 4 14)
         (14 4 5 15)
        );
      }
      
    );
    
    mergePatchPairs
    (
    );
    
    // ************************************************************************* //
    

    以下是成品图片


    Mesh

    现在的网格分辨率大概是0.4mm,远远达不到DNS的标准,但是网格数量已经有21万,计算起来还是比较吃力的。小编正在考虑用楔形切片网格加wedge性边界在保证网格精度的情况下,进一步减小网格量

    相关文章

      网友评论

          本文标题:blockMesh-四分之一同心圆柱体网格

          本文链接:https://www.haomeiwen.com/subject/uppyfltx.html