共计 1453 个字符,预计需要花费 4 分钟才能阅读完成。
1. 本构模型理论基础
岩石在单轴压缩下的力学行为通常用以下两类本构模型描述:
- 线弹性模型 (Linear Elastic):
- 适用场景:小变形阶段、均质完整岩石
- 核心参数:弹性模量 E(Young’s modulus)、泊松比 ν(Poisson’s ratio)
-
局限性:无法模拟岩石屈服和破坏过程
-
弹塑性模型 (Elastoplastic):
- Drucker-Prager 模型 :
- 考虑岩土材料的摩擦特性
- 关键参数:内摩擦角 φ(Friction angle)、粘聚力 c(Cohesion)、膨胀角 ψ(Dilation angle)
- Mohr-Coulomb 模型 :
- 更适合描述剪切破坏
- 参数与 D - P 模型类似但屈服面形状不同
2. 材料参数获取方法
实验室数据转换公式
-
弹性参数:
E = Δσ/Δε(应力 - 应变曲线线性段斜率)ν = -ε_lateral/ε_axial(横向应变与轴向应变比值的绝对值) -
D- P 模型参数:
φ = arcsin[(σ1-σ3)/(σ1+σ3)](三轴试验数据)c = (σc(1-sinφ))/(2cosφ)(单轴抗压强度 σc 转换)
3. CAE 操作分步演示
关键步骤截图说明
- 创建材料属性:

-
注意勾选 ”Plasticity” 选项
-
设置 D - P 参数:
-
典型值:φ=30°, ψ=5°, c=2MPa
-
边界条件:
- 底部固定,顶部施加位移载荷
4. Python 脚本实现方案
# -*- coding: utf-8 -*-
from abaqus import *
from abaqusConstants import *
# 创建材料
mdb.models['Model-1'].Material(name='Rock')
# 弹性参数
mdb.models['Model-1'].materials['Rock'].Elastic(table=((10e3, 0.25), )) # E=10GPa, ν=0.25
# D- P 参数
mdb.models['Model-1'].materials['Rock'].DruckerPrager(
deviatoricEccentricity=0.1,
table=((30.0, 5.0), ), # φ=30°, ψ=5°
temperatureDependency=OFF
)
mdb.models['Model-1'].materials['Rock'].DruckerPragerPlasticity(
cohesion=2.0, # c=2MPa
temperatureDependency=OFF
)
5. 收敛性调试技巧
- 增量步设置 (Step Module):
- 初始增量步设为 0.01
- 允许最大增量步 0.1
-
最小增量步 1e-6
-
接触算法选择 (Interaction Module):
- 优选 ”Surface-to-surface” 离散方式
- 法向行为用 ”Hard” 接触
- 切向摩擦系数 0.3-0.5
6. 后处理结果验证
-
提取应力应变数据:
S11 - 轴向应力 LE11 - 轴向对数应变 -
与实验曲线对比:
- 检查弹性段斜率是否匹配
- 峰值强度误差应 <5%
进阶思考题
- 如何通过双轴试验数据校准 D - P 模型的膨胀角参数?
- 当模拟高孔隙度岩石时,应该考虑哪些额外的本构特性?
- 对比显式与隐式分析法在岩石压缩模拟中的计算效率差异。
实践心得
刚开始接触岩石仿真时,最容易犯的错误就是直接套用金属材料的参数设置方法。实际上岩土材料的参数敏感性更高,建议先做参数敏感性分析。另外,收敛性问题往往不是算法问题,而是材料参数的单位制不一致导致的——记得检查 MPa 与 GPa 的换算。通过这个案例,我深刻理解了 ” 垃圾进,垃圾出 ” 的仿真真理,合理简化模型的前提是准确把握材料本质特性。
正文完

