
發布
注冊
/
登錄vumat程序開發的案例
vpsc-vumat子程序的開發與應用文章推薦
結合作者的理論(尤其是分段線性化和應力驅動的求解思路)我們可以把獨立的vpsc子程序編寫進abaqus里面,為了避免復雜的雅可比推導,以及適用各種復雜的變形工況,推薦使用abaqus的顯式求解器,即vumat程序
以下展示一個使用vpsc-鎂合金本構模型,模擬包含1個單元,單元包好100個晶粒在RD方向壓縮20%的模擬效果(原始模型參數取自vpsc官方案例,為了減少計算時間使用高應變率進行計算,應力高于vpsc模擬):
等效塑性應變:
第一個晶粒的累計剪切滑移:
發生孿晶次數;
變形后的形狀演化:
君莫全系視頻75折優惠及線下培訓課程介紹
(2)使用UVARM子程序自定義損傷復合材料判據
(3)USDFLD/VUSDFLD子程序原理及開發方法
(4)使用USDFLD子程序實現復合材料結構的漸進損傷分析
(5)使用VUSDFLD子程序實現復合材料結構的漸進損傷分析
第三天
下午
4.Abaqus UMAT子程序開發及應用
5.Abaqus VUMAT子程序深入開發
內容:
(1)UMAT子程序原理、代碼詳解及案例分析。
(2)基于材料斷裂韌性退化的復合材料三維VUMAT子程序開發詳解及案例分析
(3)三維Puck失效理論及其VUMAT子程序實現
(4)材料非線性VUMAT子程序實現
(5)率相關復合材料VUMAT子程序開發(適于高應變率問題求解)
(6)多種VUMAT子程序的調用
(7)可讀取單元號的VUMAT子程序開發
備注
將提供該課程課件、配套CAE模型、多種配套子程序源代碼及多種復合材料輔助建模插件工具
有培訓需求的學員現在開始可以關注啦,詳情請站內聯系。
展開 Abaqus 子程序開發日志07-vumat之anisotropic
(沒測試,自己寫了個umat轉vumat的接口,直接替換的。各向同性的是全寫的,非替換)
基于Abaqus的修正劍橋模型的vumat子程序開發
考慮到莫 爾–庫侖準則有此特征,故將莫爾–庫侖準則與劍橋模型相結合,得
聯合式(1),(4),(5),有改進的屈服函數:
根據上述理論,可以通過以下流程圖完成VUMAT子程序編寫
通過單胞模型計算得到得結果如下圖所示。
[1]袁克闊,陳衛忠,于洪丹,譚賢君,趙武勝,李香玲.考慮黏聚特性和拉壓不等效應的修正劍橋模型及數值實現[J].巖石力學與工程學報,2012,31(08):1574-1579.
最后,有需要歡迎通過微信公眾號聯系我們。
微信公眾號:320科技工作室。

