定义Abaqus模型的外表面,并计算距离积分点最近的表面



我有一个问题,我想解决几个星期,但没有结果。在Abaqus中进行模拟后,一旦我导出了具有相应坐标的每个积分点的应力,我就需要为每个积分点计算离最近表面的距离。当然,几何图形可以任意复杂。

我首先想到的是确定属于模型曲面的节点的坐标(想法是在不确定先验曲面或集合的情况下这样做(。

我在另一个线程中发现了这段代码:

p = mdb.models[name].parts[name]
surf_nodes = []
for face in p.elementFaces():
if len(face.getElements()) == 1:
# Then the face has only one associated element, ie it's on the surface.
# Get the nodes on the face:
surf_nodes.extend([node for node in face.getNodes() if node not in surf_nodes])

问题是,当我打开脚本时,我会收到以下消息:

TypeError:MeshFaceArray对象不可调用。

你知道我该怎么解决这个问题吗?当然,你知道如何实现我的最终目标吗?

真的非常感谢你提前:(

尝试一下,如果它不起作用,请告诉我,然后我可以进一步帮助您。

p = mdb.models[name].parts[name]
surf_nodes = []
for face in p.elementFaces:
if len(face.getElements()) == 1:
surf_nodes.extend([node for node in face.getNodes() if node not in surf_nodes])

最新更新