第三章 塑性力学基础:屈服准则、流动法则、硬化法则与弹塑性本构模型

各位工程师朋友,大家好。今天我们来聊聊塑性力学的基础。说实话,这部分内容在有限元分析里,是决定计算结果准不准的关键。我见过不少同行,模型建得漂亮,网格画得精细,结果一算,应力超了屈服极限一大截,但材料就是没坏——这多半是屈服准则没选对。

咱们一步步来。先搞清楚材料什么时候开始“不老实”,也就是屈服;然后看它怎么“流动”;再聊聊它怎么“变硬”;最后把这些串起来,形成完整的弹塑性本构模型。

3.1 屈服准则:材料什么时候开始“不老实”?

屈服准则,说白了就是判断材料从弹性进入塑性的门槛。你想想看,单轴拉伸时,应力达到屈服强度σs,材料就屈服了。但实际工程中,零件承受的是多轴应力状态,这时候怎么判断?

目前工程上最常用的两个准则:Tresca和von Mises。我个人的习惯是,对于韧性金属,优先用von Mises;对于脆性材料或者需要保守设计时,会参考Tresca。

3.1.1 Tresca屈服准则(最大切应力理论)

Tresca认为,当最大切应力达到某个临界值时,材料开始屈服。这个临界值就是单轴拉伸时屈服强度的一半。

数学表达式很简单:

τ_max = (σ₁ - σ₃) / 2 = σ_s / 2

其中σ₁和σ₃分别是最大和最小主应力。这个准则的优点是形式简单,缺点是在主应力方向未知时,处理起来比较麻烦。

⚠ 注意: 我曾经在一个压力容器项目中,用Tresca准则校核筒体与封头连接处的应力。结果发现,按Tresca算出来的安全裕度比von Mises小很多。后来仔细分析,是因为该处存在明显的剪切应力分量,Tresca对这种工况比较敏感。所以,选准则时一定要结合受力特点。

3.1.2 von Mises屈服准则(畸变能密度理论)

von Mises准则认为,当材料的畸变能密度达到单轴拉伸时的临界值时,材料屈服。这个准则在工程中应用最广,尤其是金属材料。

它的表达式是:

σ_vM = √[ ( (σ₁-σ₂)² + (σ₂-σ₃)² + (σ₃-σ₁)² ) / 2 ] = σ_s

其中σ_vM就是等效应力。这个准则的好处是,它考虑了三个主应力的共同作用,而且数学形式光滑,便于有限元计算。

💡 个人经验: 我建议大家在Abaqus或ANSYS中,默认使用von Mises准则。除非有特殊要求(比如岩土、混凝土),否则von Mises基本不会出错。记得有一次,我帮一个同事排查一个螺栓连接的分析,他用了Tresca,结果应力集中区一直显示屈服,换成von Mises后,结果就合理了。

3.2 流动法则:屈服之后,材料怎么“动”?

材料屈服了,接下来就要描述塑性变形的方向。流动法则就是干这个的。它告诉我们,塑性应变增量是沿着屈服面的法线方向发展的。这就是所谓的“关联流动法则”。

数学上可以写成:

dεᵖ = dλ · ∂f / ∂σ

其中dεᵖ是塑性应变增量,dλ是塑性乘子(一个标量),f是屈服函数,∂f/∂σ是屈服面的法线方向。

说白了,就是塑性变形朝着“最省力”的方向走。这个方向垂直于屈服面。对于von Mises屈服面,这个方向就是偏应力方向。

🔑 关键点: 流动法则决定了塑性应变增量的方向。如果材料是金属,通常用关联流动法则。如果是岩土或颗粒材料,可能需要用非关联流动法则(塑性势面与屈服面不同)。这个在后续章节会详细讲。

3.3 硬化法则:材料会越变越强吗?

材料屈服后,继续加载,它的屈服强度会发生变化。这就是硬化。硬化法则描述的就是屈服面在应力空间中的演化规律。

常见的硬化法则有三种:

  • 各向同性硬化: 屈服面均匀膨胀。适用于单调加载,比如拉伸、压缩。
  • 随动硬化: 屈服面平移,形状不变。适用于循环加载,比如疲劳分析。
  • 混合硬化: 既膨胀又平移。更接近真实材料行为,但参数多,计算复杂。

