
發布
注冊
/
登錄用戶材料子程序開發的案例
一個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用戶子程序專題
展開 Abaqus用戶子程序安裝、開發、調試
引言
Abaqus為用戶提供了大量的用戶子程序,用戶可以通過子程序接口開發Abaqus原本不具備的單元、材料、載荷等。此外,利用子程序能幫助我們去理解、推測Abaqus的計算過程,這對國產自主軟件對標Abaqus功能開發具有一定的參考意義。
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用戶材料子程序管道爆炸
在ABAQUS中做管道內壓爆炸CEL模擬,采用vumat進行子程序定義
當管道為單層網格時,流固耦合效果好。當管道為多層網格時,采用abaqus自帶的材料及損傷可以實現模擬,使用vumat進行模擬流固耦合效果就很差(內部氣體漏氣、等效塑性應變分布不正確、計算迭代等),這是什么原因

【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內部實現方式研究系列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內部實現方式研究系列20: UEL用戶子程序開發步驟
在實際工作中,很多工程師用Matlab來編寫和推導公式,Matlab被認為是市面上最接近草稿紙上推導公式的一款軟件了,而且有限元在數值層面上的計算其實就是矩陣運算,所以Matlab這種數據按矩陣來組織非常適合用來開發有限元相關的程序。而現在市面上還沒有采用Matlab來開發商軟子程序的案例。iSolver是市面上第一款基于Matlab來開發商軟用戶子程序的軟件工具,支持用Matlab編寫和調試用戶子程序。iSolver子程序的接口完全按照Abaqus的標準實現,而Abaqus的子程序接口在近幾年內已經基本不再變化了,同樣的,雖然iSolver在不斷發展,但iSolver子程序接口將維持不變,所有在iSolver上編寫的算法子程序都只要維護自己的算法部分就行,而不是維護整個有限元求解的整個過程。
前面第八、九篇介紹了UMAT用戶自定義材料的開發,這里將介紹UEL用戶自定義單元的開發,本文首先簡單的討論了UEL的一般含義,并詳細的介紹了基于Fortran和Matlab兩種方式的UEL的開發步驟,對比發現開發步驟基本相同,同時采用Matlab更加高效和靈活。
展開 有限元理論基礎及Abaqus內部實現方式研究系列8:UMAT用戶子程序開發步驟(原創)
==第八篇:UMAT用戶子程序開發步驟==
用戶子程序主要是將用戶特定的材料本構模型和單元算法等公式編寫為計算機語言表示的公式,并實現和商軟求解器之間的交互迭代,UMAT用戶自定義材料是其中比較重要的一類子程序。常用的商業有限元軟件都提供了用戶自定義子程序的功能,且一般都是Fortran語言開發,Fortran是上世紀70年代的語言,相對現代化的流行語言編寫,格式要求非常嚴格,編譯調試都比較繁瑣,使得開發效率低下,而且接口限制較多,除了商軟提供的功能外用戶基本沒法改動,靈活性較差。由于用戶子程序很多都涉及復雜的公式編寫,用戶除了需要扎實的理論基礎外,還需要較強的能將公式表達為Fortran語言的編程能力,這對非計算機專業出身的人來說往往在浪費了很多額外精力,使得很多理論高手都對用戶子程序望而卻步,難以入門。
商軟的用戶子程序的內部都是采用dll動態鏈接庫的形式實現的,商軟只是規定好接口并設置觸發尋找動態鏈接庫的機制,譬如當發現關鍵詞*User Material,主程序就調用指定dll中UMAT這個函數,至于這個dll是用什么語言編譯過來的,主程序不會管,只要這個函數包括相同的變量名就行,主程序就會將數據傳遞到這些變量中,同時從規定的變量名中讀取子程序的運行結果,整體流程和一般的混編語言開發類似。
如果了解了商軟的用戶子程序的實現原理后,完全可以用Matlab來代替Fortran開發子程序。在實際工作中,很多工程師用Matlab來編寫和推導公式,Matlab被認為是市面上最接近草稿紙上推導公式的一款軟件了,而且有限元在數值層面上的計算其實就是矩陣運算,所以Matlab這種數據按矩陣來組織非常適合用來開發有限元相關的程序。
展開 尋求合作(復合材料LaRC03~05)umat的用戶自定義子程序
我目前想開展,復合材料損傷準則LaRC03~05,umat的用戶自定義子程序編程工作
本人在umat和uel方面有多年的經驗,但是沒有時間去編寫,目前基本理論和文獻調研工作已經完成,尋求對此感興趣的合作者!
代碼共享,我負責解決umat的執行過程中的框架和關鍵技術問題
有意向者站內ps給我
ABAQUS/Standard 用戶材料子程序實例 - Johnson-Cook 金屬本構模型
ABAQUS_Standard用戶材料子程序實例.pdf
abaqus 材料子程序開發
小妹最近想學習abaqus材料子程序開發,請問一下高手,需要哪些軟件方面的支持呢,是不是安裝visual studio和fotran就可以了,我的abaqus是6.7的,另外兩個軟件需要什么版本的呢。多謝多謝

一個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
展開 Abaqus用戶子程序USDFLD實例詳解-復合材料層壓板漸進損傷強度
Abaqus用戶子程序USDFLD實例詳解--復合材料層壓板漸進損傷強度分析
1、用USDFLD子程序漸進損傷分析方法分析層壓板的強度。
2、層壓板由25層單層板組成,單層板厚度為0.15mm。層壓板的鋪層順序、單層板的材料屬性見下表。
3、層壓板幾何尺寸:
厚度 T = 3.75mm;
寬度 W = 12mm;
長度 L >1.5W。
L可以任取,主要研究材料性能,為研究大部件性能做參考。
4、加載方式:沿長度方向施加壓縮載荷,在本例中施加位移載荷,讀取相應的力。
詳細步驟:
code.zip
Abaqus用戶子程序USDFLD實例詳解.rar
展開 Abaqus復合材料Larc05失效準則Umat子程序開發
LaRC05準則是NASA蘭利研究中心關于復合材料強度計算的理論。其吸收了Puck準則中關于基體失效的預測方法,并提出Kinking模型來描述纖維壓縮失效的起始。還考慮了就位強度、材料非線性等復雜問題近年來受到廣泛關注。
之前在https://www.yqgqt.org.cn/content/post/1279990 這個帖子里介紹了Abaqus內置的Larc05子程序調用方法,因為內置的Larc05子程序是通過Udmgini子程序結合Xfem來實現的,因此還是存在一定的局限性的。本帖考慮了復合材料的剪切非線性行為,在材料本構中引入了Hahn-Tsai的剪切非線性模型
式中,β為剪切非線性因子。
通過編寫Umat子程序,對復合材料的損傷行為進行了模擬,計算結果如下。
90度鋪層損傷和載荷位移曲線
0度鋪層損傷和載荷位移曲線
45度鋪層損傷和載荷位移曲線
由上圖可以看出,引入剪切非線性后,45度鋪層試驗件的拉伸曲線表現出明顯的非線性行為
有關于子程序二次開發或者復材仿真的問題可以聯系QQ1653004885或者關注CAE320公眾號
展開 線彈性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子程序
展開