簡體   English   中英

ABAQUS 中使用 python 腳本的節點位移

[英]Nodal displacement in ABAQUS using python script

我想使用 python 腳本獲取特定節點的 U2 位移:

dy = odb.steps['LoadingStep'].frames[-1].fieldOutputs['U'].values[node_no].data[1]

問題是[value index]與節點號不匹配。 這意味着無法使用values[10]找到第 10 個節點的 output 。

如何獲得特定節點的位移?

您的索引值可能存在一些錯誤(例如,索引“9”可以訪問具有 label“10”的節點)。

首先,嘗試檢查 Abaqus 查看器 python 解釋器是否使用node_no獲得正確的節點:

nd = odb.rootAssembly.instaces['MY_INSTANCE'].nodes[node_no]
highlight(nd)

請注意,如果在 model 的生成過程中,您使用感興趣的節點定義一個Set會容易得多:之后您可以像這樣簡單地訪問它們:

 for nd in odb.rootAssembly.nodeSets['MY_NODE_SET']: print(nd.label)

確定節點后,您可以獲得 FieldOutput 的子集,因此您不會被 FieldValueArray values中元素的順序所困擾:

fieldU = frame.fieldOutputs['U']
ndFieldU = fieldU.getSubset(region=my_node, position=NODAL)
ndU2 = ndFieldU.values[0].data[1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM