本 UMAT 子程序实现了非线性弹性本构模型(Ramberg-Osgood) 与 Hashin 失效准则 的结合,并引入了 Camacho 刚度折减策略,适用于复合材料的渐进损伤分析。
-
Ramberg-Osgood 非线性弹性模型:
ε = σ/E_eff × [1 + |σ/σ_0|^n]^(1/n)
其中:
- E_eff 为当前有效模量(考虑损伤折减)
- σ_0 为参考应力
- n 为硬化指数
- Hashin 失效准则,包含四种失效模式:
- 纤维拉伸(ξ_ft)
- 纤维压缩(ξ_fc)
- 基体拉伸(ξ_Mt)
- 基体压缩(ξ_Mc)
- 一旦某种失效模式被激活(ξ ≥ 1),对应方向的刚度将被折减:
- 纤维失效:方向1(纤维方向)
- 基体失效:方向2、3、4、6(横向与剪切方向)
| 索引 | 变量名 | 说明 |
|---|---|---|
| 1-6 | E0(1:6) | 初始弹性模量(6个方向) |
| 7-12 | SIG0(1:6) | 参考应力(6个方向) |
| 13-18 | NEXP(1:6) | 硬化指数(6个方向) |
| 19 | Xt | 纤维方向拉伸强度 |
| 20 | Xc | 纤维方向压缩强度 |
| 21 | Yt | 横向拉伸强度 |
| 22 | Yc | 横向压缩强度 |
| 23 | S12s | 12面内剪切强度 |
| 24 | S13s | 13面外剪切强度 |
| 25 | S23s | 23面外剪切强度 |
| 26 | d_mat_tens | 基体拉伸刚度折减系数 |
| 27 | d_mat_comp | 基体压缩刚度折减系数 |
| 28 | d_fib_tens | 纤维拉伸刚度折减系数 |
| 29 | d_fib_comp | 纤维压缩刚度折减系数 |
| 索引 | 变量名 | 说明 |
|---|---|---|
| 1-6 | STRESS(1:6) | 当前应力分量 |
| 7 | xi_hist_ft | 历史最大纤维拉伸失效指标 |
| 8 | xi_hist_fc | 历史最大纤维压缩失效指标 |
| 9 | xi_hist_Mt | 历史最大基体拉伸失效指标 |
| 10 | xi_hist_Mc | 历史最大基体压缩失效指标 |
| 11 | failure_flag | 失效标志(0/1) |
| 12-17 | factor(1:6) | 各方向刚度折减因子 |
- 检查 NPROPS >= 29
- 读取材料参数
- 初始化 STATEV(仅在 KINC=1 时)
- 从 STRAN 读取总应变
- 计算当前有效模量 E_eff = E_0 × factor
- 计算应力 σ 和切线模量 dσ/dε
- 计算四种失效指标 ξ_ft, ξ_fc, ξ_Mt, ξ_Mc
- 更新历史最大失效指标
- 若某一失效模式被激活,则对应方向的刚度折减因子将被更新
- 使用更新后的折减因子重新计算 σ 和 dσ/dε
- 更新 STRESS、DDSDDE、STATEV
- 设置能量项为 0
- 剪切项折减:当前代码中 S13(对应 factor(5))未被基体失效折减,若需折减请修改代码。
- 刚度矩阵:当前 DDSDDE 仅为对角矩阵,若材料有耦合行为需补充非对角项。
- 能量计算:所有能量项(SSE, SPD, SCD, RPL)均设为 0,若需能量输出请自行实现。