我个人的习惯是,对于简单的静力分析,用各向同性硬化就够了。对于需要模拟包辛格效应的循环加载,必须用随动硬化或混合硬化。

⚠ 避坑指南: 我曾经在做一个汽车悬架的疲劳分析时,用了各向同性硬化模型。结果发现,计算出的应力-应变滞回环与实际测试差很多。后来换成随动硬化模型,结果就吻合了。所以,选硬化法则时,一定要考虑加载历史。

3.4 弹塑性本构模型:把上面这些串起来

好了,现在我们把屈服准则、流动法则、硬化法则组合起来,就得到了完整的弹塑性本构模型。这个模型描述了材料从弹性到塑性的完整应力-应变关系。

在有限元中,弹塑性本构模型的实现通常包括以下步骤:

  1. 弹性预测: 假设当前增量步内材料是弹性的,计算试算应力。
  2. 屈服判断: 用屈服准则判断试算应力是否在屈服面内。
  3. 塑性修正: 如果超出屈服面,用流动法则和硬化法则将应力拉回屈服面。
  4. 更新状态: 更新应力、塑性应变、硬化参数等。

下面是一个简单的弹塑性本构模型实现伪代码(以von Mises准则、各向同性硬化为例):

// 弹性预测
σ_trial = σ_old + D_e : Δε

// 计算等效应力
σ_vM = sqrt(3/2 * s : s)  // s为偏应力

// 屈服判断
f = σ_vM - σ_y(ε_p_eq)  // σ_y为当前屈服应力

if f <= 0:
    // 弹性,直接更新
    σ_new = σ_trial
else:
    // 塑性,进行径向返回
    Δλ = f / (3G + H)  // G为剪切模量,H为硬化模量
    n = (3/2) * s / σ_vM  // 流动方向
    σ_new = σ_trial - 2G * Δλ * n
    ε_p_eq_new = ε_p_eq_old + Δλ
    σ_y_new = σ_y(ε_p_eq_new)
endif

这个径向返回算法,是有限元中处理弹塑性问题的标准方法。我建议大家在写自己的UMAT或VUMAT时,一定要把这个流程吃透。

💡 实用技巧: 在编写用户材料子程序时,建议先做弹性预测,再判断屈服。这样代码结构清晰,也便于调试。我刚开始写UMAT时,总是把屈服判断和塑性修正混在一起,结果出了bug很难找。后来改成这种“预测-修正”结构,就顺畅多了。

3.5 本章知识体系图

下面我用一张SVG图,把本章的核心逻辑串起来。你可以把它当作一个思维导图,方便复习。

弹塑性本构模型 屈服准则 • Tresca(最大切应力) • von Mises(畸变能) • 工程常用:von Mises 流动法则 • 关联流动:dεᵖ = dλ·∂f/∂σ • 方向:屈服面法向 • 金属常用关联流动 硬化法则 • 各向同性(膨胀) • 随动硬化(平移) • 混合硬化(两者结合) 数值实现:径向返回算法 1. 弹性预测 → 2. 屈服判断 3. 塑性修正 → 4. 状态更新 完整弹塑性本构模型

这张图把本章的核心逻辑展示得很清楚。从屈服准则到流动法则,再到硬化法则,最后通过径向返回算法实现数值计算。你可以在实际项目中,对照这张图来检查自己的本构模型是否完整。

3.6 小结

这一章我们讲了塑性力学的基础。屈服准则告诉我们材料什么时候开始塑性变形;流动法则描述了塑性变形的方向;硬化法则描述了屈服面的演化;弹塑性本构模型则是这三者的综合。

在实际工程中,我建议大家:

  • 对于常规金属结构,用von Mises屈服准则 + 关联流动法则 + 各向同性硬化,基本够用。
  • 对于循环加载或疲劳问题,一定要用随动硬化或混合硬化。
  • 编写用户材料子程序时,采用“弹性预测-塑性修正”的径向返回算法。

好了,这一章就到这里。下一章我们会深入讨论有限元中弹塑性问题的求解策略,包括隐式与显式积分算法、收敛性控制等。到时候我会分享一些我在实际项目中遇到的收敛困难案例,以及怎么解决的。


公众号:蓝海资料掘金营,微信deep3321