当 gmsh 使用高阶四面体元素时,有一个底层的拉格朗日基用于指定从参考空间到元素的映射。我正在尝试加载 3 度四面体元素的 gmsh 网格,但我似乎找不到任何关于定义拉格朗日基础的节点位置的精确文档,这些节点用于定义从参考空间到世界空间的地图。
gmsh 文档指出了节点的顺序,但不是特别精确(例如,其中的四面体示例甚至没有显示面节点的顺序)。对于任何有序的四面体元素,有什么方法可以回答这个问题, 这th节点对应坐标在参考元素上?我可以调用一些未记录的 gmsh 库函数吗?
当 gmsh 使用高阶四面体元素时,有一个底层的拉格朗日基用于指定从参考空间到元素的映射。我正在尝试加载 3 度四面体元素的 gmsh 网格,但我似乎找不到任何关于定义拉格朗日基础的节点位置的精确文档,这些节点用于定义从参考空间到世界空间的地图。
gmsh 文档指出了节点的顺序,但不是特别精确(例如,其中的四面体示例甚至没有显示面节点的顺序)。对于任何有序的四面体元素,有什么方法可以回答这个问题, 这th节点对应坐标在参考元素上?我可以调用一些未记录的 gmsh 库函数吗?
我认为您从文档中得到了一些错误的结果。与该领域的许多其他软件一样,GMSH 以低阶硬编码编号开始。这些是具有 ASCII 艺术表示的那些,它只给出四面体的一阶和二阶编号(因此在 4 节点或 10 节点“低阶”版本中没有任何面节点)。这些不是示例,它们是早期版本的原始规范编号。
随着事情的进一步发展,开发人员增加了对更高阶元素的更任意方案的支持,其编号方案如下所述
9.2.2 高阶元素
高阶(可能是弯曲的)元素的节点排序与低阶元素的编号兼容(这是一种概括)。我们按以下顺序对节点进行编号:
- 元素主或角顶点;
- 每条边的内部节点;
- 每个面的内部节点;
- 卷内部节点。
内部节点的编号是递归的,即编号遵循嵌入低阶边/面/体积的节点的编号。假设高阶节点是等距的。边和面按照在该边/面上生成单个高阶的最低阶模板编号。此外,一条边从具有最低索引的节点定向到最高索引。面的方向使得计算的法线指向外部;起点是索引最低的节点。
尽管此文本相当密集,但我相信它最终会相当明确,只要您记住所有内容都使用基于分配的主要顶点编号的字典排序。