4. Johnson-Cook失效模型
Johnson-Cook失效模型是LS-DYNA中应用最广的金属延性损伤起始准则之一。它把“什么时候开始损伤”与应力三轴度、等效塑性应变率和温度联系起来,用一条相对简洁的乘积形式描述材料在复杂载荷下的失效起始点。理解它的关键不在于记住公式,而在于弄清每个参数在物理上代表什么、从哪里来、在仿真中如何被触发和验证。
一、损伤起始准则的公式结构
Johnson-Cook失效准则通常写作等效塑性应变达到临界值的形式:
ε_f = [ D1 + D2·exp(D3·σ*) ] · [ 1 + D4·ln(ε̇*) ] · [ 1 + D5·T* ]
其中:
σ* = p / σ_vm 应力三轴度(p为压力,σ_vm为von Mises等效应力)
ε̇* = ε̇_p / ε̇_0 无量纲等效塑性应变率
T* = (T - T_r) / (T_m - T_r) 无量纲温度
D1~D5 为待标定材料常数
准则的物理含义可以拆成三层:第一层 D1 + D2·exp(D3·σ*) 描述应力状态对损伤的影响,拉伸时三轴度为正,孔洞长大更快,失效应变下降;压缩或剪切时三轴度接近零或为负,失效应变显著提高。第二层 1 + D4·ln(ε̇*) 描述应变率效应,多数金属在高应变率下失效应变下降,因此 D4 常为负值。第三层 1 + D5·T* 描述温度软化,温度升高使失效应变降低,D5 通常为负。三层相乘,意味着任一因素变化都会改变损伤起始的临界塑性应变。
在LS-DYNA中,该准则通过 *MAT_JOHNSON_COOK 与 *MAT_ADD_EROSION 或 *MAT_JOHNSON_COOK 自带的损伤选项配合使用。常用做法是:本构用 *MAT_JOHNSON_COOK 描述流动应力,损伤起始用 *MAT_ADD_EROSION 中的 EPS 或 JCS 相关字段,或直接使用 *MAT_JOHNSON_COOK 的损伤卡片。损伤变量 D 按 D = Σ Δε_p / ε_f 累积,当 D 达到 1 时单元失效并被删除。
二、五个参数的物理意义与典型取值
D1 是参考状态下的失效应变,通常对应准静态、光滑试样、室温条件下的等效塑性应变。对大多数金属,D1 在 0.1~0.8 之间。D2 和 D3 共同控制应力三轴度敏感性:D2 决定三轴度影响的幅度,D3 决定曲线弯曲程度。若 D3 为负,则随着 σ* 增大,exp(D3·σ*) 下降,失效应变降低,符合拉伸孔洞长大规律。D4 是应变率敏感系数,典型值在 -0.01~-0.05 之间;D5 是温度敏感系数,典型值在 -0.5~-2.0 之间。需要强调,这些数值只是常见范围,实际材料必须通过试验标定,不能直接套用。
在LS-DYNA关键字中,参数填写位置如下:
*MAT_JOHNSON_COOK
$ MID RO G E PR DTF VP
1 7.85e-9 77.0 210.0 0.30 0.0 0.0
$ A B N C M TM TR EPS0
350.0 275.0 0.36 0.022 1.0 1500.0 293.0 1.0e-3
$ D1 D2 D3 D4 D5
0.05 -0.20 0.50 -0.015 -1.20
其中 EPS0 是参考应变率,通常取 1.0e-3 s⁻¹。D1~D5 写在损伤卡片上,若使用 *MAT_ADD_EROSION,则需在 EPS 字段填入等效塑性应变阈值,但更推荐使用 Johnson-Cook 自带的损伤累积,因为它能随应力状态和应变率动态更新 ε_f。
三、参数获取的试验路径
标定 D1~D5 需要一组覆盖不同应力三轴度、应变率和温度的试验。准静态光滑圆棒拉伸给出 D1 的初值;缺口拉伸试样(缺口半径不同)提供不同正三轴度下的失效应变,用于拟合 D2 和 D3;纯剪切或扭转试样提供 σ*≈0 的数据点,约束曲线形状;霍普金森压杆(SHPB)提供 10²~10³ s⁻¹ 应变率下的失效应变,用于拟合 D4;高温拉伸试验在 100~600 ℃ 范围内给出 D5。拟合时通常先固定 D1,再依次拟合 D2、D3,最后拟合 D4 和 D5,避免多参数同时优化导致不唯一。
如果试验数据有限,也可以采用反演校准:先给出一组初始参数,运行单轴拉伸仿真,将力-位移曲线与试验对比,调整 D1 使断裂位移对齐,再调整 D2、D3 使不同缺口试样的断裂位置一致。这种方法在工程中很常见,但必须保证至少有两个不同应力状态的试验作为约束。
四、单轴拉伸仿真验证的关键设置
验证模型建议采用 1/4 对称模型,试样标距段尺寸例如 6 mm × 2 mm × 2 mm,网格尺寸 0.2 mm,单元类型 *SECTION_SOLID 或 *SECTION_SHELL。边界条件:对称面施加对称约束,一端固定,另一端施加恒定速度,使标距段应变率达到 1.0e-3 s⁻¹。输出 DATABASE_ASCII 中的 rcforc 和 elout,同时用 *DATABASE_BINARY_D3PLOT 输出损伤云图。
判断结果时,先看力-位移曲线的峰值载荷和断裂位移。若峰值载荷偏高,说明流动应力参数 A、B、N 需要复核;若断裂位移偏大,说明 D1 偏大或 D2、D3 对应力三轴度不敏感;若损伤起始位置不在试样中心,说明网格或边界条件引入了额外应力集中。一个合理的验证结果是:峰值载荷误差小于 5%,断裂位移误差小于 10%,损伤云图显示中心单元先达到 D=1 并向两侧扩展。
*CONTROL_TERMINATION 中设置 DTMIN 为 1e-6,避免单元删除后时间步急剧下降;同时开启 *CONTROL_TIMESTEP 的 DT2MS 质量缩放,但缩放系数不宜超过 1.05,否则惯性效应会污染力-位移曲线。五、常见问题与排查
如果仿真中单元在很低应变下就被删除,优先检查 D1 是否误填为流动应力参数,或 *MAT_ADD_EROSION 中是否同时激活了多个失效准则。如果断裂位移对网格尺寸敏感,说明存在网格依赖性,可通过 *MAT_NONLOCAL 或正则化方法缓解。如果高应变率下失效应变没有下降,检查 D4 的符号和 EPS0 是否与试验参考应变率一致。最后,务必确认单位制统一:示例中长度 mm、力 N、时间 ms、应力 MPa,密度 7.85e-9 t/mm³,这是 LS-DYNA 常用的 mm-ms-N 单位制。
掌握 Johnson-Cook 失效模型的核心,是把公式中的三个乘子与试验条件一一对应,并在仿真中让损伤变量 D 的累积路径与真实试样的断裂位置和位移一致。参数标定不是一次拟合,而是“试验—仿真—对比—修正”的迭代过程,单轴拉伸验证则是这个闭环中最基础、最必要的一步。