
發布
注冊
/
登錄UMAT子程序開發的案例
Abaqus內置LaRC05失效準則子程序(附cohesive單元umat子程序開發教程)
Abaqus從2017版本開始,內置了UVARM和DMGINI兩種子程序供用戶調用。UVARM子程序需要以“ABQ_LARC05_DMGCRT”作為材料名的前綴,可以用來評估是否滿足LaRC05強度指標;DMGINI子程序需要以“ABQ_LARC05_DMGINI”作為材料名前綴,可以結合XFEM來分析裂紋萌生和擴展。
在abaqus中可以通過修改關鍵字來進行模型設置
UVARM設置
DMGINI設置
輸出變量的含義
計算結果
此外,如果有小伙伴希望學習cohesive單元的umat子程序開發相關技術,可以關注下圖的教程:
點擊鏈接進入了解詳情:Abaqus Cohesive單元介紹及其本構的Umat子程序開發教程
最后,有ABAQUS子程序開發相關需求歡迎通過微信公眾號聯系我們。
微信公眾號:320科技工作室。
展開 有限元理論基礎及Abaqus內部實現方式研究系列8:UMAT用戶子程序開發步驟(原創)
而現在市面上還沒有采用Matlab來開發商軟子程序的案例并不是dll混編語言的實現方式有多難,而是需要一種基于Matlab的調試方式,在Matlab中要重復商軟的有限元流程,并實現和商軟的雙向接口。iSolver是市面上第一款基于Matlab來開發商軟用戶子程序的軟件工具,支持用Matlab編寫和調試用戶子程序,并實現和Abaqus求解器的迭代調用。
本文首先簡單的討論了UMAT的一般含義,并詳細的介紹了基于Fortran和Matlab兩種方式的UMAT的開發步驟,對比發現開發步驟基本相同,同時采用Matlab更加高效和靈活。最后采用同一個算例驗證兩者分析結果完全一致,從而證明基于Matlab的UMAT的流程和結果的正確性。
==演示視頻==
https://www.yqgqt.org.cn/college/video/c12884
章節5:基于Matlab開發Abaqus的UMAT用戶子程序,視頻演示了基于Matlab的UMAT的開發步驟,并和Abaqus自帶材料對比證明結果的正確性。
展開 【7月20-21日 上海】Abaqus UMAT用戶子程序二次開發技術培訓
理論和實際操作結合,一次性將abaqus UMAT用戶子程序開發課程講解透徹!
至于python的自動化和GUI部分內容的操作練習,如有此方面需求,將有老師帶領學習。
背景介紹:
Abaqus是當今最流行的通用結構有限元軟件之一,以其強大的非線性和良好的用戶體驗著稱。但在實際工程應用中,設計對象專業針對性強,通用的工具軟件往往解決不了專業問題,需要通過二次開發對商業軟件進行定制和優化,集成高精度的計算方法和專有技術,以更好的解決專業問題,甚至形成自主品牌的CAE軟件。
ABAQUS不僅提供標準的有限元分析程序,而且具有良好的開放性,可利用它提供的用戶子程序接口生成非標準的分析程序來滿足用戶的需要,在實際工程中得到廣泛應用。
Abaqus UMAT是ABAQUS提供給用戶定義自材料屬性的程序接口。通過UMAT,用戶可以定義材料的本構關系,建立Abaqus材料庫沒有的材料本構模型,滿足實際工程分析的需要。
本次培訓主要包括:
(1) Abaqus二次開發整體介紹;
(2) UMAT接口原理和使用方法;
(3) 材料本構模型和基礎理論
(4) 基于Fortran和Matlab的UMAT編寫示例和練習。
通過本次培訓,學員可以:
(1) 學員在老師指導下完成用戶子程序開發環境配置;
(2) 建立UMAT編寫相關的理論基礎;
(3) 可自行從零開始構建UMAT算例;
(4) 學員實際項目問題現場交流;
(5) 和專家及其它行業用戶深入溝通,并獲得長期的技術支持。
培訓方式:
培訓主要采用:
(1) PPT介紹;
(2) 老師操作演示;
(3) 學員上機練習。
三者結合的方式直觀的學習各個知識點。
講師介紹:
技術鄰ID:SnowWave02 團隊,3個講師同時授課。
展開 Abaqus子程序開發過程中的那些坑(給初學者的建議)
比如,在USDFLD場變量子程序或者UMAT自定義材料子程序開發過程中,當需要獲取積分點上的應力、應變等數據時,就可以通過“Utility Routines”中的GETVRM程序實現,如下:
CALL GETVRM('VAR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
LACCFLA)
02
案例參考指南
案例參考指南中包含了大量Abaqus分析 案例,其中更多的案例是跟子程序無關的,要想找到自己想要學習的案例,通過關鍵字進行搜索即可,如上圖所示,想要學習UMAT子程序開發,只需要搜索"UMAT"關鍵字即可。可以發現在靜力分析部分有57條與UMAT這個關鍵字相關的信息,可以逐個打開,也可以打開對應關鍵字信息最多的章節查看。
比如打開損傷與斷裂一章,其中有一節是纖維-金屬復合材料(GLARE層板)開孔板失效分析的案例,記住一句話,案例參考指南中必定有模型文件和源代碼!運氣好的時候連參數化python建模腳本都有。
那么,打開這一節內容,看一看案例指南的套路:
(1)首先是交代當前案例問題的背景,并做內容概述
(2)模型信息介紹,包括幾何、材料、分析類別、邊界載荷等
(3)理論詳解:因為這個案例是要自定義一種復合材料的損傷本構模型,所以要把用到的本構關系講解清楚、包含了損傷起始判據、損傷演化、剛度折減等,想學復合材料UMAT子程序開發的同學看到這里眼前是不是一亮?
剛度折減和雅可比矩陣都給你準備好了。
(4)模型介紹完了以后會展示一些計算結果。
展開 
Abaqus 子程序開發日志01-umat之isotropic
分別用自帶的各向同性材料屬性與umat子程序進行計算。
自帶的材料屬性的設定以及模型的建立、邊界條件的設定不再說明,只對umat的使用進行說明。
此次直接使用編譯好的二進制文件,在材料屬性的輸入過程,在通用中找到用戶自定義材料,輸入設定的參數,第一個為楊氏模量,第二個為泊松比。如圖所示:
點擊ok就好,其余的和平時操作一致,只需在最后提交job時提供用戶子程序。
然后提交計算就好。結果如圖所示:
到此結束。cae文件如下:
umattest.cae
若選用縮減積分單元時要開啟沙漏控制。
各向同性umat:
isotropic-std.obj
共享庫:
standardU.dll
展開 LS-DYNA用戶子程序(UMAT)開發案例
最近在International Journal of Impact Engineering(中科院一區)上看到一篇文章,題目是”Plasticity based material model for concrete subjected to dynamic loadings(https://doi.org/10.1016/j.ijimpeng.2020.103581)“,作者開發了一個適用于描述動態荷載作用下混凝土力學響應的塑性模型,并在LS-DYNA中通過用戶自定義子程序(UMAT)二次開發的方式實現了模型。論文中展示的模擬效果圖如下:
模擬鋼筋混凝土板的爆炸響應
我和這個作者要到了他開發的UMAT源代碼,在這里給大家共享一下,對于想學習LS-DYNA子程序開發的絕對是不可多得的資料(免費共享,不負責答疑哦)
(希望大家下載了關注我一下就行,有空可以看看我發的各種教學視頻和資料貼,985高校在讀博士,長期穩定更新各種內容)
UMAT.f
展開 Abaqus 子程序開發日志05-umat之fully anisotropic
此umat的材料參數設置參考abaqus,參數自上而下分別為:
使用方法和之前一致。
若選用縮減積分單元時要開啟沙漏控制。
完全各向異性umat:
fullyanisotropic-std.obj
共享庫:
standardU.dll
Abaqus復合材料Larc05失效準則Umat子程序開發
之前在https://www.yqgqt.org.cn/content/post/1279990 這個帖子里介紹了Abaqus內置的Larc05子程序調用方法,因為內置的Larc05子程序是通過Udmgini子程序結合Xfem來實現的,因此還是存在一定的局限性的。本帖考慮了復合材料的剪切非線性行為,在材料本構中引入了Hahn-Tsai的剪切非線性模型
式中,β為剪切非線性因子。
通過編寫Umat子程序,對復合材料的損傷行為進行了模擬,計算結果如下。
90度鋪層損傷和載荷位移曲線
0度鋪層損傷和載荷位移曲線
45度鋪層損傷和載荷位移曲線
由上圖可以看出,引入剪切非線性后,45度鋪層試驗件的拉伸曲線表現出明顯的非線性行為
有關于子程序二次開發或者復材仿真的問題可以聯系QQ1653004885或者關注CAE320公眾號
展開 UMAT子程序(晶體塑性力學)經典案例-單胞模型(inp+UMAT文件+子程序對應的本構模型文件) ¥10
這份資料是從事固體力學研究幾年經典推薦教程,助你在有限元仿真理論部分有更深入的理解和認識,同時對有限元材料本構模型的UMAT子程序的編寫、材料參數的設置、ABAQUS的前處理有更加深入的感悟。
附件中文件:inp單胞模型,UMAT晶體塑性經典子程序,子程序對應的經典說明,固體力學國際經典教程(Computational Methods for Plasticity),ABAQUS工程項目前處理經典教程。
看好再購買,售出不退,謹慎入手
線性強化彈塑性umat子程序系列-子程序詳解 ¥5
對于這個問題,通過簡單計算可以發現試樣已經發生塑性變形,通過自編的Umat子程序計算最后試樣應力為509.1MPa。我們知道這個問題是有理論解的,下面我們來求理論解。
先求硬化系數H
總的應變為
聯立后,試樣的軸向應力為
基于Umat子程序的計算結果與理論值完全一致。
接下來請大家觀看Umat子程序逐句編寫視頻,也歡迎大家下載本次的Abaqus模型文件和*.for文件。
或者觀看視頻教程。
http://www.yqgqt.org.cn/college/video/c14014
線彈性UMAT子程序驗證-對初級子程序用戶很有幫助 ¥3
umat子程序可以定義材料的本構關系,abaqus 中自帶的材料模型通常為成熟的材料模型,當新的材料行為被發現時,通常沒法應用自帶的材料的模型,這時就需要用到umat子程序。現在以大家熟知的線彈性模型為例,以熟悉uamt子程序的語法結構,并驗證其正確性。
問題描述:
一個0.2×0.2×1m的由Q235鋼組成的細桿,其一端固定,另一端面上施加100Mpa的拉力,我們都知道Q235鋼的屈服極限為235Mpa,因此這是個線彈性問題,可以用abaqus自帶的材料模型解決,但是為了熟悉umat子程序語法結構并驗證其正確性,這里用umat子程序自定義材料本構關系,對上述簡單拉伸問題進行模擬。
具體步驟如下:
1、建立部件
2、輸入材料參數
3、創建實例
4、定義分析步
5、定義邊界條件
6、劃分網格
7、提交作業
8、顯示結果
我們在細桿上任選一點,z方向的應力為100Mpa,計算結果正確,從而驗證了umat子程序的正確性。
接下來,通過視頻的形式給大家詳細介紹本算例的umat子程序
展開 
一個abaqus用戶材料子程序(UMAT)問題解決說明 附Abaqus用戶子程序專題下載
在開展abaqus用戶子程序的項目時,容易出現很多bug問題,下面是一個比較典型的容易遇到的報錯。
The job input file "Job-1.inp" has been submitted for analysis.
Job Job-1: Analysis Input File Processor aborted due to errors.
Error in job Job-1: Analysis Input File Processor exited with an error.
檢查工作路徑下的log文件(Job-1.log),提示無法識別“ifort”,這就意味著這個命令在系統路徑中無法被識別。實際上,“ifort”適用于編譯Fortran文件的,如果無法使用則無法完成編譯。
log文件內容
為了解決這個問題,在系統文件中找到“ifort.exe”,并將其添加到環境變量path中,然后重啟軟件即可解決。
添加路徑
下載地址:Abaqus用戶子程序專題
展開 一種可用于形狀記憶合金(SMA)的UMAT子程序 ¥29.99
多尺度模型
子程序考慮微觀晶粒與宏觀單元的相互作用:
1) 宏觀單元由多個晶粒組成,每個晶粒的相變行為獨立計算;
2) 單元整體響應為各晶粒響應的加權平均,可模擬晶粒取向對宏觀行為的影響(如案例中 Element 1 及其不同晶粒的應變差異)。
3、 案例介紹和結果對比
1. 案例介紹
為驗證 UMAT 子程序的有效性,構建 NiTi 合金單向拉伸模型,參數如下:
幾何尺寸:矩形試件,長寬高均為1mm;
加載條件:位移控制加載,位移范圍0-0.05mm
材料參數:楊氏模量 E=40GPa,泊松比 ν=0.33,初始屈服應力 σ0=353MPa,相變臨界應力 σ_f=381MPa(正向)、σ_s=141MPa(反向)。
2.結果對比
實驗數據與模型預測結果如圖 1 所示(曲線趨勢與文獻 [鄒京辰等,2025] 一致):
試件的力 - 位移曲線和應力-應變曲線均呈現典型超彈性特征:加載階段因奧氏體→馬氏體相變出現應力平臺,卸載階段因反向相變應力驟降;
曲線趨勢與文獻結果基本吻合,驗證了子程序對相變力學行為的精準捕捉。
這個 UMAT 展示了如何在標準塑性框架內嵌入相變效應,為模擬如形狀記憶合金 (SMA)、相變誘發塑性 (TRIP) 鋼等智能材料或先進金屬提供了基礎。理解和應用此代碼需要對彈塑性力學理論、ABAQUS UMAT 接口和特定材料的相變機制有深入的了解。
4、 代碼解釋以及案例文件(inp,umat子程序)
展開 有限元理論基礎及Abaqus內部實現方式研究系列36:DLOAD用戶子程序開發步驟
通用結構有限元軟件iSolver介紹視頻:
http://www.yqgqt.org.cn/college/video/c12884
==第36篇: DLOAD用戶子程序開發步驟==
前段時間很多朋友都問我們iSolver怎么實現DLOAD子程序,相比前面第八、九篇介紹的UMAT用戶自定義材料的開發,第二十、二十三篇介紹的UEL用戶自定義單元的開發,DLOAD要簡單很多,可以說,沒有任何復雜的算法,所以我們在此也僅僅介紹一下DLOAD的開發步驟,也順便給iSolver用戶提供一個簡單的算例幫助大家更好的使用iSolver的DLOAD功能。
實際生活中很多時候載荷是隨著某些物理量變化的,最常見的是隨著時間或者位置的變化,如果僅僅是隨著時間變化,那么在Abaqus中可以用Amplitude設置一個載荷和時間的對應表就行了;如果僅僅是隨著加載位置變化,那么可以直接把載荷位置獨立劃分出來,譬如設成一個單獨Set,在整個時間段內都只在該位置加載就行。那如果載荷既隨時間變化,同時在時間推進過程中加載位置也在變怎么辦呢?
譬如大壩的水位隨著潮汐的作用一天內會不同,導致不同時間段對大壩的水壓也不同。再譬如汽車在大橋上行駛,每一個時刻車子所在位置不同,對橋的荷載自然也不同了。
上述這些情況就必須要用到子程序了,如果是分布載荷,那么就是DLOAD子程序,DLOAD主要是將用戶特定的分布載荷隨時間、單元、積分點等變化算法編寫為計算機語言表示的公式,并實現和求解器之間的交互迭代。
展開 一個abaqus用戶材料子程序(UMAT)問題解決說明 附UMAT_Hashin3D下載
在開展abaqus用戶子程序的項目時,容易出現很多bug問題,下面是一個比較典型的容易遇到的報錯。
The job input file "Job-1.inp" has been submitted for analysis.
Job Job-1: Analysis Input File Processor aborted due to errors.
Error in job Job-1: Analysis Input File Processor exited with an error.
檢查工作路徑下的log文件(Job-1.log),提示無法識別“ifort”,這就意味著這個命令在系統路徑中無法被識別。實際上,“ifort”適用于編譯Fortran文件的,如果無法使用則無法完成編譯。
log文件內容
為了解決這個問題,在系統文件中找到“ifort.exe”,并將其添加到環境變量path中,然后重啟軟件即可解決。
添加路徑
下載地址:UMAT_Hashin3D
展開