Abaqus中計材料參數不為常數的兩種處理方法
2017-03-18 by:CAE仿真在線 來源:互聯網
1目的
在有限元計算中,可能會碰到材料參數(這里以線彈性材料彈性模量E為例)在模型中并不為常值的情況,例如,E與某一坐標相關。大家知道,abaqus材料中材料是在*section對截面屬性定義的時候對單元組進行賦值的。并且GUI中也沒有提供變參數的接口(這里順路提一下,載荷是可以通過函數給出變載荷的,GUI中有接口)。這就需要我們采取一些特殊的措施。本教程給出2種行之有效的方法,它們分別是:(1)編輯inp文件和(2)使用Umat。
2方法
方法 |
要求 |
難度 |
編輯inp |
會一門編程語言,能夠完成對文本文件的讀取和寫入 |
4星 |
使用Umat |
會使用abaqus的Umat用戶子程序,計算文件中不需要使用其它的用戶子程序 |
3星(如果對abaqus用戶子程序不熟悉,則為5星) |
上表中給出兩種方法的一些基本要求,編輯inp文件的方法要求更低,它通過直接編輯inp文件的方法來實現。而使用Umat的方法要求更高,需要用戶對子程序有一定的了解,并且也需要會一門編程語言。
同樣是根據坐標確定材料參數,使用Umat時,可以直接通過abaqus用戶子程序自帶的子函數直接獲得單元的節點坐標,進而通過坐標確定材料參數;而使用編輯inp的方法則需要首先通過編寫程序對你已經生成的inp文件(包含節點、單元信息)進行讀取,之后對每一個單元進行材料賦值。從這方面講,對熟悉Umat的用戶而言,使用Umat解決這個問題更為方便。
3編輯inp方法的簡要實施過程
以Fortran+VS為例,在編輯inp文件時,涉及到了單元節點信息的讀取、計算單元(質心)坐標、計算彈性模量E、和輸出這幾個子程序。如圖1所示,prereadnew為讀取節點、單元信息子程序;processmat為通過單元坐標計算彈性模量子程序;writeabaqus為輸出子程序。各個子程序的詳細信息這里不再贅述,有興趣或者有需求的同學可以關注文章最后的公眾號或者和作者私下聯系。

圖1 項目及子程序

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

圖3 inp文件輸出-材料部分(部分代碼)
通過以上敘述不難發現,通過編輯inp文件可以較好的解決材料參數不為常數的情況。但是,這需要用戶具有一定的編程基礎,對abaqus的inp計算文件有一定的了解。同理,在其它軟件進行有限元計算時,也可以通過編輯計算文件的方法來解決材料參數不為常值得情況。
4 Umat方法的簡要實施過程
作為Abaqus提供的用戶自定義子程序中的一種,Umat為用戶自己定義一種新的材料提供了接口。UMAT子程序具有強大的功能,使用UMAT子程序:
(1)可以定義材料的本構關系,對ABAQUS 材料庫進行擴充;
(2)幾乎可以將任何本構關系運用到ABAQUS中的任何單元中;
但是,用戶必須在UMAT中提供材料本構模型的雅可比(Jacobian)矩陣,即應力增量對應變增量的變化率,而實際上,這也是Umat子程序最主要的任務。
承前所述,由于假定彈性模量與坐標相關,使用Umat子程序的首要任務就是找到彈性模量E和坐標之間的關系;之后,才是根據坐標得到彈性模量和泊松比之后對DDEDDS的編寫。這里,依據Abaqus的幫助文檔,給出了Umat子程序中一些變量的定義:

圖4 Abaqus提供的Umat函數接口

圖5 部分Umat變量定義
詳細的參數介紹大家可以查看abaqus幫助。不難發現其中并不包含有單元或者節點的坐標信息,但是卻包含有單元的單元編號信息(NOEL)。而通過單元編號又可以關聯起來單元的坐標。

圖6 線彈性材料的DDEDDS
圖6中EMOD=PROPS(1)*A(NOEL)/0.125 就是根據單元NOEL的坐標確定其彈性模量的語句,不難看出這個彈性模量是INP文件中給定的值得A(NOEL)/0.125倍,其中A數組并不是自定義的數組,為單元的坐標值數組。
5 算例
對于如圖8所示的4階魔方結構,x軸左端面約束x方向自由度,x軸右端面加載位移。材料彈性模量由約束面到加載面分別為10、30、50、70GPa,而其對應的單元質心x軸坐標分別為0.125、0.375、0.625、0.875。圖8中所示云圖為單元應變E11。

圖7(a) 計算文件-材料部分-inp編輯方法

圖7(b) 計算文件-材料部分-Umat方法

圖5 算例結果
相關標簽搜索:Abaqus中計材料參數不為常數的兩種處理方法 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