Professional Documents
Culture Documents
ABAQUS/Standard 用户材料子程序实例
-Johnson-Cook 金属本构模型
卢剑锋 庄茁* 张帆
清华大学工程力学系 北京 100084
1 Johnson-Cook 强化模型简介
Johnson-Cook(JC)模型用来模拟高应变率下的金属材料。JC 强化模型表示为三项的乘积,
分别反映了应变硬化,应变率硬化和温度软化。这里使用 JC 模型的修正形式:
ε&
σ = ( A + Bε n ) 1 + C ln 1 + (1 − T )
*m
ε&0
数,需要通过实验来确定。
2 ABAQUS 用户材料子程序
子程序概况与接口
-1-
Back ABAQUS 软件 2003 年度用户年会论文集
RETURN
END
UMAT 中的应力矩阵、应变矩阵以及矩阵 DDSDDE , DDSDDT , DRPLDE 等,都是直接分
-2-
Back ABAQUS 软件 2003 年度用户年会论文集
比是一个对称矩阵,除非在“*USER MATERIAL”语句中加入了“UNSYMM”参数。
STRESS ( NTENS )
STATEV ( NSTATEV )
PROPS ( NPROPS )
材料常数矩阵,矩阵中元素的数值对应于关键字“*USER MATERIAL”下面的数据行。
分别定义每一增量步的弹性应变能,塑性耗散和蠕变耗散。它们对计算结果没有影响,仅仅
-3-
Back ABAQUS 软件 2003 年度用户年会论文集
作为能量输出。
其他变量:
DTIME :增量步的时间增量;
NDI :直接应力分量的个数;
NSHR :剪切应力分量的个数;
NTENS :总应力分量的个数, NTENS = NDI + NSHR 。
使用 UMAT 时需要注意单元的沙漏控制刚度和横向剪切刚度。通常减缩积分单元的沙漏控
制刚度和板、壳、梁单元的横向剪切刚度是通过材料属性中的弹性性质定义的。这些刚度基于材
料初始剪切模量的值,通常在材料定义中通过“*ELASTIC”选项定义。但是使用 UMAT 的时候,
ABAQUS 对程序输入文件进行预处理的时候得不到剪切模量的数值。所以这时候用户必须使用
“*HOURGLASS STIFFNESS” 选 项 来 定 义 具 有 沙 漏 模 式 的 单 元 的 沙 漏 控 制 刚 度 , 使 用
“*TRANSVERSE SHEAR STIFFNESS”选项来定义板、壳、梁单元的横向剪切刚度。
编程
-4-
Back ABAQUS 软件 2003 年度用户年会论文集
图 1 UMAT 流程图
表 1 UMAT 材料常数
PROPS 1 2 3 4 5 6 7 8
3 SHPB 实验的有限元模拟
模型的简化与有限元网格
为了不使模型过于庞大,对模型进行了一些简化。首先,改变入力杆和出力杆的尺寸,长度
由原来的 3040mm 减小为 1000mm,直径增加到 25mm,试件的长度和直径也分别变化为 22mm
和 18mm。这样不仅优化了网格的质量,还成倍地减小了模型的规模,其带来的负面影响就是试
件能达到的应变将降低。另外,由于撞击杆仅仅起到产生应力脉冲的作用,在数值模型中没必要
考虑撞击杆,取代的方法是直接在入力杆的输入端施加均布的应力脉冲。
考虑到实验装置的对称性,也做了一些简化。整个实验装置以及载荷等都是关于杆的中心线
轴对称的,所以可以使用轴对称单元进行二维分析。
二维轴对称模型如图 2 所示。在模型中,对试件以及入力杆,出力杆和试件接触的部分进行
了局部网格加密,这样的网格划分可以取得比较经济的结果。
-5-
Back ABAQUS 软件 2003 年度用户年会论文集
图2 二维轴对称有限元模型
表 2 模型信息
尺寸[mm] 总节点
模 型 单元类型 单元个数 总单元数
(Φ ×L) 数
二维 模 型
材料定义
表 3 试件的材料定义
Johnson-Cook 模型参数
密度 杨氏模 泊
性 A
[Kg/m3 量 松 B
质 [MPa n C M
] [MPa] 比 [MPa]
]
-6-
Back ABAQUS 软件 2003 年度用户年会论文集
边界条件
E
Cd =
ρ
其中 E 为材料弹性模量, ρ 为材料密度。由此可以计算输入应力波在压杆中的传播速度为
Cd = 5048 m/s。
要求在入力杆应力波的输入端不能出现入射波和反射波的重叠,也就是说在输入应力脉冲的
时间内,应力波的传播距离不应超过两倍的杆长,即:
2L 2
Ts < = ≈ 4.0 ×10−4 ( s )
Cd 5048
经过若干次试算,对输入应力脉冲的波形进行了适当的调整,使试件中产生较均匀的应变率。
最后输入应力脉冲的波形如图 3 所示:
300
基 准 压 力
250
-4
(1.7× 10 ,200)
200
-5
应 力 (MPa)
(3.0× 10 ,170)
150
应 变 率(s-1) 系数
250 0.90
100 200 0.77
100 0.52
70 0.46
50
0
0.0000 0.0001 0.0002 0.0003 0.0004 0.0005
时 间 (s)
图3 输入应力脉冲
为了确定增量步的最大时间步长,需要先简单计算一下单元的稳定极限。基于一个单元的估
Le
∆tstable =
Cd
压杆单元的特征单元长度 Le ≈ 10 mm,由此可以计算出应力波在压杆传递的稳定极限为
二维动态分析
反射回入力杆,一部分应力波经过试件进入出力杆,试件各点的变形都很均匀,如图 5 (a)所示。
在图 5 (b)试件的放大图上可以看出,各点 Mises 应力相差不超过 1MPa,这个精度是相当可靠的。
-8-
Back ABAQUS 软件 2003 年度用户年会论文集
(a) 全局视图
(b) 试件的放大视图
图 5 试件经历均匀变形时的 Mises 应力 (t=3.0×10-4 s)
实际上有限元模拟的应力-应变曲线和恒定应变率下实验的结果也能够很好的吻合。取出试
件表面中间的一点,将应变率 250 s-1 和 200 s-1 下 ABAQUS 有限元模拟的结果与实验的结果对比
-9-
Back ABAQUS 软件 2003 年度用户年会论文集
见图 7 和图 8。
160 500
实验值 应 变 率
450
140 ABAQUS模拟
400
120
350
100
应 变 率 (s-1)
300
应 力 (MPa)
80 250
200
60
150
40
100
20
50
0 0
0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 0.040 0.045
应 变
160 500
实验数据 应 变 率
140
ABAQUS模拟 450
400
120
350
100
应 变 率 (s-1)
300
应 力 (MPa)
80 250
200
60
150
40
100
20
50
0 0
0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035
应 变
4 J-C UMAT 程序
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)
- 10 -
Back ABAQUS 软件 2003 年度用户年会论文集
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)
PARAMETER (ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0, HALF =0.5d0)
DATA NEWTON,TOLER/40,1.D-6/
C
C -----------------------------------------------------------
C UMAT FOR JOHNSON-COOK MODEL
C -----------------------------------------------------------
C PROPS(1) - YANG'S MODULUS
C PROPS(2) - POISSON RATIO
C PROPS(3) - INELASTIC HEAT FRACTION
C PARAMETERS OF JOHNSON-COOK MODEL:
C PROPS(4) - A
C PROPS(5) - B
C PROPS(6) - n
C PROPS(7) - C
C PROPS(8) - m
C -----------------------------------------------------------
C
IF (NDI.NE.3) THEN
WRITE(6,1)
- 11 -
Back ABAQUS 软件 2003 年度用户年会论文集
DDSDDE(K1,K1)=EG
50 CONTINUE
C
C CALCULATE STRESS FROM ELASTIC STRAINS
C
DO 70 K1=1,NTENS
DO 60 K2=1,NTENS
STRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1)
60 CONTINUE
70 CONTINUE
C
C RECOVER ELASTIC AND PLASTIC STRAINS
C
DO 80 K1=1,NTENS
EELAS(K1)=STATEV(K1)+DSTRAN(K1)
EPLAS(K1)=STATEV(K1+NTENS)
80 CONTINUE
EQPLAS=STATEV(1+2*NTENS)
C
C CALCULATE MISES STRESS
C
IF(NPROPS.GT.5.AND.PROPS(4).GT.0.0) THEN
SMISES=(STRESS(1)-STRESS(2))*(STRESS(1)-STRESS(2)) +
1 (STRESS(2)-STRESS(3))*(STRESS(2)-STRESS(3)) +
1 (STRESS(3)-STRESS(1))*(STRESS(3)-STRESS(1))
DO 90 K1=NDI+1,NTENS
SMISES=SMISES+SIX*STRESS(K1)*STRESS(K1)
90 CONTINUE
SMISES=SQRT(SMISES/TWO)
C
- 13 -
Back ABAQUS 软件 2003 年度用户年会论文集
DEQPL=(SMISES-SYIELD)/EG3
DSTRES=TOLER*SYIEL0/EG3
DEQMIN=HALF*DTIME*EXP(1.0D-4/C)
DO 130 KEWTON=1,NEWTON
DEQPL=MAX(DEQPL,DEQMIN)
CALL USERHARD(SYIELD,HARD,EQPLAS+DEQPL,PROPS(4))
TVP=C*LOG(DEQPL/DTIME)
TVP1=TVP+ONE
HARD1=HARD*TVP1+SYIELD*C/DEQPL
SYIELD=SYIELD*TVP1
RHS=SMISES-EG3*DEQPL-SYIELD
DEQPL=DEQPL+RHS/(EG3+HARD1)
IF(ABS(RHS/EG3) .LE. DSTRES ) GOTO 140
130 CONTINUE
WRITE(6,2) NEWTON
2 FORMAT(//,30X,'***WARNING - PLASTICITY ALGORITHM DID NOT ',
1 'CONVERGE AFTER ',I3,' ITERATIONS')
140 CONTINUE
EFFHRD=EG3*HARD1/(EG3+HARD1)
C
C CALCULATE STRESS AND UPDATE STRAINS
C
DO 150 K1=1,NDI
STRESS(K1)=FLOW(K1)*SYIELD+SHYDRO
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL/TWO
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL/TWO
150 CONTINUE
DO 160 K1=NDI+1,NTENS
STRESS(K1)=FLOW(K1)*SYIELD
EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL
- 15 -
Back ABAQUS 软件 2003 年度用户年会论文集
EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL
160 CONTINUE
EQPLAS=EQPLAS+DEQPL
SPD=DEQPL*(SYIEL0+SYIELD)/TWO
RPL = PROPS(3)*SPD/DTIME
C
C JACOBIAN
C
EFFG=EG*SYIELD/SMISES
EFFG2=TWO*EFFG
EFFG3=THREE*EFFG2/TWO
EFFLAM=(EBULK3-EFFG2)/THREE
DO 220 K1=1,NDI
DO 210 K2=1,NDI
DDSDDE(K2,K1)=EFFLAM
210 CONTINUE
DDSDDE(K1,K1)=EFFG2+EFFLAM
220 CONTINUE
DO 230 K1=NDI+1,NTENS
DDSDDE(K1,K1)=EFFG
230 CONTINUE
DO 250 K1=1,NTENS
DO 240 K2=1,NTENS
DDSDDE(K2,K1)=DDSDDE(K2,K1)+FLOW(K2)*FLOW(K1)
1 *(EFFHRD-EFFG3)
240 CONTINUE
250 CONTINUE
ENDIF
ENDIF
C
- 16 -
Back ABAQUS 软件 2003 年度用户年会论文集
ELSE
HARD=EN*B*EQPLAS**(EN-1)
SYIELD=A+B*EQPLAS**EN
END IF
RETURN
END
- 18 -