Abaqus 修正劍橋模型的vumat子程序開發
考慮到莫 爾–庫侖準則有此特征,故將莫爾–庫侖準則與劍橋模型相結合,得
聯合式(1),(4),(5),有改進的屈服函數:
根據上述理論,可以通過以下流程圖完成VUMAT子程序編寫
通過單胞模型計算得到得結果如下圖所示。
[1]袁克闊,陳衛忠,于洪丹,譚賢君,趙武勝,李香玲.考慮黏聚特性和拉壓不等效應的修正劍橋模型及數值實現[J].巖石力學與工程學報,2012,31(08):1574-1579.
abaqus剪切修正GTN模型的VUMAT子程序開發
這里對相應的算法進行簡要說明:
NH-GTN模型
屈服函數:
其中等效孔洞體積分數定義為:
孔洞體積分數包含新孔隙形核,原有空隙生長以及剪切相關的等效體積分數增加:
形核,生長,剪切相關體積分數的演化遵循:
其中:
剪切效應的修正,考慮應力狀態的影響
參數的物理含義如下
通過將文獻中的數值算法編程實現在VUMAT子程序中,可以用來實現對延性金屬材料在不同應力狀態下的損傷演化進行合理的數值預測,應用于金屬成型領域(沖壓,軋制,擠壓等)
預測修正后的模型應該在簡單拉伸情況下于abaqus自帶的GTN模型保持相同的損傷和其他狀態變量的分布,并在剪切情況中損傷發展顯著高于abaqus自帶的模型(自帶的模型忽略了剪切效應)。(為了進行對比使用于自帶的本構相同的硬化方式,模擬中使用了相同的質量縮放,但質量縮放容易產生數值振蕩,模擬的拉伸曲線存在波動。)
初步模擬結果:
拉伸情況(abaqus-VUMAT)
應力分情況
孔洞體積分數
剪切模型(abaqus-VUMAT)
不同變形時刻的應力分布
T=0.1s
局部放大圖
T=0.5s
局部放大圖
T=0.6s
局部放大圖
可以看到模型在拉伸預測中與原始模型保持一致,而在剪切修正后損傷發展顯著快于原始模型,利用作者提出的方法可以應用于復雜應力狀態下金屬材料的損傷分析,相關參數部分參考文獻,其中Kw=3.T1=0.2,T2=0.7.模擬結果符合文獻所提出方法的基本趨勢。
最后,如果有相關需要歡迎通過公眾號“320科技工作室”聯系我們。
展開 Abaqus考慮拉壓不對稱的樹脂彈塑性損傷本構vumat子程序開發
計算流程如下
計算流程圖
根據上文的彈塑性損傷模型編寫了vumat子程序,并通過單胞模型進行了驗證,計算結果如下圖所示。
abaqus單胞模型
拉伸載荷下的應力應變曲線
壓縮載荷下的應力應變曲線
技術鄰Abaqus復合材料高級培訓定制(長期有效)
基礎班第二天主要講解復合材料失效理論、面內漸進損傷分析、層間/界面漸進損傷分析、三維VUMAT子程序開發等內容;通過提高班課程的學習,學員能夠掌握Abaqus初始損傷分析、漸進損傷分析、基于Cohesive內聚力模型的層間/界面漸進損傷分析、基于VCCT虛擬裂紋閉合技術的層間/界面裂紋擴展分析以及VUMAT子程序開發與應用等。
基礎班課程大部分都基于Abaqus/CAE進行操作,一小部分需要開發程序,適合尚不熟悉Abaqus復合材料分析的在校學生及工程單位CAE分析人員。
高級班主要講解多種復合材料子程序的開發、Puck失效理論子程序實現、材料非線性表征、率相關特定表征等方面的內容。通過該課程學習,能夠掌握復合材料UVARM子程序、USDFLD子程序、VUSDFLD子程序、UMAT子程序、VUMAT子程序的開發,能夠基于VUMAT子程序進一步針對Puck失效理論、材料非線性、率相關性進行深入開發。該課程幾乎全部涉及程序開發,適合已掌握Abaqus基礎復合材料建模,在失效理論、程序開發、論文發表方面有更深入需求的研究生和科研人員。
【培訓要求】:
培訓期間,學員應自帶筆記本電腦,電腦中預先安裝好Abaqus以及與Abaqus版本對應的Visual Studio和Intel Visual Fortran,并完成Abaqus的子程序驗證。
展開 【12月7日-9日 西安】Abaqus復合材料分析技術培訓班-三天
基礎班第二天主要講解復合材料失效理論、面內漸進損傷分析、層間/界面漸進損傷分析、三維VUMAT子程序開發等內容;通過提高班課程的學習,學員能夠掌握Abaqus初始損傷分析、漸進損傷分析、基于Cohesive內聚力模型的層間/界面漸進損傷分析、基于VCCT虛擬裂紋閉合技術的層間/界面裂紋擴展分析以及VUMAT子程序開發與應用等。
高級班安排在第三天,主要講解多種復合材料子程序的開發、Puck失效理論子程序實現、材料非線性表征、率相關特定表征、子程序調試等方面的內容。通過該課程學習,能夠掌握復合材料UVARM子程序、USDFLD子程序、VUSDFLD子程序、UMAT子程序、VUMAT子程序的開發,能夠基于VUMAT子程序進一步針對Puck失效理論、材料非線性、率相關性進行深入開發。該課程幾乎全部涉及程序開發,適合已掌握Abaqus基礎復合材料建模,在失效理論、程序開發、論文發表方面有更深入需求的研究生和科研人員。
學員可根據自身的條件和需求選擇適合自己的課程進行學習。
【基礎班課程大綱】:
【高級班課程大綱】:
【培訓講義】:
該培訓采用獨家內部講義,該講義分為20個部分,共計256頁,每一部分形成獨立章節,從基本建模操作、理論講解、公式推導到程序編寫全面覆蓋。
展開 VUMAT二次開發各類學習資料 ¥99
包括案例,程序源代碼,VUMAT編程中文講解
Hill VUMat 子程序( ¥20
subroutine vumat(
C Read only -
1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
2 stepTime, totalTime, dt, cmname, coordMp, charLength,
3 props, density, strainInc, relSpinInc,
4 tempOld, stretchOld, defgradOld, fieldOld,
3 stressOld, stateOld, enerInternOld, enerInelasOld,
6 tempNew, stretchNew, defgradNew, fieldNew,
C Write only -
5 stressNew, stateNew, enerInternNew, enerInelasNew )
C
include 'vaba_param.inc'
C
C All arrays dimensioned by (*) are not used in this algorithm
dimension props(nprops), density(nblock),
1 coordMp(nblock,*),
2 charLength(*), strainInc(nblock,ndir+nshr),
3 relSpinInc(*), tempOld(*),
4 stretchOld(*), defgradOld(*),
5 fieldOld(nblock,nfieldv
展開 
ABAQUS 二次開發VUMAT中的NBLOCK的含義
非本人總結,原帖見http://forum.simwe.com/forum.phpmod=viewthread&tid=911118&highlight=nblock
網上有太多的朋友弄不清這個VUMAT中Nblock到底代表什么,這個帖子我覺得是講的最明白了!
原作者Xujianqing ,一絲不茍,值得學習 好帖!
如有侵權,請告之,我立馬刪帖!
1、幫助文件的解釋
Number of material points to be processed in this call to VUMAT.
3、nblock的含義:
Abaqus一次調入vumat進行計算的單元數,是個常數,最大為136。假設模型單元總數為n,令n=a×136+b,其中a整數,b是小于136的整數。則前a×136個單元的nblock值為136,后b個單元的nblock值為b。
4、Abaqus調用vumat的過程
計算一步的過程中每nblock個單元調入一次vumat,即n(n=a×136+b)個單元的計算模型計算一步需要調入a+1次vumat。
理由如下:1250個單元的計算過程計算了1516步,一次調用vumat在data.txt文件中生成1250個隨機數,計算一步調用vumat的次數為Int(1250/136)+1=10。所以data.txt文件中生成的總個數應為1250×10×1516=1.895E7個。打開data.txt文件發現數據總個數為2.33E7,略大于1.895E7,這是因為還有一些計算步被終止,并未顯示。
原作者附帶的案例說明文檔一并轉載到此
最近的一點收獲以前總沒確切的理解VUMAT里面Nblock的含義,只是簡單理解為計算模型總的高斯點數。
nblock .rar
展開 VUMAT子程序使用方法
VUMAT子程序使用方法
在ABAQUS屬性模塊(property)中
1. props ( * )
* 數值代表在在User Material 中填寫的對應數值,例如E1 = props(1) 對應的是對一個數值130000,即后續在子程序中出現E1代表數值130000。
2. 子程序中stateNew(k,*) 與Depvar相對應
②代表變量stateNew(k,*) 的總數,填寫方法為:檢查.for文件中stateNew(k,*)中*的最大值,填寫要求是大于這個最大值均可。例如.for文件中stateNew(k,*)中*的最大值為9,即填寫比9大的數值都是可以的,例如9,10,11 …..均可。③對應單元刪除狀態變量,即找出單元刪除判定條件,滿足對應的損傷變量大于等于1,一般取纖維拉伸損傷變量(纖維方向應力S11大于0下的損傷)
if (statenew(k,*) .ge. one ) then
stateNew(k,**) = zero
end if
此時**就是單元刪除變量,即填寫③中。
②和③的區別,②的狀態變量初始值(除③對應的數值)均為0;③的狀態變量默認值是1,及初始值stateNew(k,11)=1
3.在Job模塊中
選擇General > User subroutine file 文件夾中對應的子程序 .for 文件,確保目錄文件名均為英文名稱,然后提交任務即可。
展開 求購VUMAT子程序
求得基于應變的Hashin,Chang-Chang三維損傷失效判據的VUMAT子程序,有償,私聊,謝謝
VUMAT子程序簡介
VUMAT子程序簡介