1D 网格 GMSH 中的节点重新编号

计算科学 gmsh
2021-12-17 08:12:59

我正在使用 Gmsh 生成多边形边缘的 1D 网格我注意到,通过“顶点和线”绘制多边形,程序总是将多边形的 N 个顶点的坐标分配给网格的前 N ​​个节点;相反,所有其他节点都按顺时针顺序排列。有没有办法顺时针排列所有节点,包括顶点?

谢谢。

1个回答

我不知道有任何方法可以在 .geo 文件中、在 GMSH 应用程序下或使用 libgmsh 接口来执行此操作。有点烦人的是,gmsh 在写入之前所做的最后一个操作往往是重新编号以依次扫描 0D、1D、2D 和 3D 对象。最近有一些关于重新编号选项的工作,但它的目标是重新编号以使索引密集而不是允许其他选项。

另一方面,GMSH msh 格式有很好的文档记录,基于 ASCII 文本的格式很容易解析和重写。对于你想做的事情,算法会:

  • 解析文件一次,存储节点值数组和元素节点映射。
  • 从多边形的中心找到每个节点的角度。
  • 生成有序节点索引的整数数组
  • 输出一个新文件,以新顺序输出节点列表并将索引映射应用于元素列表。

这并非完全无关紧要,但如果您了解一种脚本语言,就不会花很长时间来编写。