4.2.3 疲劳强度试验 11.14

1. 计算方法

疲劳强度试验也称作疲劳极限试验、强度试验或响应试验,其目标是预估在给定高周疲劳寿命条件下疲劳强度的统计分布。在众多疲劳强度试验方法中,阶梯法(通常被称为上下法)是一种最常用的方法,已被许多标准所采纳,如英国标准协会({[4]})、日本机械工程师协会()、法国标准化委员会(L’association Francaise de Normalisation)({[22]})和美国金属粉末工业联合会(MPIF)(),用于预估疲劳极限的统计特性。

在疲劳强度试验中,首先必须预估平均疲劳极限。然后,在略高于预估平均应力的应力水平下进行疲劳寿命试验。如果试样在该应力水平的疲劳寿命之前发生失效,下一个试样必须在较低应力水平下进行试验。如果试样在这一应力水平的疲劳寿命之内没有发生失效,新的试验必须在较高应力水平下进行。因此,每个试验取决于上一个试验的结果,并且通过增加或降低应力水平继续进行试验。这个过程如图4.7所示。柯林斯(Collins)1993年建议,进行试验至少需要15个试样。应力增量通常低于平均疲劳极限初期预估值的5%左右(^{[3]})。

迪克森–姆德(Dixon – Mood)和张–凯塞西奥格鲁(Zhang – Kececioglu)分别在1948年和1998年推出了两种典型的数据简化方法({[6][54]}),用于确定试验结果的统计参数。关于这两种方法的讨论(),在其它参考文献中张–凯塞西奥格鲁提出,采用极大似然估计法或终止项分析法进行统计分析。迪克逊–姆德法是根据极大似然估计法推导出的,并假设疲劳极限非常符合正态分布。前一种方法具有将试验数据与非正态分布进行拟合的灵活性,并且可以用于可变的应力梯级。后一种方法易于使用,其结果通常较为保守。因而,这是本章研究的重点。

迪克逊–姆德提供了用于计算疲劳极限((S_{\mathrm{s}}))平均数((\mu_{\mathrm{s}}))和标准差((\sigma_{\mathrm{s}}))的近似公式。这种方法假设疲劳极限服从正态分布,需要利用小概率事件数据来确定这两个统计特性(例如,或是只有失效,或是只有存活率)。将以所选增量(d)等距隔开的应力水平(S_i)编号为(i),其中,在最低应力水平(S_0)时(i = 0)。应力增量应在疲劳极限两倍标准差的一半范围内。

在编号应力水平(i)上的小概率事件数用(n_{\mathrm{DM},i})来表示,可以计算出(A_{\mathrm{DM}})和(B_{\mathrm{DM}})两个量:

\[A_{\mathrm{DM}} = \sum i n_{\mathrm{DM},i} \tag{4.2.25} \]

\[B_{\mathrm{DM}} = \sum i^2 n_{\mathrm{DM},i} \tag{4.2.26} \]

则预估的平均值为

\[\mu_{\mathrm{s}} = S_0 + d\left(\frac{A_{\mathrm{DM}}}{\sum n_{\mathrm{DM},i}} \pm \frac{1}{2}\right) \tag{4.2.27} \]

式中,若小概率事件是存活率,则采用加号((+)),若小概率事件是失效,则采用减号((-))。

标准差采用下式预估:
如果(\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM},i} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM},i})^2} \geqslant 0.3),

\[\sigma_{\mathrm{s}} = 1.62d\left[\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM},i} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM},i})^2} + 0.029\right] \tag{4.2.28} \]

或者,如果(\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM},i} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM},i})^2} < 0.3),

\[\sigma_{\mathrm{s}} = 0.53d \tag{4.2.29} \]

根据正态分布的平均值(\mu_{\mathrm{s}})和标准差(\sigma_{\mathrm{s}}),利用单侧下界公差极限(K)系数可以确定与可靠性和置信水平相关的下界值(^{[24]}):

\[S_{\mathrm{s,R,C}} = \mu_{\mathrm{s}} - K\sigma_{\mathrm{s}} \tag{4.2.30} \]

式中,正态分布单侧公差极限的(K)系数在表4.6和表4.7中列出。下界限疲劳极限(S_{\mathrm{s,R,C}})意味着,置信水平(C%)和存活率(R%)的试验疲劳极限预计会超过(S_{\mathrm{s,R,C}})。

表4.6 正态分布单侧下界公差极限的(K)系数(^{[24]})

