Abaqus中材料參數(shù)不為常數(shù)的Python處理方法

2017-07-04  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

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


方法

要求

難度

編輯inp

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

4星

使用Umat

會(huì)使用abaqus的Umat用戶子程序,計(jì)算文件中不需要使用其它的用戶子程序

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

Python腳本

會(huì)python基礎(chǔ),對(duì)python編寫abaqus腳本了解

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


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


1.模型

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

Abaqus中材料參數(shù)不為常數(shù)的Python處理方法abaqus有限元培訓(xùn)資料圖片1

圖1 網(wǎng)格模型圖

2. python腳本

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mymodel=mdb.models['Cube']# 獲取模型
mypart=mdb.models['Cube'].parts['Cube']#獲取part
forele_indexinmypart.elements:#單元循環(huán)
ele=ele_index.label#單元編號(hào)
node=ele_index.getNodes()#單元節(jié)點(diǎn)坐標(biāo)
Matname='Steel'+str(ele)#材料名
mySteel=mymodel.Material(name=Matname)#創(chuàng)建材料
EE=ele*1000+100.E3# 變化的材料參數(shù) 可以是坐標(biāo)的函數(shù) 或者其他
elasticProperties=(EE,0.3)
mySteel.Elastic(table=(elasticProperties, ) )#設(shè)置材料參數(shù)
sectionname='CubeSec'+str(ele)
mySection=mymodel.HomogeneousSolidSection(name=sectionname,material=Matname,
thickness=1.0)#創(chuàng)建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.結(jié)果

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

Abaqus中材料參數(shù)不為常數(shù)的Python處理方法abaqus有限元培訓(xùn)資料圖片2
Abaqus中材料參數(shù)不為常數(shù)的Python處理方法abaqus有限元培訓(xùn)資料圖片3

圖2 不同單元的材料

Abaqus中材料參數(shù)不為常數(shù)的Python處理方法abaqus有限元技術(shù)圖片4

圖3 計(jì)算結(jié)果


4.總結(jié)

我們介紹的三種方法都能很好的解決材料參數(shù)不為常數(shù)的問題,編輯inp和python對(duì)單元較少時(shí)運(yùn)行效率較高,但是單元較多時(shí),Umat用起來可能更方便,大家可以都嘗試一下。



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:Abaqus中材料參數(shù)不為常數(shù)的Python處理方法 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com