tetgen手册

.

这个可选的第四个部分列出了区域的属性(分配给一个区域中的所有四面体)和关于最大四面体体积的区域约束。在调用tetgen时如果使用了参数-A后者-a并且没有带数值,那么Tetgen将读入这个区域。对于洞来说,区域属性和体积约束以同样的方式传播。

如果在x,y,z坐标所在行后面写了两个值,这个形式tetgen会将它们前者当作一个区域属性(只有选

项-A开启才能使用),并且后者会被认为是一个区域体积约束(只有在-a被使用的时候才有用)。读入在坐标后面只使用一个值也是可能的,此时它既被当作区域属性也被当作体积约束,最终是哪个还得看调用了哪个参数。一个负的最大体积约束允许使用-A和-a而不用在这个特殊的区域内强加一个体积约束。

下面是.poly文件中的格式,它描述了一个立方体。

# Part 1 - node list

# node count, 3 dim, no attribute, no boundary marker 8300

# Node index, node coordinates 1 0.0 0.0 0.0 2 1.0 0.0 0.0 3 1.0 1.0 0.0 4 0.0 1.0 0.0 5 0.0 0.0 1.0 6 1.0 0.0 1.0 7 1.0 1.0 1.0 8 0.0 1.0 1.0

# Part 2 - facet list

# facet count, no boundary marker 60

# facets

1 # 1 polygon, no hole, no boundary marker 4 1234 # front 1

4 5678 # back 1

4 1265 # bottom 1

4 2376 # right 1

4 3487 #top 1

4 4158 # left # Part 3 - hole list 0 # no hole

# Part 4 - region list 0 # no region

4.1.3 .smesh files

.smesh文件代表一个PLC的特殊类型——网格表面。.smesh文件格式是.poly文件格式的简化版。每一面只有一个确切的多边形,没有洞,没有段和内部点。它没有.poly文件的格式灵活,但是当网格表面是由其他程序调用创建时更简单、更有用。

和.poly文件格式一样,.smesh文件格式也是由四部分组成,分别是点,面,洞,和区域。其中只有关于

面部分的描述和.poly文件是不一样的。它的描述如下:

Part 2 面列表

One line: <# of facets> Following lines list # of facets:

<# of corners> ... [boundary marker]

...

每一个面只由一个确切的多边形组成。每一个多边形的角列表位于同一行。每一个面的可选边界标识符

在是角列表的结尾给出来的。

下面的例子示例了单位立方体面部分的布局。(图17)

# Part 2 - facet list

# facet count, no boundary marker 60

# facets

4 1234 # front 4 5678 # back 4 1265 # bottom 4 2376 # right 4 3487 #top 4 4158 # left

4.1.4 ele文件格式如下:

第一行三个数字分别对应变量:

Numberoftetrahedra numberofcorners numberoftetrahedronattributes 四面体个数 每个四面体顶点个数

四面体属性个数

接下来是四面体列表:

四面体编号 节点1 节点2 节点3 节点4 [可选项四面体属性]

ele文件包含一个四面体列表。每一个四面体有四个角(如果-o2选项开启的话可能是10个角)。节点是对应于的.node文件中。第一次四个节点是角点。如果使用了选项-o2,剩下的六个节点为位于四面体六条边上的中点。图18展示了节点的数目。

如果第一行的区域属性为1,每一个四面弹在最后一列会另外有一个区域属性。四面体的区域属性主要是

用来做为识别哪些四面体和PLC的面约束区域相关的标记。它是位于.poly或者是.smesh文件的第四部分。区域属性没有分散面,同一个区域的所有四面体仍然是有相同的区域属性。区域属性最广泛的用途是决定四面体是哪一个材质。

如果tetgen产生一个网格或者是四面体剖分,.ele文件是默认的输出文件。然而,使用-E选项可以忽略。

如果使用了-r选项,tetgen会读入.ele文件,并且会依据它重构一个四面体网格。下面的例子说明了ele文件的布局。

154 4 0 1 4 107 3 50 2 4 108 3 107 3 9 97 95 94 4 4 107 50 93 5 56 1 50 47 6 94989795 7 97 9 95 55 85255551 ...

4.1.5 face文件格式

