你在这里
Abaqus Python在循环中创建曲面集
亲爱的朋友们
我在模拟粘性土壤中条状地基的大渗透。为此,我使用Python脚本(Abaqus 6.13)。
在每个父循环中,支点基础的位置会随着循环增量而变化。在这个父循环下,有几个嵌套的for和if循环。我的问题是我需要跟踪条的底部边缘。由于某种原因,Abaqus划分了边,即使我开始时只有一行作为底边。我写了以下内容来识别所有的边,即在边缘上找到一个点,然后将所有的底边组合成一个实体,然后将这个实体定义为一个集合曲面。
该程序工作良好,直到一个随机的穿透深度,但随后停止说,表面无法创建,因为没有实体。当我检查coordBotStrip(见下文),它是空的,在这个有问题的步骤,所以没有表面可以形成。但是这个相同的coordBotStrip在停止之前拥有前面循环中的边的坐标(不管边被分割了多少次)。这让我发疯,因为我不知道我在这里做错了什么,或者是Abaqus/Python只是把我搞砸了!任何帮助都非常感激。这是append命令的问题吗?它似乎不是在有问题的步骤中追加,而是正确地在前面的所有步骤中追加。
coordBotStrip = []
totalEdgesBotStrip = len (newAssembly.instances[‘MYSTRIPINSTANCE] .edges)
for i in range(0,totalEdgesBotStrip):
x1 = newAssembly.instances [' MYSTRIPINSTANCE '] .edges[我].pointOn [0] [0]
日元= newAssembly.instances [' MYSTRIPINSTANCE '] .edges[我].pointOn [0] [1]
edgeTemp = (newAssembly.instances [' MYSTRIPINSTANCE '] .edges[我].pointOn [0],)
如果y1==(-1e-6*j): # j是属于第一个for语句的计数器。
coordBotStrip.append (edgeTemp)
s1 = newAssembly.instances .edges MYSTRIPINSTANCE”
side1Edges1 = []
for i in range(0,len(coordBotStrip)):
x = s1.findAt (coordBotStrip[我])
side1Edges1.append (x)
打印'side1Edges1 = ', side1Edges1
newAssembly。Surface(side1Edges=side1Edges1, name='bottomStripSurface') #创建主曲面
祝好,
蓝天
最近的评论