首先,您需要元素和元素类型的连接性。在Abaqus手册(+)中,您将找到元素面的定义。
每个在模型中只存在一次的面都是曲面,因此属于该曲面的节点是曲面节点。在
(+)Abaqus分析用户指南中的28.1.4
以下示例需要numpy>;=1.9。如果你有一个老版本的纽比,你必须找到另一种方法来获得只出现一次的脸。在# for example C3D4, np_Connectivity is a numpy array describing the element connectivity
def get_Surface_Nodes_tet(np_Connectivity):
#Face definition
Face=np.concatenate((np_Connectivity[:,[0,1,2]],np_Connectivity[:,[0,3,1]],np_Connectivity[:,[1,3,2]],np_Connectivity[:,[2,3,0]]))
#Sort the nodes of the faces
Face.sort()
#get the faces which are only once in the array
b = np.ascontiguousarray(Face).view(np.dtype((np.void, Face.dtype.itemsize * Face.shape[1])))
#min numpy version=1.9
_, idx_2,counts = np.unique(b, return_index=True,return_counts=True)
only_once=np.where(counts<2)
idx=idx_2[only_once[0]]
#All nodes of faces, which occur only once are surface nodes
SurfaceNodeLabels=np.unique(Face[idx])
return SurfaceNodeLabels
编辑
下面的函数演示如何使用abaqus cae获取曲面节点。因此,这个版本需要abaqus cae的许可证。在
^{pr2}$
以及如何使用此函数的示例:import part
import assembly
import numpy as np
#Get the Element Faces
Faces=mdb.models['Model_1'].rootAssembly.instances['Instance_1'].elementFaces
SurfaceNodeLabels=get_Surface_Nodes(Faces)

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删