在ABAQUS 二次开发、或者研究界面问题的时候,比如cohsive单元界面问题,会涉及到单元-节点的排布顺序。ABAQUS inp文件中的单元-节点顺序排布很有讲究,不能搞错,这是因为有限元程序编写与节点顺序有关,内部的程序我们不得而知,但是节点顺序的规律可以从inp文件中看到,再对比cae节点中的节点编号可以总结规律。以下内容介绍一些经典的实体单元-节点排布顺序。
三角形单元
以一个10x10(无单位)的挖孔板为例,划分的网格为:(注意到被单元为30、138和23包围的三角形没有编号,这是因为那个三角形不是单元,我在那里挖了个孔,因为背景显示的问题,网格颜色和背景一样,故没有区分。作此说明)
这里我们首先查看节点的排布方式。分别以单元1、123为例。
编号为“1”的单元,在inp文件中,单元-节点的编号为:
1, 61, 1, 2
在cae界面中,我们只显示编号为“1”的单元为:
发现节点排布的方式是“逆时针”顺序。
编号为“123”的单元,在inp文件中,单元-节点的编号为:
123, 83, 34, 33
在cae界面中,我们只显示编号为“123”的单元为:
发现节点排布的方式是“逆时针”顺序。
17, 55, 42, 41
18, 44, 23, 28
43, 41, 26, 32
45, 43, 42, 22
46, 44, 43, 22
在inp文件中,将左边界定义为surface的代码为:
*Elset, elset=_left-bc_S1, internal
43, 45, 46
*Elset, elset=_left-bc_S2, internal
17,
*Elset, elset=_left-bc_S3, internal
18,
*Surface, type=ELEMENT, name=left-bc
_left-bc_S1, S1
_left-bc_S2, S2
_left-bc_S3, S3
关键字“elset”能定义单元集 合,后面的参数“elset”为该单元集 合的名称,最后的参数“internal”这个帖子不涉及,不做过多解释。关键字“elset”的数据行为该单元集 合包括的单元编号。
关键字“surface”能定义面,后面的参数“type”为该面是基于什么定义的,该参数的数值有:element、node等等,我在cae界面做过测试,采用“gemerty”和“mesh”方式定义的时候,“type”参数的取值都是“element”,这个取值的意思是采用边标识(二维问题中,三维问题中为面标识)的形式定义surface。关键字“surface”的数据行中,第一个参数为单元集 合名称,第二的参数就是边标识,这个边标识是定义surface的关键,下面我们看s1、s2、s3到底是什么意思。
这里我们需要做一些猜测,基于有限元离散的理论。我们知道在有限元计算中,如果一个边或面有荷载,就需要把荷载根据等效原理换算到节点相应的维度上,如(fx,fy)(二维问题中),那么软件定义面或者边标识的目的肯定与提取节点有关,而在二维问题中,一个边可能是两节点,或者三节点。好了有了这个猜测,继续往下看。
查看上面的inp文件信息,可以得到如下信息:单元集 合“_left-bc_S1”包括单元“43、45和46”,在关键字“surface”中,选择这个单元集 合的边标识为“S1”的边节点定义“surface”,我们看看这个S1代表的到底是什么,首先将这三个单元的节点编号从inp文件中提取出来为:
43, 41, 26, 32
45, 43, 42, 22
46, 44, 43, 22
再把这三个单元的单元-节点编号在cae界面中显示出来:
定义的是左边界,所以,与单元“43”有关的节点为26和41,与单元“45”有关的节点为42和43,与单元“46”有关的节点为43和44,这里就可以发现一些规律了:边标识S1对应的节点都是inp文件的单元-节点编号中的前两个节点。
这里还需要进行一些猜测:三个节点来组成的边只可能有三种可能,对于a、b和c,只可能有:ab、bc和ca三种可能(不考虑顺序,先给自己挖个坑),这有没有可能正好对应着S1、S2和S3呢?
我们继续看,“_left-bc_S2”单元集 合对应的边标识为S2,这个单元集 合包括了单元”17“,对应的节点编号为:
17, 55, 42, 41
在cae界面中显示该单元为:
定义的是左边界,涉及到的节点为42和41,这里初步验证了我们的猜测,S2确实对应了第二条边:42和41。
我们继续看,“_left-bc_S3”单元集 合对应的边标识为S2,这个单元集 合包括了单元”18“,对应的节点编号为:
18, 44, 23, 28
在cae界面中显示该单元为:
定义的是左边界,涉及到的节点为28和44,这里又一次验证了我们的猜测,S3确实对应了第三条边:28和44。
至此我们可以得出结论:在一阶三角形单元中,采用“gemerty”和“mesh”定义的surface中,ABAQUS的设计机制是首先定义与我们目标边界线节点( 二维问题中,三位问题为目标面节点)相关的单元 集 合,然后利用三角形边标识提取边界线节点。
一阶三角形单元的边标识有三个:S1、S2和S3。例如,inp文件中某个单元-节点的排布顺序为:element,n1,n2,n3(element为单元编号,后面三个元素为节点编号),那么 S1代表的边为:n1和n2组成的边、 S2代表的边为:n2和n3组成的边、S3代表的边为:n3和n1组成的边。
再来说顺序的事情,这部分我没做过测试,不过推测来看,与inp文件中的排布顺序保持一致的可能性很大。读者要想深入探究,可以具体推导一下公式,就是那个荷载换算的公式。
这个问题可能是二维中 特有的,因为仅仅靠两点,很难判断出来顺时针或者逆时针,没有参照,在三维问题中,这个问题就不存在,详情请看三维单元的解析。
六面体单元
几何模型为三拱桥,如图:
相应的网格图为:
这里我们首先查看节点的排布方式。分别以单元1、12、123、1234和12345为例。
编号为“1”的单元,在inp文件中,单元-节点的编号为:
1, 801, 962, 496, 497, 3190, 3351, 2885, 2886
在cae界面中,我们只显示编号为“1”的单元为:
可以发现,前四个节点组成了一个面,后四个节点组成的面与前四个节点组成的面位置是相对的。且前四个节点按照右手法则,大拇指指向单元内部,后四个节点按照右手法则,大拇指指向单元的外部。且这两个对面四个节点开始的位置是相同的 ,如:
801, 962, 496, 497
3190, 3351, 2885, 2886
可以发现,节点801与3190共线,后面的三对节点仍然有相应的规律。
后面四个单元这里就不重复码字了,我做过验证,是满足这个规律的,下面来看更重要的面定义,这部分更有意思!
我在cae界面采用“gemerty”将三拱桥的桥面定义为一个面,详细的inp代码如下:
*Elset, elset=_top_S6, internal
6, 14, 15, ......
*Elset, elset=_top_S5, internal
12, 267, 296, ......
*Elset, elset=_top_S4, internal
13, 16, 28, ......
*Elset, elset=_top_S3, internal
61, 140, 303, ......
*Surface, type=ELEMENT, name=top
_top_S6, S6
_top_S5, S5
_top_S4, S4
_top_S3, S3
这部分涉及的单元比较多,没有写全,其余的省略。下面提取上面这些单元的单元-节点信息:
S6--------------|
6, 2, 495, 965, 498, 2391, 2884, 3354, 2887
14, 502, 1221, 1114, 503, 2891, 3610, 3503, 2892
15, 6, 1107, 1220, 504, 2395, 3496, 3609, 2893
S5--------------|
12, 1003, 983, 501, 500, 3392, 3372, 2890, 2889
267, 404, 2158, 612, 61, 2793, 4547, 3001, 2450
296, 985, 1061, 615, 614, 3374, 3450, 3004, 3003
S4--------------|
13, 1221, 502, 5, 165, 3610, 2891, 2394, 2554
16, 169, 505, 504, 1220, 2558, 2894, 2893, 3609
28, 1087, 510, 9, 799, 3476, 2899, 2398, 3188
S3--------------|
61, 31, 552, 381, 1082, 2420, 2941, 2770, 3471
140, 19, 529, 1092, 981, 2408, 2918, 3481, 3370
303, 617, 616, 1716, 1010, 3006, 3005, 4105, 3399
有了之前的经验,我们知道了这里的S6、S5、S4和S3是六面体的面标识,还有两个S1和S2没涉及到,因为六面体嘛,肯定有六个面。我们只要把S3~S6的规律搞清楚了,其余的可以按照一样的思路整出来。
下面开整,首先以S6开始。在cae界面中把单元6、14和15显示出来:
下面把三拱桥调整到顶面的视图,即从上往下看的视图,截取包含这三个单元的一部分图:
可以看到单元15、14和6分别在底层单元从左往右数第1、3和倒数第一个。
其中这三个单元涉及到的节点编号为:
15, 6, 1107, 1220, 504, 2395, 3496, 3609, 2893
14, 502, 1221, 1114, 503, 2891, 3610, 3503, 2892
6, 2, 495, 965, 498, 2391, 2884, 3354, 2887
可以发现,单元15采用的面标识S6涉及到的四个节点为:
2395 2893 504 6
六面体一共八个节点,加入我们给这八个节点分别1~8的编号,我们发现这四个节点对应的编号为:5 8 4 1,
这个规律正不正确呢,再来看单元14对应的四个节点:
2891 2892 503 502
经过验证,我们发现面标识S6就是对应分别了八个节点中第5 8 4 1个编号。
按照这种思路,我们可以得出如下规律:
S1-----1 4 3 2
S2-----5 6 7 8
S3-----1 2 6 5
S4-----6 2 3 7
S5-----4 8 7 3
S6-----5 8 4 1
注意:并不是所有的模型都会涉及到S1~S6,视模型的复杂程度而定,像几何拓扑关系简单的几何模型,如长方体,可能只会涉及其中的一个面标识。
总结
在探索节点排布顺序规律和面节点索引规律的过程中,我们将inp文件与cae界面相结合,再加上自己现有的知识进行猜测和验证,最终得出结论。
在使用商软ABAQUS过程中,很多我们看似简单,甚至注意不到的非常小的细节,都是一大堆工程师的头发换回来的,也有些我们看不懂的设计,感觉莫名其妙,其背后都有非常复杂的原因,最终形成了现在的形式,当我们学习到一定深度的时候,自然会恍然大悟,茅塞顿开!
永远保持好奇心!!
欢迎对内容有兴趣的朋友私信交流!