[英]How to update nodal value of Abaqus odb file using python script?
[英]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.