4. 材料非线性入门

在Abaqus非线性结构仿真中,材料非线性是三大非线性来源(几何、边界、材料)中最容易被低估、却最常导致收敛失败的一类。几何非线性可以通过NLGEOM开关统一处理,接触非线性有成熟的接触控制参数,而材料非线性一旦选错本构模型或参数标定失当,求解器往往在增量步中反复迭代、时间增量被压缩到极小,最终报出“Too many attempts made for this increment”。本节先建立四类典型材料行为的判别框架,再落到Abaqus材料库的调用路径与用户子程序接口,最后以金属拉伸颈缩为例完成一套可复现的参数标定流程。

四类典型材料行为的物理判别

区分材料模型的第一步不是打开软件,而是问三个问题:卸载后变形是否完全恢复?响应是否依赖加载速率?是否存在时间相关的永久变形?

弹塑性(Elastic-Plastic):加载超过屈服点后产生不可恢复的塑性应变,卸载路径与加载路径不重合,但响应基本与速率无关(率无关塑性)。金属在室温准静态下的拉伸、压缩、弯曲大多属于此类。Abaqus中通过*PLASTIC定义屈服面与硬化规律,配合*ELASTIC提供弹性段。

超弹性(Hyperelastic):用于橡胶、软组织等大变形材料,应力由应变能密度函数对变形的导数给出,卸载后变形完全恢复,但应力—应变曲线高度非线性且存在大变形。Abaqus提供Neo-Hookean、Mooney-Rivlin、Ogden、Yeoh等模型,通过*HYPERELASTIC调用。

粘弹性(Viscoelastic):弹性响应叠加时间/频率依赖,典型现象是应力松弛与蠕变恢复。加载后应力随时间衰减,卸载后变形部分延迟恢复。Abaqus中可用*VISCOELASTIC以Prony级数定义,常与超弹性或弹性基体组合使用。

蠕变(Creep):在恒定应力下应变随时间持续增长,且不可恢复。高温金属、混凝土、聚合物在长期载荷下均表现明显。Abaqus提供*CREEP,常用Norton-Bailey幂律形式:ε̇ = A·σ^n·t^m。

四类材料非线性行为的应力—应变/时间响应判别 弹塑性 卸载不恢复 · 率无关 超弹性 大变形 · 完全恢复 粘弹性 应力松弛 · 延迟恢复 蠕变 恒应力 · 应变持续增长 Abaqus材料模型选择决策路径 卸载是否恢复? 是否率相关? 是否恒应力? *CREEP / *VISCOELASTIC *PLASTIC *HYPERELASTIC 否 → 不可恢复 否 → 率无关 是 → 时间相关

Abaqus材料库调用与用户子程序接口

Abaqus/CAE中材料定义位于Property模块,创建Material后依次指定弹性、塑性、超弹性等行为。对于标准本构,图形界面与关键字一一对应,例如定义各向同性硬化塑性:

*MATERIAL, NAME=Steel_QP
*ELASTIC
210000., 0.3
*PLASTIC
350., 0.
420., 0.02
480., 0.05
520., 0.10
550., 0.20

其中*PLASTIC数据行第一列为真实屈服应力,第二列为对应的塑性应变(对数塑性应变),必须从试验工程应力—应变曲线转换得到。转换关系为:真实应力σ_true = σ_eng(1+ε_eng),真实应变ε_true = ln(1+ε_eng),塑性应变ε_pl = ε_true - σ_true/E。这一步是颈缩仿真参数标定的核心,若直接输入工程应力—应变数据,颈缩段会明显偏硬。

当内置本构无法描述特定材料(如晶体塑性、损伤耦合、用户自定义蠕变)时,需使用用户材料子程序UMAT(隐式)或VUMAT(显式)。UMAT接口的核心任务是:在每个增量步接收应变增量DSTRAN与当前状态变量STATEV,更新应力STRESS并给出材料雅可比矩阵DDSDDE。DDSDDE直接影响Newton-Raphson迭代的收敛速度,若给出近似值,收敛会变慢甚至失败。一个典型的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 LAYER,KSPT,KSTEP,KINC)
      INCLUDE 'ABA_PARAM.INC'
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
     1 DSTRAN(NTENS),PROPS(NPROPS),TIME(2)
C     弹性预测
      E = PROPS(1)
      ENU = PROPS(2)
C     组装弹性D矩阵并更新试探应力
C     塑性修正:判断屈服、返回映射、更新STATEV
      RETURN
      END

编译时需配置Abaqus与Fortran编译器(如Intel oneAPI),通过abaqus make library=umat.f生成动态库,再在Job中引用。调试阶段建议先用单单元模型验证UMAT的应力更新与DDSDDE一致性,再扩展到完整构件。

金属拉伸颈缩仿真的材料参数标定

颈缩是金属塑性失稳的典型现象:当真实应力—应变曲线斜率等于当前真实应力时,dσ/dε = σ,Considère准则给出颈缩起始点。仿真中若只输入到颈缩前的硬化数据,颈缩后响应会失真。标定流程如下:

  1. 获取标准拉伸试验的工程应力—应变曲线,记录屈服强度、抗拉强度、断后延伸率。
  2. 将工程数据转换为真实应力—真实应变,并计算塑性应变。
  3. 在Abaqus中建立1/8对称拉伸试样模型,单元类型选用C3D8R,网格在标距段加密。
  4. 施加位移边界条件,开启NLGEOM,输出RF与U,提取力—位移曲线。
  5. 将仿真力—位移曲线与试验曲线对比,若颈缩段偏硬,则调整*PLASTIC高塑性应变段的数据点,或引入损伤演化。

以下是一组用于教学示例的Q235钢真实应力—塑性应变数据(非实测,仅作演示):

塑性应变真实屈服应力 (MPa)
0.00350
0.02420
0.05480
0.10520
0.20550
0.35565
颈缩仿真中,若网格尺寸大于颈缩区特征长度,会出现网格依赖性。建议在颈缩区采用至少5层单元,并考虑引入*DAMAGE INITIATION与*DAMAGE EVOLUTION描述断裂。
不要将工程应力—应变直接填入*PLASTIC。工程数据在颈缩后应力下降,而真实应力持续上升,直接使用会导致颈缩提前或消失,仿真与试验严重不符。

完成参数标定后,应检查三个指标:屈服点力值误差是否在5%以内、抗拉强度对应位移是否与试验一致、颈缩起始位置是否出现在试样中部。若颈缩位置偏向夹持端,说明边界条件或网格过渡不合理,需调整过渡区尺寸。通过这一闭环,材料参数才具备工程可信度,可进一步用于更复杂结构的非线性分析。