Abaqus 6.14-1,Win 7,x64。
我创建了一个80 x 120 x 0.5的薄盒子,然后以0.5的间距播种边缘。
然后我创建了两个模型,一个带有十六进制元素和一个第二次用tets。
然后我在盒子的最顶部xy表面上创建一个表面(Surf-2,不要问)。
现在我运行以下脚本来获取节点标签& Surf-2下的节点坐标......
mySurf = mdb.models['Model-1'].rootAssembly.surfaces['Surf-2']
surfNodes = []
surfNodesLabels = []
nodeInfo = open('LoadSurfaceNodes.txt','w')
for eNode in mySurf.nodes:
surfNodes.append(eNode.coordinates)
surfNodesLabels.append(eNode.label)
outStr = str(eNode.label) + ',' + str(eNode.coordinates[0]) + ',' + str(eNode.coordinates[1]) + ',' + str(eNode.coordinates[2]) + '\n'
print outStr
nodeInfo.write(outStr)
nodeInfo.close()
print len(surfNodesLabels)
对于十六进制模型,我按预期得到9801(81 x 121)。
对于tet模型,我得到38801错误不符合预期!
据我所知,无论元素的类型如何,在每种情况下Surf-2下实际上都没有不同数量的节点。
那么为什么会出现这种差异呢?
EDIT&解!
四面体元素是二次的,只要它们被换成线性的东西就会与其他所有东西一致。