不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

調用UEL(用戶單元)的abaqus模型,如何用Python編寫腳本進行后處理? 40

瀏覽:1937 回答:2

大家好

調用UEL(一個模擬粘結滑移的用戶單元)的abaqus模型,如何用Python后處理UEL。
比如如何查看用戶單元(4節點平面單元)的積分點的mises應力?

我嘗試訪問了輸出數據庫(odb),編寫如下script:

#!/usr/bin/python

#-*-coding: UTF-8-*-

from abaqus import*

from odbAccess import*

odb=openOdb(path='verifiedmodel.odb')

#單元集合P1就是用戶單元集合

topCenter=odb.rootAssembly.instances['NS-1'].elementSets['P1']

stressField = odb.steps['Step-1'].frames[-1].fieldOutputs['S']

field = stressField.getSubset(region=topCenter, 

    position=INTEGRATION_POINT, elementType = 'U1')

fieldValues = field.values

for v in fieldValues: 

    print 'Element label = ', v.elementLabel,     

    if v.integrationPoint:

        print 'Integration Point = ', v.integrationPoint

    else:

        print 

    for component in v.data:

        print '%-10.5f' % component

    print

運行沒有結果。

但是把單元集合換成C2(混凝土單元)或者是S1(鋼筋單元),運行是有結果的。

另外,我試著僅運行下列腳本程序:

stressField = odb.steps['Step-1'].frames[-1].fieldOutputs['S']

print stressField 

結果只有T3D2(鋼筋的類型),C3D8R(混凝土的類型),就是沒有U1(用戶單元類型)。這是為什么呢?

整個模型是通過運行INP文件,并且調用用戶子程序運行出來的,verifiedmodel.odb是該模型的輸出數據庫,是不是說這個ODB不包含用戶單元的信息。

眾所周知,abaqus的CAE界面的可視化窗口是不會顯示用戶單元模型的。

在書中找了資料,莊茁的有本書上說,STA文件會有顯示用戶單元信息,我查看了,并沒有。

在網上找了一個網名為(窗臺上的叔本華),講了要通過編寫python腳本來查看用戶單元運行的信息,上面所列的程序就是我的嘗試,并沒有得到結果。

所以想請教大家,如何得到運行后用戶單元的信息呢?用python編寫腳本可行嗎,是程序出了問題嗎,還是ODB根本就不包含用戶單元的信息呢?

邀請回答 我來回答

全部回答

(2)
默認 最新
東風41

關于UEL的后處理問題,其實可以用UVARM子程序解決,樓主可以在網上搜搜。

2018年10月23日
評論 點贊 1
侯瑞彬
UEL使用戶自定義單元,在編寫子程序時需要提供自定義單元對整個模型平衡方程的貢獻和對應于迭代求解中的雅可比矩陣,自定義單元對整個模型平衡方程的貢獻由單元內力向量和外力向量相減得到,在計算內力向量時,用到積分點的應力、應變,由于這些應力應變并沒有直接提供給abaqus求解器,而且自定義單元是滿足用戶特殊需要而自己編寫的,每個單元有幾個積分點、幾個節點、每個節點有幾個自由度,都是由用戶自己定義的,導致abaqus難以在后處理中對用戶自定義單元進行可視化,因此每個自定義單元都是用一個x號顯示。這些信息的缺失,python編寫的腳本程序自然無法訪問
2018年5月6日
評論 點贊

沒解決?試試專家一對一服務

換一批
    App下載
    技術鄰APP
    工程師必備
    • 項目客服
    • 培訓客服
    • 平臺客服

    TOP