(C) 0.75 0.90
(R) 0.75 0.90 0.95 0.99 0.999 0.75 0.90 0.95 0.99 0.999
(n)
3 1.464 2.501 3.152 4.396 5.805 2.602 4.258 5.310 7.340 9.651
4 1.256 2.134 2.680 3.726 4.910 1.972 3.187 3.967 5.437 7.128

2.数据案例

2.1 例4.5

根据图4.7所示的阶梯试验结果,确定疲劳极限统计特性及其R95C90值。图4.7中的黑点和圆圈分别表示,在(107)次循环之前失效和在(107)次循环处终止的试验数据。

解:本例分析中采用了存活率,因为它们是这些结果的小概率事件。因此,

\[\begin{align*} i = 0 &\quad S_0 = 360\mathrm{MPa} \quad n_{\mathrm{DM},0} = 1 \\ i = 1 &\quad S_1 = 380\mathrm{MPa} \quad n_{\mathrm{DM},1} = 4 \\ i = 2 &\quad S_2 = 400\mathrm{MPa} \quad n_{\mathrm{DM},2} = 6 \\ i = 3 &\quad S_3 = 420\mathrm{MPa} \quad n_{\mathrm{DM},3} = 1 \\ i = 4 &\quad S_4 = 440\mathrm{MPa} \quad n_{\mathrm{DM},4} = 0 \\ \end{align*} \]

\[\sum n_{\mathrm{DM}} = 12, d = \text{均等的应力增量} = 20\mathrm{MPa} \]

根据方程(4.2.25)和方程(4.2.26),可以获得

\[A_{\mathrm{DM}} = \sum_{i=0}^4 i n_{\mathrm{DM},i} = 0 + (1 \times 4) + (2 \times 6) + (3 \times 1) + 0 = 19 \]

\[B_{\mathrm{DM}} = \sum_{i=0}^4 i^2 n_{\mathrm{DM},i} = 0 + (1^2 \times 4) + (2^2 \times 6) + (3^2 \times 1) + 0 = 37 \]

根据方程(4.2.27),

\[\mu_{\mathrm{s}} = S_0 + d\left(\frac{A_{\mathrm{DM}}}{\sum n_{\mathrm{DM}}} + \frac{1}{2}\right) = 360 + 20 \times \left(\frac{19}{12} + \frac{1}{2}\right) = 401.7\mathrm{MPa} \]

由于

\[\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM}} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM}})^2} = 0.58 > 0.3 \]

可以根据方程(4.2.28),对标准差估算如下:

\[\sigma_{\mathrm{s}} = 1.62d\left(\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM}} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM}})^2} + 0.029\right) = 1.62 \times 20 \times (0.58 + 0.029) = 19.7\mathrm{MPa} \]

因此,估算的疲劳耐久性强度平均值和标准差分别是(401.7\mathrm{MPa})和(19.7\mathrm{MPa})。

假设疲劳极限服从正态分布,采用单侧下界公差极限方法,可以求出R95C90疲劳极限值:

\[S_{\mathrm{e},0.95,0.9} = \mu_{\mathrm{s}_2} - K\sigma_{\mathrm{s}} \]

式中:(K)为2.448,由表4.6中利用(n_{\mathrm{t}} = 12)查得。因此,

\[S_{\mathrm{e},0.95,0.9} = \mu_{\mathrm{s}_2} - K\sigma_{\mathrm{s}} = 401.7 - 2.448 \times 19.7 = 353.5\mathrm{MPa} \]

2.2 例4.6(应用)

图4.8所示的为一个汽车进气门系统,包括凸轮、从动件、长推杆、摇臂和气门弹簧。进气门摇臂由SAE 1008热轧钢制成,表面粗糙度为(1.1\mu\mathrm{m})。材料的洛氏硬度((RB))范围为50~70。检验摇臂的耐久性准则。这意味着,(10^7)次循环时的R90C90疲劳强度应超过最大工作载荷与一个安全系数的乘积。假设在本例中所采用安全系数为1.3。

采用(R = 0)的循环加载方式,对摇臂进行(10^7)次循环疲劳强度的阶梯(或上下)疲劳试验。将试验装置设计成三级转换形式,即从气门顶端持续承受循环载荷,然后迫使枢轴和推杆运动。气门顶端循环载荷从零到特定的最大载荷之间变化。图4.9示出了阶梯试验的结果,图4.10示出了气门顶端载荷计算值((N))相对于发动机转速((r/\mathrm{min}))的变化。

