
發(fā)布
注冊
/
登錄GETVRM的案例
Abaqus用戶子程序USDFLD調(diào)用GETVRM 返回值為0
SDEG云圖是有數(shù)值的但是調(diào)用一直為零麻煩各位大佬幫忙看看 以下是源代碼 SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT, 1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER, 2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO, 3 LACCFLA) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME,ORNAME CHARACTER*3 FLGRAY(15) DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3), 1 T(3,3),TIME(2) DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*), 1 COORD(*) C real alfa,K0,D,DAMAGED_K,K PARAMETER(TOLER=1.0E-6) alfa=4.0 K0=1.0E-6 C Absolute value of current strain: CALL GETVRM('SDEG',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, 1 MATLAYO,LACCFLA) D=ARRAY(1) IF (D.LE.TOLER) THEN D=0 END IF DAMAGED_K=EXP(alfa*D) K=K0*DAMAGED_K C field variable FIELD(1)=D C state variable STATEV(1)=D STATEV(2)=K C If error, write comment to .DAT file: IF(JRCD.NE
展開 減振橡膠疲勞黏滯生熱的仿真分析-源文件與子程序詳解
('TEMP',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C TEM = ARRAY(1)C C Store temperature as a solution dependent state variableC STATEV(2) = TEM CC Value of current strain :C call getvrm('NEP',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C DSTRAIN = abs(ARRAY(1))CC Maximum value of strain up to this point in time:C call getvrm('SDV',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C EPSMAX = ARRAY(1)CC Store maximum value of strain as a solution dependent state variableC STATEV(1) = MAX(DSTRAIN,EPSMAX)C C MINrage value of strainC if(time(2).eq.1) thenCC Store MINrage value of strain as a solution dependent state variableC STATEV(3) = STATEV(1)CC Write StrainMIN to msg fileCC
展開 abaqus橡膠熱仿真:減振橡膠疲勞黏滯生熱的仿真分析-源文件與子程序詳解
('TEMP',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C TEM = ARRAY(1)C C Store temperature as a solution dependent state variableC STATEV(2) = TEM CC Value of current strain :C call getvrm('NEP',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C DSTRAIN = abs(ARRAY(1))CC Maximum value of strain up to this point in time:C call getvrm('SDV',array,jarray,flgray,jrcd, 1 jmac, jmtyp, matlayo, laccflg)C EPSMAX = ARRAY(1)CC Store maximum value of strain as a solution dependent state variableC STATEV(1) = MAX(DSTRAIN,EPSMAX)C C MINrage value of strainC if(time(2).eq.1) thenCC Store MINrage value of strain as a solution dependent state variableC STATEV(3) = STATEV(1)CC Write StrainMIN to msg fileCC
展開 Abaqus安全系數(shù)的實現(xiàn)——UVARM子程序 ¥2
材料實際應(yīng)力可表示為
因此,需要在代碼中通過GETVRM調(diào)用相應(yīng)的應(yīng)力分量S11、S22、S33、S12、S13和S23。
除此之外,還需要在前處理中設(shè)置:
(1) NUVARM為材料屬性中定義的Number of user-defined variables at each material point數(shù)量,設(shè)置界面如下圖1所示。如NUVARM=3,則在子程序中需要定義UVAR(1)、UVAR(2)和UVAR(3)。
圖1
(2) 為能夠在后處理中顯示該自定義變量,還需要在Step模塊中場變量輸出請求中勾選UVARM,如下圖2所示。
圖2
下面在實例中應(yīng)用UVARM子程序以在后處理中顯示安全系數(shù)云圖。下圖3是由軸承座、軸承和軸組成的裝配體,所用的材料有QT600(屈服強度850MPa)和45鋼(355MPa)。在Properties中設(shè)置UVARM的數(shù)量為3個;在Step場變量輸出請求中勾選UVARM。在軸兩端分別施加向下的10000N載荷。
圖3
如下圖4所示的是UARM1云圖,其對應(yīng)的是45鋼的安全系數(shù)云圖,即屈服強度(355)與材料實際應(yīng)力之比。軸承與軸區(qū)域的安全系數(shù)顯示是正確的。然而,材質(zhì)為QT600的軸承座安全系數(shù)并不正確。
圖4
如下圖5所示的是UARM2云圖,其對應(yīng)的是QT600的安全系數(shù)云圖,即屈服強度(850)與材料實際應(yīng)力之比。軸承座區(qū)域的安全系數(shù)顯示的是正確的。然而,材質(zhì)為45鋼的軸承和軸安全系數(shù)并不正確。
圖5
從上面UARM1和UVARM2云圖中可以看出,兩種材質(zhì)在不同的安全系數(shù)云圖中顯示數(shù)值不一樣。因此,需要單獨顯示相應(yīng)材質(zhì)的結(jié)構(gòu)件才能獲得正確的安全系數(shù)值。
展開 
Abaqus子程序開發(fā)過程中的那些坑(給初學(xué)者的建議)
比如,在USDFLD場變量子程序或者UMAT自定義材料子程序開發(fā)過程中,當(dāng)需要獲取積分點上的應(yīng)力、應(yīng)變等數(shù)據(jù)時,就可以通過“Utility Routines”中的GETVRM程序?qū)崿F(xiàn),如下:
CALL GETVRM('VAR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
LACCFLA)
02
案例參考指南
案例參考指南中包含了大量Abaqus分析 案例,其中更多的案例是跟子程序無關(guān)的,要想找到自己想要學(xué)習(xí)的案例,通過關(guān)鍵字進行搜索即可,如上圖所示,想要學(xué)習(xí)UMAT子程序開發(fā),只需要搜索"UMAT"關(guān)鍵字即可??梢园l(fā)現(xiàn)在靜力分析部分有57條與UMAT這個關(guān)鍵字相關(guān)的信息,可以逐個打開,也可以打開對應(yīng)關(guān)鍵字信息最多的章節(jié)查看。
比如打開損傷與斷裂一章,其中有一節(jié)是纖維-金屬復(fù)合材料(GLARE層板)開孔板失效分析的案例,記住一句話,案例參考指南中必定有模型文件和源代碼!運氣好的時候連參數(shù)化python建模腳本都有。
那么,打開這一節(jié)內(nèi)容,看一看案例指南的套路:
(1)首先是交代當(dāng)前案例問題的背景,并做內(nèi)容概述
(2)模型信息介紹,包括幾何、材料、分析類別、邊界載荷等
(3)理論詳解:因為這個案例是要自定義一種復(fù)合材料的損傷本構(gòu)模型,所以要把用到的本構(gòu)關(guān)系講解清楚、包含了損傷起始判據(jù)、損傷演化、剛度折減等,想學(xué)復(fù)合材料UMAT子程序開發(fā)的同學(xué)看到這里眼前是不是一亮?
剛度折減和雅可比矩陣都給你準(zhǔn)備好了。
(4)模型介紹完了以后會展示一些計算結(jié)果。
展開 abaqus使用解答
Q: 在abaqus中,如果采用umat,利用自己的本構(gòu),如何讓abaqus明白這種材料的彈塑性應(yīng)變,也就是說,如何讓程序返回彈性應(yīng)變與塑性應(yīng)變,好在output中輸出,我曾想用最笨地方法,在uvarm中定義輸出,利用getvrm獲取材料點的值,但無法獲取增量應(yīng)力,材料常數(shù)等,研究了幫助中的例子,umatmst3.inp,umatmst3.for,他采用mises J2 流動理論,我在output history 顯示他已進入塑性狀態(tài),但他的PE仍然為0!! ?
A: 用uvar()勉強成功 。
Q: 本人在用umat作本構(gòu)模型時,
*static,
1,500,0.000001,0.1 此時要求的增量步很多,即每次增量要很小,
*static
1,500 時,在彈性向塑性過度時,出現(xiàn)錯誤,增量過大,出現(xiàn)尖點。 ?
A: YOU CAN TRY AS FOLLOWS:
*STEP,EXTRAPOLATION=NO,INC=2000000
*STATIC
0.001,500.0,0.00001,0.1。
Q: 模型中存在兩個物體的接觸,計算過程中報錯,怎么回事?
A: 接觸問題不收斂有兩個方面不妨試試:
一、在*CONTACT PAIR 里調(diào)試ADJUST參數(shù);
二、調(diào)一些模型參數(shù),比如FRICTION等。 。
Q: 在邊界條件和加載時,總是有initial這個步,然后是我們自己定義的加載步,請問這個initial步,主要作用是什么?能不能去掉? ?
A: 不能去掉,所有的分析都有,是默認的步。
展開 ABAQUS用戶子程序USDFLD應(yīng)用實例
③USDFLD可以訪問計算結(jié)果數(shù)據(jù)(利用GETVRM子程序),即材料屬性可以定義為結(jié)果數(shù)據(jù)的函數(shù)
2.可以采用表格輸入方法或其他用戶子程序,進行相關(guān)函數(shù)fi的定義
3.USDFLD可以與CREEP、HETVAL、UHYPEL、UEXPANUHARD、UMAT、UMATHT、UTRS、UINTER聯(lián)合使用,即這些用戶子程序內(nèi)的變量可以定義為fi的函數(shù)
4.需要注意,USDFLD只能用于需要定義材料屬性的單元
三、案例解析
1.問題描述
① 本例模擬了粉末狀材料在圓柱形模具中進行壓縮固化的過程
② 模擬的工藝流程包括:加載(壓縮)、卸載、脫模
③ 粉末體采用Cap Plasticity(Modified Drucker-Prager/Cap)材料模型,并結(jié)合USDFLD進行建模
④ 不考慮壓縮過程的溫度變化
模壓示意圖
2.材料模型介紹
展開 [分享]Abaqus 使用問答
Q: 在abaqus中,如果采用umat,利用自己的本構(gòu),如何讓abaqus明白這種材料的彈塑性應(yīng)
變,也就是說,如何讓程序返回彈性應(yīng)變與塑性應(yīng)變,好在output中輸出,我曾想用最笨
地方法,在uvarm中定義輸出,利用getvrm獲取材料點的值,但無法獲取增量應(yīng)力,材料常
數(shù)等,研究了幫助中的例子,umatmst3.inp,umatmst3.for,他采用mises J2 流動理論,我
在output history 顯示他已進入塑性狀態(tài),但他的PE仍然為0!!?
A: 用uvar( )勉強成功 。
Q: 本人在用umat作本構(gòu)模型時,
*static,
1,500,0.000001,0.1 此時要求的增量步很多,即每次增量要很小,
*static
1,500 時,在彈性向塑性過度時,出現(xiàn)錯誤,增量過大,出現(xiàn)尖點.?
A: YOU CAN TRY AS FOLLOWS:
*STEP,EXTRAPOLATION=NO,INC=2000000
*STATIC
0.001,500.0,0.00001,0.1。
Q: 模型中存在兩個物體的接觸,計算過程中報錯,怎么回事?
A: 接觸問題不收斂有兩個方面不妨試試:
一、在*CONTACT PAIR 里調(diào)試ADJUST參數(shù);
二、調(diào)一些模型參數(shù),比如FRICTION等。 。
Q: 在邊界條件和加載時,總是有initial這個步,然后是我們自己定義的加載步,請問這
個initial步,主要作用是什么?能不能去掉?
A: 不能去掉,所有的分析都有,是默認的步。
Q: A solid extrusion base feature 這句話是什么意思?
extrusion、revolution等是什么意思?
展開