卢剑锋《冲击载荷作用下材料和结构力学行为有限元模拟》论文中umat子程序,Johnson-Cook公式求导的问题

卢剑锋《冲击载荷作用下材料和结构力学行为有限元模拟》论文中umat子程序,Johnson-Cook公式求导的问题

初学umat子程序的小伙伴一定搜到过清华大学卢剑锋的硕士论文,里面详细介绍了Johnson-Cook塑性本构umat的编写方法,并附了代码,的确是学习弹塑性umat特别好的资料。卢剑锋是庄茁大佬的学生,庄茁大佬编著的《基于ABAQUS的有限元分析和应用》一书也将卢剑锋的硕士论文作为案例添加了进来。

以下讨论了关于该umat子程序中Johnson-Cook公式求导的问题,该问题最早提出在simwe仿真论坛:http://forum.simwe.com/thread-1011324-1-1.html

问题描述

根据径向返回算法有
Alt
Alt
Alt
其中 H 为硬化率,是屈服应力 σ Y \sigma_Y 对等效塑性应变 ϵ \overline{\epsilon} 的导数。只有正确地更新了硬化率 H 的值,才能在牛顿迭代中正确地修正等效塑性应变增量 Δ λ \Delta\lambda

在Johnson-Cook模型中,若不考虑材料的热行为,则有
Alt
其中参考应变率 ϵ 0 ˙ = 1 \dot{\epsilon_0}=1 。那么,上式对等效塑性应变 ϵ \overline{\epsilon} 求导的结果是什么?

原文方法

卢剑锋论文原文中牛顿迭代部分的代码如下

C	NEWTON ITERATION
C
		SYIELD=SYIEL0
		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

变量HARD1表示硬化率。原文认为 [ 1 + C ln ( ϵ ˙ ϵ 0 ˙ ) ] [1+C\ln(\frac{\dot\epsilon}{\dot{\epsilon_0}})] 项对 ϵ \epsilon 求导后的结果为 C Δ ϵ \frac{C}{\Delta\epsilon} ,这个结果进行了一定程度的简化。

我认为较为精确的处理过程是
Alt
Δ ϵ n 1 \Delta\epsilon_{n-1} 为前一增量步的等效塑性应变增量, Δ ϵ n \Delta\epsilon_n 为当前增量步的等效塑性应变增量; Δ t n 1 \Delta t_{n-1} 为前一增量步的时间步长, Δ t n \Delta t_n 为当前增量步的时间步长。卢剑锋的处理方法舍弃了上式中后半部分复杂的项。

改进方法

如果想要对原文中的方法进行改进,可在umat子程序中新增两个状态变量,一个用来保存前一增量步的等效塑性应变增量 Δ ϵ n 1 \Delta\epsilon_{n-1} ,另一个用来保存前一增量步的时间步长 Δ t n 1 \Delta t_{n-1} ,然后按照 ( ) (*) 式去更新硬化率 H 即可。

猜你喜欢

转载自blog.csdn.net/weixin_42887395/article/details/107882614