我有一个问题,我想解决几个星期,但没有结果。在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])