我对四面体网格有一个大问题...我想为有限体积时域代码创建一个四面体网格(3-D),并提供两个文件(*.node 和 *.ele)作为输入。
*.node 的格式为: 第一行:<# of points> <# of attributes> <# of boundary markers (0 or 1)> Remaining lines list # of points: [attributes] [boundary marker] ...
*.ele 的格式为: 第一行:<# of tetrahedra> <# of attributes> # of tetrahedra 的剩余行列表:... [attributes] ...
从这 2 个文件中,我开发的 Mesh 类创建每个四面体的面(从节点 ID 开始),然后使用 4 个节点和 4 个面的信息创建元素四面体。问题是,只有这些文件,我没有每个元素的共享面的信息,所以我必须在面列表中进行检查,以消除双打。这个过程需要很多时间。有没有人知道更聪明的方法来克服我的问题?
Ps:我也可以生成文件 .*face 和文件 *.neigh:第一个列出所有的面(不考虑双打)和相应的节点,第二个给我关于每个四面体的相邻元素的信息,以元素 id (不是在共享 id 面孔方面。)
*.face 的格式为: 第一行:<# of faces> 剩余行数列表:[boundary marker] ...
*.neigh 的格式为: 第一行:<# of tetrahedra> <# of nei. 每 tet(总是 4)> 邻居数的剩余行列表:...
我的问题是我的程序需要花费大量时间来识别共享面孔并删除它们......我在问是否有更智能的方法来做到这一点(可能使用特定的数据结构或其他方法)以及我的信息可以生成(.node、.ele、.face、.neigh)
谢谢:)