OpenFOAM学习笔记——blockMesh

语句blockMesh

blockMesh [-dict dictionary] [-case dir] [-blockTopology] [-region name] [-help]
  • blockMesh不可以并行运行
  • 需要的文件:
    • system/blockMeshDict
    • system/controlDict

示例文件

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

scale   0.1; //缩放系数,vertices所定义的坐标需要乘以此系数,结果单位为meter

vertices //顶点编号从0开始
(
    (0 0 0)
    (1 0 0)
    (1 2 0)
    (0 2 0)
    (0 0 0.1)
    (1 0 0.1)
    (1 2 0.1)
    (0 2 0.1)
);

blocks
(
    hex (0 1 2 3 4 5 6 7) (120 240 1) simpleGrading (1 1 1)//划分块所用的方法
);

edges
(
);

boundary
(
    left//边界的名称
    {
        type symmetryPlane;//边界的类型
        faces//边界的面
        (
            (0 4 7 3)
        );
    }
    right
    {
        type symmetryPlane;
        faces
        (
            (2 6 5 1)
        );
    }
    bottom
    {
        type wall;
        faces
        (
            (1 5 4 0)
        );
    }
    top
    {
        type patch;
        faces
        (
            (3 7 6 2)

        );
    }
    frontAndBack
    {
        type empty;
        faces
        (
            (4 5 6 7)
            (0 1 2 3)

        );
    }
);

mergePatchPairs
(
);

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

以上文件所定义的几何形状如下:

OpenFOAM学习笔记——blockMesh-1

关键词

关键词 描述 范例
scale 缩放系数 0.001,缩放为mm
verticies 点位置列表 (0 0 0)
edges 用于指定 arc 以及 spline 边 arc 1 4 (0.939 0.342 -0.5)
blocks 通过有序的点定义,以及每个方向的网格数量 hex (0 1 2 3 4 5 6 7) (10 10 1) simpleGrading (1 2 3)
boundary 边界定义列表 见上示例代码
mergePatchParies 需要合并的 patches 列表 详见OpenFOAM用户指南

边界boundary

如果用户没有在 boundary 中指定某些面信息,blockMesh 默认它们为 defaultFaces,类型为empty。这意味着是一个 2D 的几何,如果用户知道 blockMesh 会收集省略的面信息并把他们指定为 empty,它就可以省略这部分面定义。

  • type关键词指定类型

  • face关键词指定面,面由verticies中定义的顶点定义

基本的type类型:

type类型 描述
patch 一般边界条件
symmetryPlane 对称边界条件
empty 空,用于2d case
wedge 轴对称边界条件
cyclic -
wall fixed wall
processor 处理器定义的边界条件,一般用于并行计算自动生成


OpenFOAM学习笔记

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!评论系统采用disqus,国内用户可尝试科学上网。