用户登录

你在这里

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') #创建主曲面

祝好,

蓝天

订阅“Abaqus Python在循环中创建曲面集”的评论

更多的评论

辛迪加

订阅辛迪加