blockMesh绘制圆柱网格

发布时间 2023-06-07 14:39:07作者: 希望先生

blockMeshDict文件的内容如下:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5                                     |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

radius      0.081;
radiusNeg  -0.081;
box         0.025;
boxNeg     -0.025;
zMax        0.950;
zMin       -0.950;

nR          14;
nZ          40;

verbose no;

geometry
{
    cylinder
    {
        type      searchableCylinder;
        point1    (0 0 -1);//由point1和point2构成的区域要大于zMax和zMin构成的区域
        point2    (0 0  1);
        radius    $radius;
    }
}

scale 1;


vertices
(
    // Inner
    ($boxNeg $boxNeg $zMin)
    ($box    $boxNeg $zMin)
    ($boxNeg $box    $zMin)
    ($box    $box    $zMin)

    // Outer block points
    project ($radiusNeg $radiusNeg $zMin) (cylinder)
    project ($radius    $radiusNeg $zMin) (cylinder)
    project ($radiusNeg $radius    $zMin) (cylinder)
    project ($radius    $radius    $zMin) (cylinder)

    // Inner
    ($boxNeg $boxNeg $zMax)
    ($box    $boxNeg $zMax)
    ($boxNeg $box    $zMax)
    ($box    $box    $zMax)

    // Outer block points
    project ($radiusNeg $radiusNeg $zMax) (cylinder)
    project ($radius    $radiusNeg $zMax) (cylinder)
    project ($radiusNeg $radius    $zMax) (cylinder)
    project ($radius    $radius    $zMax) (cylinder)
);

blocks
(
    hex ( 4  5  1  0 12 13  9  8) ($nR $nR $nZ) simpleGrading (1 1 1)
    hex ( 4  0  2  6 12  8 10 14) ($nR $nR $nZ) simpleGrading (1 1 1)
    hex ( 1  5  7  3  9 13 15 11) ($nR $nR $nZ) simpleGrading (1 1 1)
    hex ( 2  3  7  6 10 11 15 14) ($nR $nR $nZ) simpleGrading (1 1 1)
    hex ( 0  1  3  2  8  9 11 10) ($nR $nR $nZ) simpleGrading (1 1 1)
);

edges
(
    project  4  5 (cylinder)
    project  7  5 (cylinder)
    project  6  7 (cylinder)
    project  4  6 (cylinder)
    project 12 13 (cylinder)
    project 13 15 (cylinder)
    project 12 14 (cylinder)
    project 14 15 (cylinder)
);

//boundary
patches
(
    patch inlet
    (
     (0 1 3 2)
     (0 2 6 4)
     (0 1 5 4)
     (1 5 7 3)
     (2 3 7 6)
    )

    patch outlet
    (
     (8   9  11  10)
     (8  10  14  12)
     (8   9  13  12)
     (9  13  15  11)
     (10 11  15  14)
    )

    wall wall
    (
     (4  12  14  6)
     (4   5  13 12)
     (5  13  15  7)
     (6   7  15 14)
    )
);

// ************************************************************************* //