ABAQUS中材料參數不為常數的兩種處理辦法——Part1

在有限元計算中,有時候會碰到材料參數在離散區域內并不是常數的情況,而有限元軟件中一般也沒有給出相應的接口。本文通過兩種方法,即編輯inp文件和使用Umat的方法來實現材料參數與坐標相關的計算。其中,Part1 介紹了兩種方法的需求和基本思路,并就編輯inp方法做了介紹。Part2 介紹Umat方法和算例。由于時間關系,這里先更新Part1 下次更新Part2

Part 1

1目的

在有限元計算中,可能會碰到材料參數(這里以線彈性材料彈性模量E為例)在模型中并不為常值的情況,例如,E與某一坐標相關。大家知道,abaqus材料中材料是在*section對截面屬性定義的時候對單元組進行賦值的。并且GUI中也沒有提供變參數的接口(這里順路提一下,載荷是可以通過函數給出變載荷的,GUI中有接口)。這就需要我們采取一些特殊的措施。本教程給出2種行之有效的方法,它們分別是:(1)編輯inp文件和(2)使用Umat

 

2方法

方法

要求

難度

編輯inp

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

4

使用Umat

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

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

上表中給出兩種方法的一些基本要求,編輯inp文件的方法要求更低,它通過直接編輯inp文件的方法來解決問題。而使用Umat的方法要求更高,需要用戶對子程序有一定的了解,并且也需要會一門編程語言。

同樣是根據坐標確定材料參數,使用Umat時,可以直接通過abaqus用戶子程序自帶的子函數直接獲得單元的節點坐標,進而通過坐標確定材料參數;而使用編輯inp的方法則需要首先通過編寫程序對你已經生成的inp文件(包含節點、單元信息)進行讀取,之后對每一個單元進行材料賦值。從這方面講,對熟悉Umat的用戶而言,使用Umat解決這個問題更為方便。

 

3編輯inp方法的簡要實施過程

Fortran+VS為例,在編輯inp文件時,涉及到了單元節點信息的讀取、計算單元(質心)坐標、計算彈性模量E、和輸出這幾個子程序。如圖1所示,prereadnew為讀取節點、單元信息子程序;processmat為通過單元坐標計算彈性模量子程序;writeabaqus為輸出子程序。各個子程序的詳細信息這里不再贅述,有興趣或者有需求的同學可以關注文章最后的公眾號或者和作者私下聯系。


ABAQUS中材料參數不為常數的兩種處理辦法——Part1的圖1

項目及子程序


ABAQUS中材料參數不為常數的兩種處理辦法——Part1的圖2



2  inp文件讀取子程序(部分代碼)


ABAQUS中材料參數不為常數的兩種處理辦法——Part1的圖3

3  inp文件輸出-材料部分(部分代碼)

 

通過以上敘述不難發現,通過編輯inp文件可以較好的解決材料參數不為常數的情況。但是,這需要用戶具有一定的編程基礎,對abaqusinp計算文件有一定的了解。同理,在其它軟件進行有限元計算時,也可以通過編輯計算文件的方法來解決材料參數不為常值得情況。

 


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

公眾號.gif

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

TOP

16
3
1