第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用python腳本在abaqus上的唯一節(jié)點處查找應(yīng)力

使用python腳本在abaqus上的唯一節(jié)點處查找應(yīng)力

一只萌萌小番薯 2021-10-19 16:48:20
我解釋我的問題。我絕對需要使用 python 腳本在我的 abaqus 模型上的幾個獨特節(jié)點上找到應(yīng)力。首先,我需要找到承受最大主應(yīng)力的節(jié)點,然后我還需要找到使某個參數(shù)最大化的節(jié)點,該參數(shù)在唯一節(jié)點處使用應(yīng)力和應(yīng)變。我首先嘗試了我在這里看到的max9111的方法https://stackoverflow.com/a/43175485/10960993但我在使用腳本的以下行中遇到了問題:for i in xrange(0,Values.shape[1]):    unq_sum = np.bincount(unq_idx, weights=Values[:,i])    ...我有以下錯誤消息:ValueError: The weights and list don't have the same length.我不知道該怎么做,我真的需要找到具有最大主應(yīng)力的唯一節(jié)點的 id 和坐標(biāo)。謝謝您的幫助!
查看完整描述

1 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗 獲得超4個贊

我終于找到了可以幫助很多人的問題的解決方案(至少它幫助了我的同事)。如果您想通過 Abaqus 腳本了解表面的應(yīng)力,max9111提出的外部節(jié)點平均應(yīng)力值的解決方案是完美且唯一的解決方案。但是,代碼應(yīng)修改如下才能運行,至少在 Abaqus 6.16 上:


第一部分沒有變化


Field = session.odbs['ModelName.odb'].steps['StepName'].frames[0].fieldOutputs['S']

Field = Field.getSubset(position = ELEMENT_NODAL)

Values=Field.bulkDataBlocks[0].data

NodeLabels=Field.bulkDataBlocks[0].nodeLabels


NodeLabels_unique, unq_idx = np.unique(NodeLabels, return_inverse=True)

Values_Averaged=np.zeros((NodeLabels_unique.size,Values.shape[1]))

unq_counts = np.bincount(unq_idx)

由于 Abaqus 使用 bulkDataBlocks 存儲數(shù)據(jù)的方式,Values 變量的創(chuàng)建方式發(fā)生了變化:


for i in xrange(0,Values.shape[1]):

    ValuesTemp = [item[i] for item in Values]

    unq_sum = np.bincount(unq_idx, weights=ValuesTemp)

    Values_Averaged[:,i] = unq_sum / unq_counts


    max_ind=np.unravel_index(np.argmax(Values_Averaged),Values_Averaged.shape)


print("The max stress is at NodeLabel "+str(NodeLabels_unique[max_ind[0]])+ " its value is "+ str(Values_Averaged[max_ind]) +" MPa.")


查看完整回答
反對 回復(fù) 2021-10-19
  • 1 回答
  • 0 關(guān)注
  • 372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號