(1)采用迪克逊–姆德方法,分析(10^7)次循环时阶梯疲劳试验的统计疲劳强度。
(2)采用单侧下界公差极限方法,确定(10^7)次循环时的R90C90疲劳强度。
(3)计算安全系数,检验摇臂设计是否满足耐久性目标。

解:鉴于试件存活的数量小于失效的数量,故而对存活试件进行计数:

\[\begin{align*} i = 0 &\quad P_0 = 14500\mathrm{N} \quad n_{\mathrm{DM},0} = 3 \\ i = 1 &\quad P_1 = 14900\mathrm{N} \quad n_{\mathrm{DM},1} = 4 \\ i = 2 &\quad P_2 = 15300\mathrm{N} \quad n_{\mathrm{DM},2} = 4 \\ i = 3 &\quad P_3 = 15700\mathrm{N} \quad n_{\mathrm{DM},3} = 3 \\ i = 4 &\quad P_4 = 16100\mathrm{N} \quad n_{\mathrm{DM},4} = 1 \\ i = 5 &\quad P_5 = 16500\mathrm{N} \quad n_{\mathrm{DM},5} = 0 \\ \end{align*} \]

\[\sum n_{\mathrm{DM},i} = 15 \]

(1)求解疲劳极限的平均值,

\[\mu_{\mathrm{s}} = P_0 + P_{\mathrm{d}}\left(\frac{A_{\mathrm{DM}}}{\sum n_{\mathrm{DM},i}} \pm \frac{1}{2}\right) \]

式中:(A_{\mathrm{DM}} = \sum (i)(n_i)),(\mu_{\mathrm{s}} =)在一个给定寿命时的平均疲劳强度;(P_0 =)小概率事件发生时的最低载荷水平;(P_{\mathrm{d}} =)载荷增量;(n_{\mathrm{DM},i} =)编号为(i)应力水平时的小概率事件数。

需要注意的是,如果小概率事件是存活率则使用加号,如果小概率事件是失效则使用减号。

\[A_{\mathrm{DM}} = \sum (i)(n_{\mathrm{DM},i}) = 0 \times 3 + 1 \times 4 + 2 \times 4 + 3 \times 3 + 4 \times 1 + 5 \times 0 = 25 \]

\[\mu_{\mathrm{s}} = P_0 + P_{\mathrm{d}}\left(\frac{A}{\sum n_{\mathrm{DM},i}} + \frac{1}{2}\right) = 14500 + 400 \times \left(\frac{25}{15} + \frac{1}{2}\right) = 15400 \]

(2)求解疲劳极限的标准差,

\[B_{\mathrm{DM}} = \sum (i^2) \cdot (n_{\mathrm{DM},i}) \]

\[B_{\mathrm{DM}} = 0^2 \times 3 + 1^2 \times 4 + 2^2 \times 4 + 3^2 \times 3 + 4^2 \times 1 + 5^2 \times 0 = 63 \]

\[\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM},i} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM},i})^2} = \frac{63 \times 15 - 25^2}{15^2} = 1.42 \]

由于(1.42 > 0.3),(\sigma_{\mathrm{s}} = 1.62P_{\mathrm{d}}\left(\frac{B_{\mathrm{DM}} \sum n_{\mathrm{DM},i} - A_{\mathrm{DM}}^2}{(\sum n_{\mathrm{DM},i})^2} + 0.029\right))

\[\sigma_{\mathrm{s}} = 1.62 \times 400 \times \left(\frac{63 \times 15 - 25^2}{15^2} + 0.029\right) = 940 \]

(3)利用单侧下界公差极限法和表4.6中的(n = 15),确定在(10^7)次循环时的R90C90疲劳强度:

\[P_{\mathrm{R90C90}} = \mu_{\mathrm{s}} - K_{\mathrm{R90C90}}\sigma_{\mathrm{s}} = 15400 - 1.866 \times 940 = 13646 \]

(4)计算安全系数,检验摇臂设计是否满足目标:

带入(P_{\max} = 8000\mathrm{N})

\[\text{设计系数} = \frac{P_{\mathrm{R90C90}}}{P_{\max}} = \frac{13646}{8000} = 1.71 > S.F. = 1.3 \]

3.编程计算

4.附录

4.3 完整程序


import math