第一行两个数字分别标识face(三角形面)的个数与三角形标识符列表(1为非空0为空) 接下来是三角形列表:

face 文件包含一系列的三角形面列表,这些面可能是边界面(使用了选项-P或者是-r),可能是凸壳面。每一个面有三个角,可能还有边界标识符。节点索与.node 文件里一致。

三角形编号

顶点1 顶点2 顶点3 face标识符

在产生一个网格或者是德洛内四面体剖分后,tetgen默认是把边界面或者是凸壳输出到 .face文件。然而,

这个文件可以通过-F来忽略。如果使用了-r选项,tetgen也可以读入.face文件来识别在重构网格中的边界面。-B选项可以用来禁止边界标识符的可选列。

如果在第一行的边界标识符为1,每一个面在最后一列有一个另外的边界标识符。面的边界标识符是

由.poly 和.smesh文件定义的。它们主要是用来识别哪些四面体剖分面和哪一个PLC面相关的标记。其最广泛的使用是决定哪儿为不同的边界条件。

4.1.6 .edge文件

First line: <# of edges>

Remaining lines list # of edges: ...

.edge file包含边的列表,这些边是PLC的段或者是字段。每一条边有两条终端节点,索引对应于.node文件中相应的点。 它是tetgen的输出部分(使用-e选项)。

4.1.7 .vol files

First line: <# of tetrahedra>

Remaining lines list # of maximum volumes: ...

.vol文件与每一个四面体的最大体积相关,最大体积是用于优化网格的。在使用-r选项时,tetgen将会读入此文件。

和其他的文件格式一样,每一个四面体必须有编号,并且是连续编号的。如果给一个四面体分配一个符的

最大体积,四面体可能是没有约束的。

4.1.8 .var files

One line: <# of facet constraints>

Remaining lines list # of facet constraints:

...

One line: <# of segment constraints>

Remaining lines list # of segment constraints:

...

Var 文件允许你对面和段设置可变的约束。像对一个区域设置最大体积一样,每一面都可以有最大面积限制。在输出中,子表面的面积都小于之前的对应平面面积限制。同样地,每一个段都有最大长度限制,因此,这个段的字段将不会比它长。

设定面的面约束是通过设置边界标识符,面边界标识符是一个整数,分布在面对应的.poly或.smesh文件

中。设定一个段的段约束是通过设置段的两个终点索引。

下面的例子说明了.var文件的布局。它可以和包含的example.poly文件一起使用。

# Facet constraints 1 # 1 constraint

1 2 0.5 # Set maximum area constraint (0.5) on all facets # having boundary marker 2. # Segment constraints 10 # 10 constraints

1 32 33 0.05 # Set maximum edge length constraint (0.05) on # segment with endpoints 32 and 33. 2 33 34 0.05 3 34 35 0.05 4 35 36 0.05 5 36 37 0.05 6 37 38 0.05 7 38 39 0.05 8 39 40 0.05 9 40 41 0.05 10 41 42 0.05

4.1.9 .neigh files

First line: <# of tetrahedra> <# of nei. per tet. (always 4)> Following lines list # of neighbors:

...

.neigh文件和每一个四面体相邻的四面体有关,索引对应的四面体在.ele 文件中。 索引为-1时标识四面体没有相邻的四面体(此时四面体位于网格域的外界)。四面体i的第一个邻居与四面体i的第一个角是相反的。当使用-n选项时,tetgen会输出这个文件。

4.2 支持的文件格式

Tetgen也支持一些多面体文件格式。表3列出了支持的文件格式。Tetgen通过文件扩展名来识别这些文件。 4.2.1 .off files

Off文件一种综述文件格式,它是一个为unix/linux系统开发的交互式三维图形显示器。它包含可能共顶点的共面多边形集,它是一种描述多面体非常方便的方式。多面体可能是凹形的但没有规定多面体一定包含洞。

对于off文件格式在描述可以在网上查到。下面是对这种文件格式的一个简单描述。

provisionOFF numVertices numFaces numEdges xyz xyz

... numVertices like above NVertices v1 v2 v3 ... vN MVertices v1 v2 v3 ... vM ... numFaces like above

注意这个顶点编号是从0开始的,边也是从0开始编号的。

4.2.2 .ply files

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4