Abaqus中材料參數(shù)不為常數(shù)的3種處理方法
2017-03-01 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
1、目地
在有限元計算中,可能會碰到材料參數(shù)(這里以線彈性材料彈性模量E為例)在模型中并不為常值的情況,例如,E與某一坐標相關。大家知道,abaqus材料中材料是在*section對截面屬性定義的時候對單元組進行賦值的。并且GUI中也沒有提供變參數(shù)的接口(這里順路提一下,載荷是可以通過函數(shù)給出變載荷的,GUI中有接口)。這就需要我們采取一些特殊的措施。本教程給出3種行之有效的方法,它們分別是:(1)編輯inp文件,(2)使用Umat,(3)Python腳本
2、方法
方法 |
要求 |
難度 |
編輯inp |
會一門編程語言,能夠完成對文本文件的讀取和寫入 |
4星 |
使用Umat |
會使用abaqus的Umat用戶子程序,計算文件中不需要使用其它的用戶子程序 |
3星(如果對abaqus用戶子程序不熟悉,則為5星) |
Python腳本 |
會python基礎,對python編寫abaqus腳本了解 |
3星(如果對python腳本不熟悉,則為5星) |
同樣是根據(jù)坐標確定材料參數(shù),使用Umat時,可以直接通過abaqus用戶子程序自帶的子函數(shù)直接獲得單元的節(jié)點坐標,進而通過坐標確定材料參數(shù);而使用編輯inp的方法則需要首先通過編寫程序對你已經生成的inp文件(包含節(jié)點、單元信息)進行讀取,之后對每一個單元進行材料賦值,而python腳本可以直接通過命令來給每個單元賦材料。從這方面講,對熟悉Umat和Python的用戶而言,使用Umat或Python解決這個問題更為方便。上表中給出3兩種方法的一些基本要求,編輯inp文件的方法要求更低,它通過直接編輯inp文件的方法來實現(xiàn)。而使用Umat和Python的方法要求更高,需要用戶對子程序和Python有一定的了解,并且也需要會一門編程語言。
3、編輯inp方法的簡單實施過程
以Fortran+VS為例,在編輯inp文件時,涉及到了單元節(jié)點信息的讀取、計算單元(質心)坐標、計算彈性模量E、和輸出這幾個子程序。如圖1所示,prereadnew為讀取節(jié)點、單元信息子程序;processmat為通過單元坐標計算彈性模量子程序;writeabaqus為輸出子程序。各個子程序的詳細信息這里不再贅述,有興趣或者有需求的同學可以關注文章最后的公眾號或者和作者私下聯(lián)系。
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus靜態(tài)分析圖片1](http://m.09bigdata.com/i/g/10/10f8ae412fe884742d53a1f2403f7ca4r.jpg)
圖1 項目及子程序
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus靜態(tài)分析圖片2](http://m.09bigdata.com/i/g/72/7259eb17725cf939b3ca2e974d2577d9r.jpg)
圖2 inp文件讀取子程序(部分代碼)
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元圖片3](http://m.09bigdata.com/i/g/a5/a505c8513ebcc76f3b23523020dbb643r.jpg)
圖3 inp文件輸出-材料部分(部分代碼)
通過以上敘述不難發(fā)現(xiàn),通過編輯inp文件可以較好的解決材料參數(shù)不為常數(shù)的情況。但是,這需要用戶具有一定的編程基礎,對abaqus的inp計算文件有一定的了解。同理,在其它軟件進行有限元計算時,也可以通過編輯計算文件的方法來解決材料參數(shù)不為常值得情況。
4、Umat方法的簡單實施過程
作為Abaqus提供的用戶自定義子程序中的一種,Umat為用戶自己定義一種新的材料提供了接口。UMAT子程序具有強大的功能,使用UMAT子程序:
(1)可以定義材料的本構關系,對ABAQUS 材料庫進行擴充;
(2)幾乎可以將任何本構關系運用到ABAQUS中的任何單元中;
但是,用戶必須在UMAT中提供材料本構模型的雅可比(Jacobian)矩陣,即應力增量對應變增量的變化率,而實際上,這也是Umat子程序最主要的任務。
承前所述,由于假定彈性模量與坐標相關,使用Umat子程序的首要任務就是找到彈性模量E和坐標之間的關系;之后,才是根據(jù)坐標得到彈性模量和泊松比之后對DDEDDS的編寫。這里,依據(jù)Abaqus的幫助文檔,給出了Umat子程序中一些變量的定義:
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元圖片4](http://m.09bigdata.com/i/g/5c/5c54bf45cb4d1ec4989f76b1140a2dafr.jpg)
圖4 Abaqus提供的Umat函數(shù)接口
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元圖片5](http://m.09bigdata.com/i/g/98/983be42bffa650ae2bc803073698db46r.jpg)
圖5 部分Umat變量定義
詳細的參數(shù)介紹大家可以查看abaqus幫助。不難發(fā)現(xiàn)其中并不包含有單元或者節(jié)點的坐標信息,但是卻包含有單元的單元編號信息(NOEL)。而通過單元編號又可以關聯(lián)起來單元的坐標。
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元圖片6](http://m.09bigdata.com/i/g/9e/9e90a8f783481c4dc338763487b8b48dr.jpg)
圖6 線彈性材料的DDEDDS
圖6中EMOD=PROPS(1)*A(NOEL)/0.125 就是根據(jù)單元NOEL的坐標確定其彈性模量的語句,不難看出這個彈性模量是INP文件中給定的值得A(NOEL)/0.125倍,其中A數(shù)組并不是自定義的數(shù)組,為單元的坐標值數(shù)組。
5、imp和Umat算例
對于如圖8所示的4階魔方結構,x軸左端面約束x方向自由度,x軸右端面加載位移。材料彈性模量由約束面到加載面分別為10、30、50、70GPa,而其對應的單元質心x軸坐標分別為0.125、0.375、0.625、0.875。圖8中所示云圖為單元應變E11。
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元仿真圖片7](http://m.09bigdata.com/i/g/26/26fe38bf13075cefc2a3cbdb54b427e4r.jpg)
圖7(a) 計算文件-材料部分-inp編輯方法
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元仿真圖片8](http://m.09bigdata.com/i/g/48/480910f230f86f7383e1e69b8de4d7cbr.jpg)
圖7(b) 計算文件-材料部分-Umat方法
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元仿真圖片9](http://m.09bigdata.com/i/g/bb/bbda14a3636b820cc7d99b4a0e9eb5a0r.jpg)
圖8 算例結果
6、Python腳本實現(xiàn)
Python大法在abaqus前后處理中具有舉足輕重地位和天然的優(yōu)勢,通過python給單元賦材料屬性非常簡單,本例中,假設每個單元的彈性模量不一樣,并且是一個函數(shù),我們的思路就是遍歷所有的單元,給每一個單元定義一種材料。具體實現(xiàn)如下:
1.模型
以簡單的Cube模型為例,如圖1,注意由于我們是遍歷單元賦材料,Abaqus中模型必須在劃分好網(wǎng)格后再進行賦材料屬性。
![clip_image002.jpg Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元仿真圖片10](http://m.09bigdata.com/i/g/32/32bde48961e3063e813bc2fad0a918fcr.jpg)
圖1 網(wǎng)格模型圖
2. python腳本
下面的代碼較為簡單,注釋也比較清楚,本例中的E的變化是貼主隨意給的,實際中E可能是各種形式,具體案例具體分析。
![Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元培訓資料圖片11](http://m.09bigdata.com/i/g/f0/f0b1a164b0c628d50b2e7fd4ecf90a01r.jpg)
3.結果
賦材料后,以材料區(qū)分來顯示模型,可見每個單元的材料都不一樣,在模型樹菜單也可以看到,python腳本建立了125種材料(共125個單元)
![clip_image006.jpg Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元培訓資料圖片12](http://m.09bigdata.com/i/g/3f/3ff927edcdce153a868d4f23984d980br.jpg)
![clip_image008.jpg Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元培訓教程圖片13](http://m.09bigdata.com/i/g/eb/eb63239c657e2d4a0349afbdd35a0a3ar.jpg)
圖2 不同單元的材料
![blob.png Abaqus中材料參數(shù)不為常數(shù)的3種處理方法abaqus有限元培訓教程圖片14](http://m.09bigdata.com/i/g/ef/ef11351de2df07e00b43a71d73209476r.jpg)
圖3 計算結果
7、總結
我們介紹的三種方法都能很好的解決材料參數(shù)不為常數(shù)的問題,編輯inp和python對單元較少時運行效率較高,但是單元較多時,Umat用起來可能更方便,三種方法大家可以都嘗試一下
最后伙伴們可以長按掃描下面二維碼關注我的公眾號‘CAE仿真實驗室’哦,我們將定期給大家分享有限元仿真干貨,謝謝~
相關標簽搜索:Abaqus中材料參數(shù)不為常數(shù)的3種處理方法 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