
發(fā)布
注冊(cè)
/
登錄DFGRD1的案例
在abaqus中多次引用同一子程序的方法
'MAT1') THEN
CALL UMAT_MAT1(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
ELSE IF(CMNAME(1:4) .EQ.
展開 zwt umat子程序 一個(gè)非線性彈簧并聯(lián)4個(gè)maxwell體 ¥499
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,
2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,
3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,
4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*80 MATERL
real*8 STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),
4 DFGRD0(3,3),DFGRD1(3,3),PIAN(6),PIAN1(6),PIAN2(6),PIAN3(6),
5 SHUZU(NTENS)
!props(1)=E0,props(2)=v,泊松比,props(3)=a,props(4)=b,!非線性彈簧參數(shù)與泊松比
! 4個(gè)Maxwell體參數(shù)。
展開 各向同性硬化von Mises率無關(guān)彈塑性本構(gòu)理論以及umat源代碼 ¥99
ddsddt(ntens),drplde(ntens), &
stran(ntens),dstran(ntens),time(2), &
predef(1),dpred(1),props(nprops),coords(3), &
drot(3,3),dfgrd0(3,3),dfgrd1(3,3)
!
展開 平面應(yīng)力脆性斷裂相場(chǎng)AT2模型 ¥120
umat進(jìn)行可視化
subroutine umat(stress,statev,ddsdde,sse,spd,scd, &
rpl,ddsddt,drplde,drpldt, &
stran,dstran,time,dtime,temp,dtemp,predef,dpred,cmname, &
ndi,nshr,ntens,nstatv,props,nprops,coords,drot,pnewdt, &
celent,dfgrd0,dfgrd1,noel,npt,layer,kspt,kstep,kinc)
use AT2_plane_stress_uel_pack
include 'aba_param.inc'
character*80 cmname
dimension stress(ntens),statev(nstatv),ddsdde(ntens,ntens), &
ddsddt(ntens),drplde(ntens), &
stran(ntens),dstran(ntens),time(2), &
predef(1),dpred(1),props(nprops),coords(3), &
drot(3,3),dfgrd0(3,3),dfgrd1
展開 
如何將三維彈塑性本構(gòu)應(yīng)用于平面應(yīng)力問題中
(3), &
drot(3,3),dfgrd0(3,3),dfgrd1(3,3)
!
非等溫線彈性UMAT子程序及Abaqus內(nèi)部實(shí)現(xiàn)方法
材料的切線剛度矩陣(雅克比矩陣)為應(yīng)力對(duì)應(yīng)變的偏導(dǎo)數(shù),采用voigt記法寫成6*6的二維矩陣為(引用知乎@Learning STRB):
簡(jiǎn)單介紹了一下理論,下面是UMAT程序:
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATEV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*8 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATEV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)
C LOCAL ARRAYS
C ----------------------------------------------------------------
C EELAS - ELASTIC STRAINS 彈性應(yīng)變(不含熱應(yīng)變
展開 初識(shí)Abaqus UMAT 二次開發(fā)
),STATEV(NSTATV),
11 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
12 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
13 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
14 4 JSTEP(4)
15
16 user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD
17 and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT
18
19 RETURN
20 END
①熟悉Fortran語言的很容易發(fā)現(xiàn)這段代碼整體上是一個(gè)“子例行子程序”。
展開 初識(shí)ABAQUS UMAT二次開發(fā)(二)
整個(gè)UAMT子程序如下:
1 SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
2 1 RPL,DDSDDT,DRPLDE,DRPLDT,
3 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
4 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
5 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
6C
7 INCLUDE 'ABA_PARAM.INC'
8C
9 CHARACTER*80 CMNAME
10 DIMENSION STRESS(NTENS),STATEV(NSTATV),
11 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
12 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
13 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
14 4 JSTEP(4)
15C
16 REAL*8 emod
17c ----------------------------------------------------------------
18c umat for nonlinear problems
19c be used for Truss element
20c -----------------------
展開 Johnson-Cook金屬塑性本構(gòu)
由于主程序與 UMAT 之間存在數(shù)據(jù)傳遞,甚至共用一些變量,因此必須遵守有關(guān) UMAT 的書寫格式,UMAT 中常用的變量在文件開頭予以定義,通常格式為:
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)
user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD and, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT
RETURN
END
UMAT 中的應(yīng)力矩陣、應(yīng)變矩陣以及矩陣
展開 mises本構(gòu)模型UMAT(附源代碼和詳細(xì)注釋)
Mises彈塑性模型
4.源程序和注釋
需要啟用沙漏控制:
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,
2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,MATERL,NDI,NSHR,NTENS,
3 NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,
4 DFGRD0,DFGRD1,NOEL,NPT,KSLAY,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 MATERL
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),
4 DFGRD0(3,3),DFGRD1(3,3)
C
DIMENSION EELAS(6),EPLAS(6),FLOW(6)
C EELAS(1-6)為彈性應(yīng)變分量,EPLAS(1-6)為塑性應(yīng)變分量,FLOW(6)為屈服面對(duì)應(yīng)力的導(dǎo)數(shù)
PARAMETER
展開 Abaqus Anand UMTA 腳本,用于芯片焊點(diǎn)壽命評(píng)估 ¥10
偽代碼:
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, &
RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME, &
TEMP,DTEMP,PREDEF,DPRED,CMNAME,NDI,NSHR,NTENS,NSTATV, &
PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,DFGRD0,DFGRD1, &
NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
INCLUDE 'ABA_PARAM.INC'
for each integration point K in block:
# 0) 初始化/讀入
if STATEV(1,K) <= 0: STATEV(1,K) = s0
s = STATEV(1,K) # 內(nèi)部抗力
peeq = STATEV(2,K) # 等效黏塑應(yīng)變
wpl = STATEV(3,K) # 累積非彈性能量
T = max(TINY, TEMP(K))
Arr = exp( - (Q/R) / T )
# 1) 彈性常數(shù) + 彈性預(yù)測(cè) (small strain, Δε = STRAIN(:,K))
compute Lame( E, ν ) -> (LAM, MU)
build elastic C(LAM, MU)
sig_tr = sigma_old + C : dE
# 2) 計(jì)算偏應(yīng)力 & Mises 等效應(yīng)力
sdev = deviator(sig_tr)
seq = sqrt( (3/2) * sdev:sdev ) * sqrt(
展開 
HILL48 +各向同性Voce硬化umat子程序
Abaqus UMAT interface variables
CHARACTER*80 CMNAME
INTEGER NDI, NSHR, NTENS, NSTATV, NPROPS
INTEGER NOEL, NPT, LAYER, KSPT, KSTEP, KINC
REAL(8) STRESS(NTENS), STATEV(NSTATV), DDSDDE(NTENS,NTENS)
REAL(8) SSE, SPD, SCD, RPL, DRPLDT, DTIME, TEMP, DTEMP, PNEWDT, CELENT
REAL(8) STRAN(NTENS), DSTRAN(NTENS), TIME(2), PREDEF(1), DPRED(1)
REAL(8) PROPS(NPROPS), COORDS(3), DROT(3,3), DFGRD0(3,3), DFGRD1(3,3)
REAL(8) DDSDDT(NTENS), DRPLDE(NTENS)
!
展開 隨動(dòng)硬化von Mises率無關(guān)彈塑性本構(gòu)理論以及umat源代碼 ¥99
; drot(3,3),dfgrd0(3,3),dfgrd1(3,3)
!
ABAQUS路面材料使用修正burgers模型時(shí)總是出現(xiàn)編譯錯(cuò)誤
C 瞬態(tài)溫度場(chǎng)下修正Burgers模型UMAT子程序源代碼
C
C 給狀態(tài)變量數(shù)組賦初值為零,調(diào)用ABAQUS子程序SDVINI
C GIVE STATEV THE INITIAL VALUE OF ZERO
C
SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,LAYER,KSPT)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION STATEV(NSTATV),COORDS(NCRDS)
C
DO K=1,NSTATV
STATEV(K)=0.0
END DO
C
RETURN
END
C 瞬態(tài)溫度場(chǎng)下修正Burgers模型UMAT子程序
C UMAT FOR MODIFIED BURGERS MODEL
C
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,
1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,
2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,
3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
C
DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE
展開 一個(gè)考慮腐蝕的相場(chǎng)損傷模型源代碼
implicit real(a-h o-z)
character*8 cmname
dimension stress(ntens),statev(nstatv),ddsdde(ntens,ntens),
1 ddsddt(ntens),drplde(ntens),stran(ntens),dstran(ntens),
2 time(2),predef(1),dpred(1),props(nprops),coords(3),drot(3,3),
3 dfgrd0(3,3),dfgrd1(3,3),jstep(4)
ddsdde=0.0d0
noffset=noel-nelem
statev(1:nstatv)=UserVar(npt,1:nstatv,noffset)
return
end
材料屬性和狀態(tài)變量如下:
該代碼非常容易和晶體塑性結(jié)合使用,模擬多晶的腐蝕行為,感興趣的可以閱讀原文直接獲取,也可以直接加入知識(shí)星球下載交流討論:
展開