You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Gmsh生成的.msh文件中第五节点及相关边未显示的疑问

Gmsh .msh文件元素解析疑问解答

问题背景

用户使用以下Gmsh脚本生成网格:

Point(1) = {0, -0, 0, 1.0};
//+
Point(2) = {1, 0, 0, 1.0};
//+
Point(3) = {1, 1, 0, 1.0};
//+
Point(4) = {0., 1, 0, 1.0};
//+
Line(1) = {1, 2};
//+
Line(2) = {2, 3};
//+
Line(3) = {3, 4};
//+
Line(4) = {4, 1};
//+
Curve Loop(1) = {4, 1, 2, 3};
//+
Plane Surface(1) = {1};

该脚本生成的网格包含5个节点、8条边和4个单元,对应的版本2.2的.msh文件内容如下:

$MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
5
1 0 -0 0
2 1 0 0
3 1 1 0
4 0 1 0
5 0.5 0.5 0
$EndNodes
$Elements
12
1 15 2 0 1 1
2 15 2 0 2 2
3 15 2 0 3 3
4 15 2 0 4 4
5 1 2 0 1 1 2
6 1 2 0 2 2 3
7 1 2 0 3 3 4
8 1 2 0 4 4 1
9 2 2 0 1 1 2 5
10 2 2 0 1 4 1 5
11 2 2 0 1 2 3 5
12 2 2 0 1 3 4 5
$EndElements

用户疑问:能看到文件中的5个节点,但在元素部分仅能看到正方形的4个顶点和4条边,未发现第五个节点及其相关边,想知道是操作有误还是正常现象。

解答

这是正常现象,具体解释:

  • 第5个节点(编号5)已经包含在.msh的元素部分里,就是第9到12号元素:
    • 第9号元素类型编号为2,对应三角形单元,包含节点1、2、5
    • 第10号元素是三角形单元,包含节点4、1、5
    • 第11号元素是三角形单元,包含节点2、3、5
    • 第12号元素是三角形单元,包含节点3、4、5
  • 你所说的“相关边”,是这些内部三角形单元的公共边,Gmsh默认不会单独存储内部边的元素信息——只有边界边(第5到8号元素,类型编号1对应线单元)会被明确列出,内部边由相邻单元共享,无需重复存储。
  • 另外,第1到4号元素是类型编号15的点单元,对应正方形的4个顶点节点,这是Gmsh为完整表达几何拓扑而存储的内容。

综上,你的操作没有问题,当前.msh文件的输出完全符合Gmsh的规范,第5个节点已通过内部三角形单元被正确包含。

内容的提问来源于stack exchange,提问作者Taendyr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 15:54:55