我如何创建一个可以更改的网格而不会使 Abaqus 中的本机集失效?

How can I create a mesh that can be changed without invalidating native sets in Abaqus?

如果更改网格,我在 Abaqus 中创建的 "by feature edge" 节点集将失效。 我有什么选择可以防止这种情况发生?

我问是因为我正在尝试编写一个 phython 文件,在其中更改网格作为参数。如果更改网格会使节点集无效,那将是不可能的。

和往常一样,方法不止一种。

如果您知道感兴趣边缘上或附近某个点的坐标,一种技术是使用 EdgeArray.findAt() 方法,然后使用 Edge.getNodes() return Node 对象的方法,然后从中定义一个新集合。您可以使用以下代码作为您可能想到的其他更复杂方法的灵感来源:

# Tested on Abaqus/CAE 6.12
# Assumes access from the Part-level (Assembly-level is similar):
p = mdb.models['Model-1'].parts['Part-1'] # the Part object
e = p.edges                               # an EdgeArray of Edge objects in the Part

# Look for your edge at the specified coords, then get the nodes:
e1 = e.findAt( coordinates = (0.5, 0.0, 0.0) ) # the Edge object of interest
e1_nodes = e1.getNodes()                  # A list of Node objects

# Specify the new node set:
e1_nset = p.SetFromNodeLabels( name='Nset-1', nodeLabels=[node.label for node in e1_nodes] )