[原創]Abaqus中材料參數不為常數的Python處理方法

[原創]Abaqus中材料參數不為常數的Python處理方法

在有限元計算中,可能會碰到材料參數(這里以線彈性材料彈性模量E為例)在模型中并不為常值的情況,例如,E與某一坐標相關。大家知道,abaqus材料中材料是在*section對截面屬性定義的時候對單元組進行賦值的。并且GUI中也沒有提供變參數的接口(這里順路提一下,載荷是可以通過函數給出變載荷的,GUI中有接口)。這就需要我們采取一些特殊的措施。在CAE-lab前文《Abaqus中計材料參數不為常數的兩種處理方法》中, 給大家介紹了‘編輯inp文件’和‘使用Umat’兩種方法,這里就給大家介紹一下用python腳本實現的方法。

 

方法

難度

編輯inp

會一門編程語言,能夠完成對文本文件的讀取和寫入

4

使用Umat

會使用abaqusUmat用戶子程序,計算文件中不需要使用其它的用戶子程序

3(如果對abaqus用戶子程序不熟悉,則為5)

Python腳本

會python基礎,對python編寫abaqus腳本了解

3(如果對python腳本不熟悉,則為5)


Python大法在abaqus前后處理中具有舉足輕重地位和天然的優勢,通過python給單元賦材料屬性非常簡單,本例中,假設每個單元的彈性模量不一樣,并且是一個函數,我們的思路就是遍歷所有的單元,給每一個單元定義一種材料。具體實現如下:

 

1.模型

    以簡單的Cube模型為例,如圖1,注意由于我們是遍歷單元賦材料,Abaqus中模型必須在劃分好網格后在進行賦材料屬性。

[原創]Abaqus中材料參數不為常數的Python處理方法的圖1

1 網格模型圖

2. python腳本

    下面的代碼較為簡單,注釋也比較清楚,本例中的E的變化是貼主隨意給的,實際中E可能是各種形式,具體案例具體分析。

mymodel=mdb.models['Cube'] # 獲取模型
mypart=mdb.models['Cube'].parts['Cube'] #獲取part
for ele_index in mypart.elements:     #單元循環
    ele=ele_index.label                #單元編號
    node=ele_index.getNodes()          #單元節點坐標
    Matname='Steel'+str(ele)           #材料名
    mySteel = mymodel.Material(name=Matname)  #創建材料
    EE=ele*1000+100.E3 # 變化的材料參數  可以是坐標的函數 或者其他
    elasticProperties = (EE, 0.3)
    mySteel.Elastic(table=(elasticProperties, ) ) #設置材料參數
    sectionname='CubeSec'+str(ele)
    mySection = mymodel.HomogeneousSolidSection(name=sectionname,material=Matname,
    thickness=1.0)#創建section
    elements=mypart.elements[0]
    setname='set'+str(ele)
    region = mypart.Set(elements=mypart.elements[ele-1:ele], name=setname)  
    # 這里elements要為A sequence of MeshElement objects 即類型為tuple  
    mypart.SectionAssignment(region=region, sectionName=sectionname)  #賦材料屬性

3.結果

 

賦材料后,以材料區分來顯示模型,可見每個單元的材料都不一樣,在模型樹菜單也可以看到,python腳本建立了125種材料(共125個單元)

[原創]Abaqus中材料參數不為常數的Python處理方法的圖2   [原創]Abaqus中材料參數不為常數的Python處理方法的圖3


 

 圖2 不同單元的材料

blob.png

圖3 計算結果

4.總結

    我們介紹的三種方法都能很好的解決材料參數不為常數的問題,編輯inppython對單元較少時運行效率較高,但是單元較多時,Umat用起來可能更方便,大家可以都嘗試一下

 

     最后伙伴們可以掃下面二維碼關注我的公眾號‘CAE仿真實驗室’哦,我們將定期給大家分享有限元仿真干貨,謝謝~

https://mmbiz.qlogo.cn/mmbiz_jpg/ZKtYgmRdvjvCyNCM9Bib9iakX2vLpPqRNWLEV4jh9kyegl0hp4KRWIE0z3ZDXib8xzeKsh8NjQGV86sPSPUNVt5cQ/0?wx_fmt=jpeg


 

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

7
30
7