def calculate_fatigue_properties(lowest_level, increment, n_list, is_survival=True):
    """
    基于迪克森-姆德法计算疲劳极限统计特性
    :param lowest_level: 最低应力/载荷水平(S0或P0)
    :param increment: 应力/载荷增量(d或Pd)
    :param n_list: 各水平小概率事件数列表(索引对应i值)
    :param is_survival: 是否为存活率(True=存活率,False=失效数)
    :return: 平均值、标准差
    """
    sum_n = sum(n_list)
    # 计算A_DM和B_DM
    A_DM = 0
    B_DM = 0
    for i, n in enumerate(n_list):
        A_DM += i * n
        B_DM += (i ** 2) * n
    
    # 计算平均值
    sign = 0.5 if is_survival else -0.5
    mean = lowest_level + increment * (A_DM / sum_n + sign)
    
    # 计算标准差
    numerator = B_DM * sum_n - A_DM ** 2
    denominator = sum_n ** 2
    ratio = numerator / denominator
    
    if ratio >= 0.3:
        std = 1.62 * increment * (ratio + 0.029)
    else:
        std = 0.53 * increment
    
    return mean, std, A_DM, B_DM

def get_k_coefficient(sample_size, reliability, confidence):
    """
    从表4.6获取K系数(仅包含案例所需数值,可扩展完整表格)
    :param sample_size: 样本量(sum_n)
    :param reliability: 存活率(如0.95、0.90)
    :param confidence: 置信水平(如0.90)
    :return: K系数
    """
    # 表4.6关键数据映射(n: {置信度: {存活率: K值}})
    k_table = {
        12: {0.90: {0.95: 2.448}},  # 例4.5所需:n=12, C=0.90, R=0.95
        15: {0.90: {0.90: 1.866}}   # 例4.6所需:n=15, C=0.90, R=0.90
    }
    return k_table[sample_size][confidence][reliability]

def calculate_lower_bound(mean, std, k):
    """计算单侧下界疲劳强度(S_s,R,C 或 P_R90C90)"""
    return mean - k * std

# ---------------------- 例4.5 计算 ----------------------
print("="*50)
print("例4.5 计算结果")
print("="*50)
# 例4.5参数:S0=360MPa,d=20MPa,各i对应的n值(i=0到4)
n_list_45 = [1, 4, 6, 1, 0]  # i=0到4的n_DM,i
S0_45 = 360
d_45 = 20
sum_n_45 = sum(n_list_45)

# 计算平均值和标准差
mean_45, std_45, A_45, B_45 = calculate_fatigue_properties(S0_45, d_45, n_list_45, is_survival=True)
print(f"A_DM = {A_45}, B_DM = {B_45}")
print(f"疲劳极限平均值μ_s = {mean_45:.2f} MPa")
print(f"疲劳极限标准差σ_s = {std_45:.2f} MPa")

# 计算R95C90值(存活率95%,置信水平90%)
k_45 = get_k_coefficient(sum_n_45, 0.95, 0.90)
lower_bound_45 = calculate_lower_bound(mean_45, std_45, k_45)
print(f"R95C90疲劳极限 = {lower_bound_45:.2f} MPa")

# ---------------------- 例4.6 计算 ----------------------
print("\n" + "="*50)
print("例4.6 计算结果")
print("="*50)
# 例4.6参数:P0=14500N,Pd=400N,各i对应的n值(i=0到4)
n_list_46 = [3, 4, 4, 3, 1]  # i=0到4的n_DM,i
P0_46 = 14500
Pd_46 = 400
sum_n_46 = sum(n_list_46)
P_max_46 = 8000  # 最大工作载荷
safety_factor_req = 1.3  # 要求的安全系数

# 计算平均值和标准差
mean_46, std_46, A_46, B_46 = calculate_fatigue_properties(P0_46, Pd_46, n_list_46, is_survival=True)
print(f"A_DM = {A_46}, B_DM = {B_46}")
print(f"疲劳载荷平均值μ_s = {mean_46:.2f} N")
print(f"疲劳载荷标准差σ_s = {std_46:.2f} N")

# 计算R90C90值(存活率90%,置信水平90%)
k_46 = get_k_coefficient(sum_n_46, 0.90, 0.90)
lower_bound_46 = calculate_lower_bound(mean_46, std_46, k_46)
print(f"R90C90疲劳载荷 = {lower_bound_46:.2f} N")

# 计算安全系数
safety_factor = lower_bound_46 / P_max_46
print(f"实际安全系数 = {safety_factor:.2f}")
print(f"是否满足设计要求(≥{safety_factor_req}): {'是' if safety_factor >= safety_factor_req else '否'}")

5.参考文献

posted @ 2025-11-14 15:05  redufa  阅读(3)  评论(0)    收藏  举报