第二章 循环应力与应变:应力循环参数、循环应力类型、应变-寿命曲线基础
各位,咱们直接进入正题。
疲劳分析,说白了就是研究材料在反复折腾下怎么坏的。你想想看,一根轴转起来,一个零件装上去,它承受的可不是稳稳当当的力,而是忽大忽小、忽拉忽压的循环载荷。这一章,我们就来聊聊这些循环的“脾气”——应力循环参数、常见的循环类型,以及那个经典的应变-寿命曲线。
核心观点:疲劳寿命预测的起点,就是搞清楚“循环”到底长什么样。搞不清楚这个,后面算再多都是白搭。
1. 应力循环参数——给循环“画像”
一个完整的应力循环,可以用几个关键参数来描述。我个人习惯用这四个:
- 最大应力 σ_max:循环中应力最大的那个值。
- 最小应力 σ_min:循环中应力最小的那个值。
- 应力幅 σ_a:σ_a = (σ_max - σ_min) / 2。这是疲劳损伤的“元凶”。
- 平均应力 σ_m:σ_m = (σ_max + σ_min) / 2。它决定了循环的“基准线”。
还有一个很重要的参数——应力比 R:R = σ_min / σ_max。
我的经验:我在做汽车悬架弹簧疲劳分析时,发现很多同事只盯着应力幅看,忽略了平均应力的影响。结果算出来的寿命跟实际差了好几倍。记住,平均应力不为零时,疲劳寿命会显著变化。拉平均应力会缩短寿命,压平均应力反而可能延长寿命——但别高兴太早,压应力容易引发屈曲。
2. 循环应力类型——常见的几种“折腾”方式
实际工程中,循环应力大致分这么几类:
| 类型 | 应力比 R | 典型例子 |
|---|---|---|
| 对称循环 | R = -1 | 旋转轴、连杆 |
| 脉动循环 | R = 0 | 压力容器、齿轮齿根 |
| 不对称循环 | -1 < R < 1 | 飞机机翼、桥梁构件 |
| 随机循环 | 变化不定 | 路面激励、风载荷 |
对称循环是最“纯粹”的疲劳工况,拉压对称。脉动循环呢,应力从零到最大再回零,比如你踩刹车时制动盘的热应力。不对称循环最常见,说白了就是拉压不对称。
注意:我曾经在分析一个风电塔筒焊缝时,误把随机载荷简化成了对称循环,结果寿命预测偏保守太多,导致设计重量超标。后来改用雨流计数法处理实测数据,才得到合理结果。所以,载荷类型一定要跟实际工况匹配。
3. 应变-寿命曲线基础——ε-N 曲线的来龙去脉
应力-寿命(S-N)曲线大家可能比较熟,但遇到局部塑性变形时,它就不太灵了。这时候就得请出应变-寿命(ε-N)曲线。
ε-N 曲线描述的是总应变幅 Δε/2 与失效循环数 N_f 的关系。它由两部分组成:
- 弹性应变幅:Δε_e/2 = σ'_f / E × (2N_f)^b
- 塑性应变幅:Δε_p/2 = ε'_f × (2N_f)^c
总应变幅就是两者之和:Δε/2 = Δε_e/2 + Δε_p/2。
这里 σ'_f 是疲劳强度系数,b 是疲劳强度指数,ε'_f 是疲劳延性系数,c 是疲劳延性指数。这些参数需要通过试验获得。
关键点:ε-N 曲线的转折点(两条线的交点)对应的寿命称为过渡寿命 2N_t。低于这个寿命,塑性应变占主导;高于它,弹性应变占主导。说白了,短寿命区看延性,长寿命区看强度。
我举个例子。你设计一个承受大应变的部件,比如发动机连杆,它每次工作都会产生微小塑性变形。这时候用 S-N 曲线算,结果会偏危险。改用 ε-N 曲线,才能准确预测寿命。
实用技巧:在做 ε-N 分析时,我建议先用 Neuber 法则或 Glinka 法将名义应力/应变转换为局部应力/应变。我在做某航空发动机涡轮盘分析时,就是用 Neuber 法则修正了缺口根部的局部应变,结果跟试验数据吻合得很好。
最后,给大家一个简单的代码示例,用 Python 画 ε-N 曲线:
import numpy as np
import matplotlib.pyplot as plt
# 材料参数(以4340钢为例)
E = 200e3 # 弹性模量,MPa
sigma_f = 1650 # 疲劳强度系数,MPa
b = -0.076 # 疲劳强度指数
epsilon_f = 0.73 # 疲劳延性系数
c = -0.62 # 疲劳延性指数
# 循环数范围
N = np.logspace(1, 7, 100)
Nf = 2 * N
# 应变幅计算
epsilon_e = sigma_f / E * Nf**b
epsilon_p = epsilon_f * Nf**c
epsilon_total = epsilon_e + epsilon_p
# 绘图
plt.loglog(N, epsilon_e, '--', label='弹性应变幅')
plt.loglog(N, epsilon_p, '--', label='塑性应变幅')
plt.loglog(N, epsilon_total, '-', label='总应变幅')
plt.xlabel('循环数 N')
plt.ylabel('应变幅 Δε/2')
plt.legend()
plt.grid(True, which='both', linestyle='--', alpha=0.6)
plt.title('ε-N 曲线示例 (4340钢)')
plt.show()
嗯,这个代码很简单,但很实用。你可以直接拿自己的材料参数替换,看看曲线长什么样。
再啰嗦一句:ε-N 曲线对材料微观组织很敏感。热处理状态、表面粗糙度、加载频率都会影响曲线位置。我曾经因为忽略了表面加工硬化层的影响,导致预测寿命比实际短了30%。所以,用之前一定要确认材料状态跟试验件一致。
好了,这一章的内容就到这儿。循环参数、应力类型、ε-N 曲线,这三块是疲劳分析的基石。下一章我们聊聊疲劳载荷谱的处理方法——那可是把实测数据变成可用参数的“炼金术”。