Skip to content

eric-sly/UMAT-For-Composite-materials-With-Ramberg-Osgood-3D-Hashin-Camacho

Repository files navigation

UMAT 代码逻辑与使用说明书

概述

本 UMAT 子程序实现了非线性弹性本构模型(Ramberg-Osgood)Hashin 失效准则 的结合,并引入了 Camacho 刚度折减策略,适用于复合材料的渐进损伤分析。


核心功能

1. 本构模型

  • Ramberg-Osgood 非线性弹性模型

    ε = σ/E_eff × [1 + |σ/σ_0|^n]^(1/n)

    其中:

    • E_eff 为当前有效模量(考虑损伤折减)
    • σ_0 为参考应力
    • n 为硬化指数

2. 失效准则

  • Hashin 失效准则,包含四种失效模式:
    • 纤维拉伸(ξ_ft)
    • 纤维压缩(ξ_fc)
    • 基体拉伸(ξ_Mt)
    • 基体压缩(ξ_Mc)

3. 刚度折减策略(Camacho)

  • 一旦某种失效模式被激活(ξ ≥ 1),对应方向的刚度将被折减:
    • 纤维失效:方向1(纤维方向)
    • 基体失效:方向2、3、4、6(横向与剪切方向)

输入参数(PROPS)

索引 变量名 说明
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 纤维压缩刚度折减系数

状态变量(STATEV)

索引 变量名 说明
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) 各方向刚度折减因子

程序流程

1. 初始化

  • 检查 NPROPS >= 29
  • 读取材料参数
  • 初始化 STATEV(仅在 KINC=1 时)

2. 应变输入

  • 从 STRAN 读取总应变

3. 本构计算(Ramberg-Osgood)

  • 计算当前有效模量 E_eff = E_0 × factor
  • 计算应力 σ 和切线模量 dσ/dε

4. 失效判断(Hashin)

  • 计算四种失效指标 ξ_ft, ξ_fc, ξ_Mt, ξ_Mc
  • 更新历史最大失效指标

5. 刚度折减(Camacho)

  • 若某一失效模式被激活,则对应方向的刚度折减因子将被更新

6. 重新计算应力与刚度

  • 使用更新后的折减因子重新计算 σ 和 dσ/dε

7. 输出更新

  • 更新 STRESS、DDSDDE、STATEV
  • 设置能量项为 0

注意事项

  • 剪切项折减:当前代码中 S13(对应 factor(5))未被基体失效折减,若需折减请修改代码。
  • 刚度矩阵:当前 DDSDDE 仅为对角矩阵,若材料有耦合行为需补充非对角项。
  • 能量计算:所有能量项(SSE, SPD, SCD, RPL)均设为 0,若需能量输出请自行实现。

About

UMAT For Composite materials With Ramberg-Osgood 3D-Hashin Camacho

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors