首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenFOAM教程 03 分块网格

本案例演示在OpenFOAM中利用BlockMesh生成计算网格并进行后续计算的基本过程。

1 计算模型

本案例计算模型如图所示。

几何尺寸如图所示。

本案例采用2D计算,建模过程中需要创建沿法向方向的厚度。

2 文件准备

利用以下命令拷贝文件到当前路径

文件执行如图所示。

注:图中输入命令时采用了Tab键辅助输入,导致$FOAM_TUTORIALS被自动展开。

采用命令进入forwardStep目录,查看目录下的文件组织

cdforwardStep

tree

执行后显示如下图所示。

注:

tree命令需要单独安装,Ubuntu系统下可以使用命令sudo apt-get install tree进行安装。该命令可以将文件夹组织结构以树形显示出来。

本案例采用rhoPimpleFoam进行求解,该求解器可以用于求解流体可压缩流动,可适用于亚音速流动,也可用于求解跨/超音速流动。在OpenFOAM V1906版本中,该求解器对应为sonicFoam。

3 网格准备

本案例采用OpenFOAM内置的blockMesh程序生成计算网格,该程序采用分块方式生成六面体计算网格。所有关于网格划分的数据均包含在文件中。

案例几何模型可如下图所示进行拆解。

注:

blockMesh采用的是分块生成六面体网格,因此在构造几何模型过程中需要预先构造六面体块。

这里的几何厚度0.1m并不是确定的,实际上可以指定任意尺寸的厚度,在网格划分过程中,指定厚度方向网格为1层

采用以下命令打开文件blockMeshDict

gedit system/blockMeshDict

注:这里的gedit是文本编辑器,若提示无法找到该应用程序,可利用命令sudo apt-get install gedit进行安装。

该文件内容包括:

该文件中包含了几何定义、网格尺寸划分以及边界组织。

3.1 几何定义

几何定义代码段如下。

convertToMeters1;

vertices

(

(-0.05)

(0.6-0.05)

(0.2-0.05)

(0.60.2-0.05)

(30.2-0.05)

(1-0.05)

(0.61-0.05)

(31-0.05)

(0.05)

(0.60.05)

(0.20.05)

(0.60.20.05)

(30.20.05)

(10.05)

(0.610.05)

(310.05)

);

该代码段内容解释:

:表示后续的尺寸采用米作为单位

:定义了16个点的坐标,注意坐标点的顺序。这里的点编号为从0~15

3.2 网格定义

网格定义代码如下:

blockMesh采用分块方式生成计算网格,因此需要人工控制块的生成。

hex (0 1 3 2 8 9 11 10) (25 10 1) simpleGrading (1 1 1)

六面体块由编号为0 1 3 2 8 9 11 10的顶点所构成。需要注意顶点顺序必须是连续的

(25 10 1)表示沿x方向生成25个网格,y方向10个网格,z方向1个网格

simpleGrading(1 1 1)表示网格在x,y,z三方向为均匀分布

本案例共生成了3个块。

3.3 边界定义

手工指定边界面由哪些顶点构成。这部分代码如下:

关于此段代码:

一共包含5个边界,其边界名称分别为inlet、outlet、bottom、top以及obstacle,边界类型分别为:patch、patch、symmetryPlane、symmetryPlane、patch

一个边界可以包含多个faces

所有的面由顶点构成。如bottom边界由1个面构成,该面由4个顶点(0 1 9 8)所组成

3.4 生成网格

输入命令

cd$FOAM_RUN/forwardStep

blockMesh

运行界面如图所示。

网格生成完毕后输入命令打开prarview查看网格

可以看到沿厚度方向只有1层计算网格。

此时constant文件夹中多出了一个名为polyMesh的文件夹,如下图所示,该文件夹中包含了网格的所有信息。

检查一下boundary文件的内容,确保边界名称及类型无误,该文件内容如图所示。

如图所示多出了一个名为defaultFaces的边界,且指定其类型为empty

本案例其他内容(如介质参数、边界条件、物理模型、计算控制参数设置略过,在后续的教程中再进行详述。

4 总结

本案例采用blockMesh进行几何创建及网格划分,事实上也可以在其他网格生成软件中创建计算网格,然后采用命令方式导入计算网格到OpenFOAM中。

blockMesh的操作稍微复杂一些,不过如果理解分块网格的思想的话,应该也很容易理解。

建议自己动手尝试修改网格参数并查看计算网格的变化。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200112A0MQQW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券