• Fluent的msh格式网格学习


    研究需要,学习Fluent的网格msh格式。

    设有一个网格如上图,是一个1x9长方体域,每单位长度有5个点,4个体,共210个点和164个体。

    输出msh格式的文件,fluent输出的是非结构网格,如果是2维的话,就是由一系列的点和线组成,每条线和体之间有特定的拓扑关系。

    1. 开头

    打开输出的msh文件,开头两行:

    1. (0 " Created by : Fluent_V6 Interface Vers. 19.5.0")
    2. (2 2)

    0是注释类型的标号,没有特定含义,方便操作者阅读用的。2是网格维度的标号,(2,2)表示这一行注明是网格维度的,后面的2表示这个网格是2维的网格。

    2. 点集node

    1. (0 "Node Section")
    2. (10 (0 1 d2 0 2))
    3. (10 (a 1 d2 1 2)
    4. (
    5. 0 0
    6. 0.0012499999751647284 0
    7. 0 0.0012499999720603228
    8. 0.0012499999751647275 0.0012500000000000005
    9. 0 0.0024999999441206455
    10. 0.0012499999751647264 0.0025000000000000005
    11. 0 0.0037499999161809683
    12. 0.0012499999751647251 0.0037500000000000003
    13. 0 0.004999999888241291
    14. 0.0012499999751647245 0.0050000000000000001
    15. 0.0024999999503294568 0
    16. 0.0024999999503294568 0.0012500000000000002
    17. 0.0024999999503294559 0.0025000000000000005
    18. 0.002499999950329455 0.0037500000000000007
    19. ...
    20. ))

    同样,第一行标号0代表后面的是注释,第二行标号10代表节点数据。遵循格式(10 (zone-id first-index last-index type ND)(x1 y1 z1  x2 y2 z2... ))。参考Fluent mesh文件格式简单说明 - 脉搏96 - 博客园可知type有多种。如果zone-id=0, first-index将是1,last-index等于节点数(d2就是210),type设置为0, ND是网格维度,后面不跟坐标数据。如果zone-id大于0,则表示结构体中的nodes属于编号zone-id的zone区域。此时first-index和last-index为该zone区域的节点编号,type设置为1,ND为可选参数,表示网格维度。当ND=2时,节点数据不显示z坐标。因为就一个zone,所以第二行和第三行的index是一样的。

    3. 体集cell

    1. (12 (0 1 a4 0 0))
    2. (12 (b 1 a4 1 3))

    点集之后接着两行标号为12代表体集。a4就是164也就是本网格体元数。看下图,后面接着的3代表四面体类型。

     后面并没有接cell的数据,估计就是生成了一个从1到a4的数组。

    4. 面集faced

    1. (13 (0 1 175 0 0))
    2. (0 "Interior faces of zone FLUID")
    3. (13 (c 1 11b 2 2)(
    4. 2 4 1 5
    5. 4 3 1 2
    6. 4 6 2 6
    7. 6 5 2 3
    8. 6 8 3 7
    9. 8 7 3 4
    10. 8 a 4 8
    11. b c 5 9
    12. c 4 5 6
    13. c d 6 a
    14. d 6 6 7
    15. d e 7 b
    16. e 8 7 8
    17. ...
    18. ))

    13是面的标号。第一行是总起,共有175(373)条线(面),下面是各部分的信息。面(线)有分内部面(线)以及边界。上面给出的是interior内部面,共有11b(283)条。看第三行,第四个2表示interior,最后一个2表示是线性类型。

    之后的每一行四个数字代表(点1,点2,左边体元,右边体元)。看到第一行的2 4 1 5

     就是说,在点2和点4所连成的线,左边的体是1,右边的体是5。为什么前面cell没有给过多的信息了呢?因为在这里就可以定义好了,不用重复定义,节省空间。这一行也告诉我们,这条线是由哪两个点连成的,同时也带有和体元有关的位置信息,在有限体积里是必要的。

    1. (0 "Faces of zone IN")
    2. (13 (d 11c 11f 3 2)(
    3. 3 1 1 0
    4. 5 3 2 0
    5. 7 5 3 0
    6. 9 7 4 0
    7. )

    看到IN的边界,注意,它的起点是11c,而上方interior的终点是11b,是首尾相连的。type是3,代表wall类型。看到每一行最后一个都是0,这意味着,边界的线规定了右边就是计算域外,左边则是计算域里面。这样方便计算。

  • 相关阅读:
    js学习笔记
    网络安全(黑客)——2024自学
    田口实验法
    EasyCVR通过国标GB协议接入设备,TCP正常注册但UDP无法成功注册的原因分析
    聊聊admin服务的架构模式
    牛客小白月赛77
    JAVA毕设项目客服管理系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
    LeetCode 2520. 统计能整除数字的位数
    threejs给3d模型中的物体换肤(修改材质)
    114、数据库,核心价值是持久层和数据准确性,复杂的事情不要干
  • 原文地址:https://blog.csdn.net/weixin_39124457/article/details/125424092