4. 金属塑性高级专题
在单调加载下,金属塑性通常用等向硬化加Mises屈服面就能描述得不错。但一旦载荷发生反复、方向改变,甚至出现平均应力不为零的循环,等向硬化会给出明显偏保守或偏危险的结论。本节围绕四个层层递进的问题展开:循环塑性下屈服面如何移动、棘轮效应为什么发生、非线性随动硬化如何描述它、记忆表面模型如何补上多轴与循环稳定的短板,最后落到UMAT这一实现入口。
一、从等向硬化到随动硬化:屈服面在应力空间中的运动
先约定参照:应力以拉为正、压为负,Mises等效应力与背应力张量α均按此符号体系定义。等向硬化只改变屈服面半径,圆心固定在原点;随动硬化则保持屈服面大小不变,让圆心随塑性流动平移。循环加载时,反向屈服强度由“当前背应力位置”决定,这正是包辛格效应的来源。
线性随动硬化(A-F模型)用α = C·εp描述背应力随塑性应变线性增长,能给出稳定的滞回环,但无法反映循环软化/硬化和棘轮。非线性随动硬化(Armstrong-Frederick型)引入动态回复项:
dα = (2/3)·C·dε_p − γ·α·dp
dp = |dε_p|(等效塑性应变增量)
其中C控制初始硬化斜率,γ控制背应力饱和速度。当γ较大时,背应力很快趋于饱和值2C/(3γ),滞回环迅速稳定;γ较小时,背应力持续漂移,棘轮应变随之增大。这两个参数是循环塑性标定的核心。
二、棘轮效应:平均应力下的塑性应变单向累积
棘轮效应指在非对称应力循环(平均应力σm≠0)下,每个循环都会产生一个不可恢复的塑性应变增量,应变随循环数单调累积,最终可能导致结构尺寸超差或疲劳寿命骤降。判断是否出现棘轮,关键看滞回环是否“不闭合”:若每个循环的起点应变持续右移,就是棘轮;若滞回环逐渐闭合,则趋于弹性安定或塑性安定。
影响棘轮速率的主要因素包括:平均应力越大、应力幅越接近屈服、γ越小、C越大,棘轮应变增长越快。工程上常用“棘轮应变率”(每循环塑性应变增量)作为评价指标,例如某压力管道示例中,内压恒定、温度循环产生轴向非对称应力,若每循环棘轮应变率超过1×10⁻⁵,就需重新评估安定性。
三、非线性随动硬化与记忆表面模型
单一非线性随动硬化能描述单轴棘轮,但在多轴比例加载下会高估棘轮,在非比例加载下又可能失真。为此引入记忆表面(Memory Surface)概念:在应力空间中定义一个以原点为中心、半径为Rm的记忆面,记录历史最大等效应力。当当前应力点位于记忆面内部时,硬化参数按较低速率演化;一旦触及或超出记忆面,记忆面扩张,硬化速率提高。这样就把“曾经达到过的最大载荷水平”作为状态变量带入本构,使模型能区分小幅循环与大幅循环。
记忆面模型通常与非线性随动硬化叠加使用,其核心状态量包括:背应力α、记忆面半径Rm、累积塑性应变p。在UMAT中,这些量都需要作为状态变量(SDV)存储并随增量更新。
四、UMAT入门:把本构写进Abaqus
UMAT是Abaqus/Standard提供的用户材料子程序接口,适用于需要自定义本构、且必须提供一致切线刚度(Jacobian)的场景。其基本调用流程为:Abaqus在每个增量步把应变增量DSTRAN、当前应力STRESS、状态变量STATEV等传入UMAT,用户在子程序内完成应力更新和切线刚度DDSDDE计算,再返回给求解器。
一个最小可用的非线性随动硬化UMAT骨架如下(示例参数,非实测):
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,
2 TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,
4 DROT,PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,
5 KSTEP,KINC)
INCLUDE 'ABA_PARAM.INC'
DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
1 DSTRAN(NTENS),PROPS(NPROPS)
C 材料参数:E, nu, sig0, C, gamma
E = PROPS(1)
NU = PROPS(2)
SIG0 = PROPS(3)
C = PROPS(4)
GAMMA = PROPS(5)
C 读取状态变量:背应力(6个分量) + 等效塑性应变
DO I=1,6
ALPHA(I) = STATEV(I)
END DO
P = STATEV(7)
C 弹性试探应力
CALL ELASTIC_STRESS(...)
C 计算等效应力与屈服函数
SEQ = SQRT(1.5*SDEV:SDEV)
FYLD = SEQ - (SIG0 + ...)
IF (FYLD .LE. 0) THEN
C 弹性:DDSDDE为弹性刚度
ELSE
C 塑性:返回映射,更新ALPHA和P
C dα = (2/3)*C*dεp - GAMMA*ALPHA*dp
END IF
C 写回状态变量
DO I=1,6
STATEV(I) = ALPHA(I)
END DO
STATEV(7) = P
RETURN
END
实现时最容易出问题的三个点:一是DDSDDE必须与应力更新算法一致,否则收敛会变差甚至不收敛;二是状态变量编号要与INP中*DEPVAR定义的数量严格对应;三是塑性乘子Δλ的求解要用牛顿迭代并设置合理的容差(如1×10⁻⁸)。
五、简单案例:单轴循环加载下的棘轮验证
以一个单单元模型为例:材料E=210 GPa,ν=0.3,σ0=250 MPa,C=8000 MPa,γ=80。施加应力控制循环:σmax=300 MPa,σmin=-100 MPa,即平均应力100 MPa、应力幅200 MPa,循环20次。预期结果是:前几个循环滞回环不闭合,每循环产生约0.02%的塑性应变增量,随循环数增加棘轮率逐渐减小并趋于稳定。若把γ改为20,棘轮率会明显增大,说明γ对棘轮抑制起关键作用。
掌握以上内容后,面对循环载荷问题就能判断该用等向、随动还是记忆面模型,并能通过UMAT把自定义本构真正跑起来,用棘轮率和滞回环闭合性来验证实现是否正确。