疲労設計は「最大応力が低いから安全」では終わらない
機械設計で静的強度を確認した後も、繰返し荷重を受ける部品には別の評価が必要になる。静的計算で降伏を避けられても、繰返しによってき裂が発生し、成長して破断することがある。これが疲労破壊である。
油圧機械なら、シリンダの往復動、加圧と除圧、偏心荷重の繰返し、停止時の衝撃、配管の圧力脈動が候補となる。ただし「シリンダが10万回動く」ことと「ある溶接止端に10万回の同じ応力サイクルが入る」ことは同義ではない。設計対象の危険断面で、どの応力履歴が生じるかを最初に定義する必要がある。
この記事では、金属部品の弾性域を主とする高サイクル疲労を中心に、応力振幅・平均応力、応力集中、S-N線図、変動振幅荷重、累積損傷、信頼性と検証計画を一続きの設計判断として整理する。溶接構造、塑性ひずみが支配的な低サイクル疲労、腐食疲労、き裂進展評価には専用の設計手法が必要であり、ここでの単純な式だけでは適合を判定できない。
1. まず決める設計要求と入力条件
寿命要求は「年数」だけでなく荷重履歴で表す
「10年間使用できる」という要求だけでは疲労計算はできない。1日当たりの動作回数、稼働日数、圧力・荷重の分布、起動停止、過負荷の発生頻度を指定する。
例えば1日600サイクル、年間250日、10年使用する場合、単純な運転回数は次のとおり。
$$ N_{\mathrm{duty}}=600\times250\times10=1.50\times10^6\ \mathrm{cycles} $$
これは装置の動作回数であって、危険断面の応力反転数やレインフロー法で数えたサイクル数と必ずしも一致しない。加減速や荷重切替で1動作中に複数の応力極値が生じる場合は、時間履歴から別途カウントする。
設計変数・単位・取得方法
| 変数 | 意味 | 単位 | 主な取得方法 |
|---|---|---|---|
| F(t) | 時刻ごとの外力 | N | 荷重計、機構計算 |
| p(t) | 油圧の時間履歴 | MPa | 圧力センサ |
| σ_max, σ_min | 1サイクルの最大・最小応力 | MPa | 解析・ひずみ計測 |
| σ_a | 応力振幅 | MPa | 最大・最小値から計算 |
| σ_m | 平均応力 | MPa | 最大・最小値から計算 |
| R | 応力比 | 無次元 | 最小応力/最大応力 |
| K_t | 弾性応力集中係数 | 無次元 | 形状解析・資料 |
| K_f | 疲労切欠き係数 | 無次元 | 試験・適用モデル |
| S_u | 引張強さ | MPa | 対象材・熱処理のデータ |
| N_i | 荷重区分iの破断サイクル数 | 回 | 対応するS-Nデータ |
| n_i | 荷重区分iの実負荷サイクル数 | 回 | 稼働履歴・要求仕様 |
| D | 線形累積損傷値 | 無次元 | 損傷和 |
材料名だけでS-N曲線を決めない。表面粗さ、寸法、残留応力、熱処理、温度、腐食環境、加工方向、信頼水準、溶接の有無によって疲労特性は変わる。入力データには出典・試験条件・適用範囲をセットで保存する。
2. 応力履歴を応力振幅と平均応力に分解する
基本式
一定振幅の応力サイクルについて、最大応力と最小応力をそれぞれ $\sigma_{\max}$、$\sigma_{\min}$ とすると、
$$ \sigma_a=\frac{\sigma_{\max}-\sigma_{\min}}{2} $$
$$ \sigma_m=\frac{\sigma_{\max}+\sigma_{\min}}{2} $$
$$ R=\frac{\sigma_{\min}}{\sigma_{\max}} $$
である。応力はMPa、応力比Rは無次元。Rは最大応力が0のとき定義できない。完全両振りはR = -1、引張の片振りはR = 0となる。
例えば最大応力180 MPa、最小応力20 MPaなら、振幅80 MPa、平均100 MPa、Rは約0.111である。最大応力180 MPaをそのままS-N曲線の「応力振幅」として入力するのは誤りである。
平均応力が疲労に与える影響
同じ応力振幅でも、引張平均応力が大きいと疲労に不利になることが多い。簡便な一次評価には修正Goodman線図を用いる場合がある。引張平均応力、弾性域の一定振幅荷重、適合する材料・疲労データを前提に、完全両振りに換算した応力振幅を
$$ \sigma_{a,\mathrm{eq}}=\frac{\sigma_a}{1-\sigma_m/S_u} $$
と表す。ここで $S_u$ は引張強さ(MPa)。分母は無次元なので結果の単位はMPaとなる。$0\leq\sigma_m
Goodman補正は設計モデルの一つであり、疲労強度を保証する規格値ではない。高平均応力、塑性変形、残留応力の変化が大きい場合は別のモデルや試験が必要になる。
3. 応力集中は静的強度と疲労強度で扱いが異なる
形状の角は疲労き裂の起点になる
段付き軸、止め穴、キー溝、ブラケットの隅肉、溶接止端などでは、平均的な公称応力より局所応力が高くなる。弾性応力集中係数 $K_t$ は、同じ定義の公称応力に対する局所最大弾性応力の比である。
$$ K_t=\frac{\sigma_{\mathrm{local,max}}}{\sigma_{\mathrm{nominal}}} $$
疲労切欠き係数 $K_f$ は、材料の切欠き感受性や試験条件を反映する量であり、一般に $K_t$ と同じとは限らない。教育用の近似関係として
$$ K_f=1+q(K_t-1) $$
が使われることがある。$q$ は切欠き感受性(無次元)で、適用条件を満たすモデルで決める。仮に $K_t=2.2$、$q=0.70$ なら $K_f=1.84$ となるが、この数値は製品の設計係数ではない。
二重計上を防ぐ
有限要素解析で局所弾性応力を直接取得し、その応力にさらに $K_t$ を乗じると、同じ応力集中を二重計上する恐れがある。反対に公称応力しか評価していないのに、滑らかな試験片の疲労曲線を無補正で使うと危険側になり得る。
- 公称応力法:公称応力と、その定義に整合する疲労等級・補正を組み合わせる。
- 局所応力法:解析で求めた局所応力と、対応する材料・形状・表面条件の評価法を組み合わせる。
- 溶接構造:一般に専用の疲労等級、構造応力法などを検討し、母材の滑らかな試験片の式をそのまま使わない。
応力の定義とS-Nデータの定義を揃えることが、係数をたくさん掛けることより重要である。
4. S-N線図から寿命を読む
何を表すグラフか
S-N線図は、一定振幅荷重での応力水準と破断までのサイクル数の関係を表す。通常、横軸のサイクル数を対数表示する。データは材料・試験片・表面・平均応力・環境・破断定義・信頼水準とセットで管理する。
限定された範囲で両対数直線に近似できる場合、次のBasquin型の式を用いる。
$$ \sigma_a=C N^b $$
ここで $C$ は応力の単位を持つ係数、$b$ は無次元の傾き、$N$ は無次元のサイクル数である。2点 $(N_1,S_1)$ と $(N_2,S_2)$ から
$$ b=\frac{\ln(S_2/S_1)}{\ln(N_2/N_1)} $$
$$ N=N_1\left(\frac{\sigma_a}{S_1}\right)^{1/b} $$
と計算できる。比を取っているので対数の引数は無次元であり、単位整合性も成立する。$b=0$ の場合は逆算できない。
測定範囲外への外挿をしない。 とくに疲労限度の有無、長寿命域の折れ曲がり、低サイクル側の塑性ひずみを無視して一本の直線を延長しない。非鉄材料や溶接部について、すべての材料に共通する明確な疲労限度があると仮定しない。
試験片の中央値と設計許容曲線は違う
試験で得た代表的なS-N曲線が平均的な破断寿命を表す場合、設計寿命をそのまま保証するものではない。実務では散らばり、試験本数、目標信頼度、信頼区間、製造ばらつきを考慮して設計に使う曲線を決める。統計的な試験計画については後述のISO 12107:2012が参考になる。
5. 変動荷重はサイクルを数えてから損傷を足す
レインフロー法と荷重スペクトル
実機の応力は、理想的な正弦波だけではない。起動・停止・反転・保持・衝撃が重なる。応力時系列から極値を抽出し、レインフロー法などで振幅・平均応力ごとのサイクル数に集約する。カウント法の選択と端点の扱いは結果に影響するため、アルゴリズムと設定を記録する。
Miner則の基本
各応力区分で実際に負荷される回数を $n_i$、その応力条件に対応する寿命を $N_i$ とすると、線形累積損傷は
$$ D=\sum_{i=1}^{k}\frac{n_i}{N_i} $$
で定義される。$n_i$ と $N_i$ はともにサイクル数なので $D$ は無次元。単純なモデルでは $D=1$ を破断目安とすることがあるが、実際の破断をD=1で保証・予測できるわけではない。荷重順序、過大荷重、残留応力、き裂進展、環境、材料の散らばりを単純なMiner則は十分に表現しない。
設計上の許容損傷値 $D_{\mathrm{allow}}$ は、用途・採用規格・信頼性要求・検証実績に基づいて決める必要がある。任意に小さくすれば信頼性が定量保証されるというものでもない。
6. 代表計算:2種類の繰返し荷重を受ける金属ブラケット
前提と入力
以下は計算手順を理解するための仮想データであり、特定鋼種の保証値、製品の許容応力、規格上の安全係数ではない。危険断面の応力は、形状・切欠き・表面状態を考慮した評価モデルから得たものと仮定し、ここでは $K_t$ や $K_f$ を追加で乗じない。S-Nデータも同じ評価応力の定義に対応していると仮定する。
| 項目 | 設定値 | 備考 |
|---|---|---|
| 引張強さ S_u | 500 MPa | 仮想材料値 |
| S-N点1 | 180 MPa、100,000回 | 完全両振り相当の仮想値 |
| S-N点2 | 110 MPa、1,000,000回 | 同上 |
| 荷重区分A:応力振幅 | 120 MPa | 局所評価応力 |
| 荷重区分A:平均応力 | 60 MPa | 引張平均応力 |
| 荷重区分A:負荷回数 | 80,000回 | 要求寿命中の回数 |
| 荷重区分B:応力振幅 | 90 MPa | 局所評価応力 |
| 荷重区分B:平均応力 | 100 MPa | 引張平均応力 |
| 荷重区分B:負荷回数 | 300,000回 | 要求寿命中の回数 |
| 仮の設計ゲート D_allow | 0.50 | 教育用の社内仮定、規格値ではない |
Step 1:最大・最小応力を確認する
区分Aは最大180 MPa、最小 -60 MPa。区分Bは最大190 MPa、最小10 MPaである。応力振幅だけを比較するとAが大きいが、Bの平均応力は大きい。降伏強さが与えられていないため、最大応力の降伏安全率はこの入力だけでは判定できない。
Step 2:平均応力をGoodman補正する
区分A:
$$ \sigma_{a,\mathrm{eq,A}}=\frac{120}{1-60/500}=136.36\ \mathrm{MPa} $$
区分B:
$$ \sigma_{a,\mathrm{eq,B}}=\frac{90}{1-100/500}=112.50\ \mathrm{MPa} $$
どちらも補正後の応力が仮想S-Nデータの110~180 MPaの範囲内にある。したがって、この例では内挿に相当する。
Step 3:S-N線図の傾きを求める
$$ b=\frac{\ln(110/180)}{\ln(10^6/10^5)}\approx-0.21388 $$
これを使って寿命を推定する。
$$ N_A=10^5\left(\frac{136.36}{180}\right)^{1/(-0.21388)}\approx3.66\times10^5\ \mathrm{cycles} $$
$$ N_B=10^5\left(\frac{112.50}{180}\right)^{1/(-0.21388)}\approx9.00\times10^5\ \mathrm{cycles} $$
Step 4:累積損傷を計算する
$$ D_A=\frac{80000}{366223}\approx0.2184 $$
$$ D_B=\frac{300000}{900259}\approx0.3332 $$
$$ D=D_A+D_B\approx0.5517 $$
| 区分 | 補正後振幅 | 推定寿命 | 損傷 |
|---|---|---|---|
| A | 136.36 MPa | 約366,223回 | 0.2184 |
| B | 112.50 MPa | 約900,259回 | 0.3332 |
| 合計 | — | — | 0.5517 |
Step 5:設計判断と未確認事項
仮のゲート $D_{\mathrm{allow}}=0.50$ と比較すると $0.5517>0.50$ であり、この例の一次設計ゲートは不合格である。仮にゲートを1.0とすれば単純Miner則の計算上は下回るが、それだけで信頼性を満足したとは判断できない。
次に必要なのは、断面・R形状の見直し、荷重の実測、S-Nデータの適合性確認、降伏判定、製造ばらつきと環境の考慮である。疲労評価値が境界付近にあるときほど、入力誤差やモデル不確かさを明示する。
7. 設計変更で何が効くか
応力振幅を下げる
板厚・断面形状の変更、荷重作用点の変更、支点配置の見直しは、危険断面の応力振幅を減らす候補になる。ただし重量増や剛性増が共振特性を変える場合もあり、単純に厚くするだけでは済まない。
応力集中を緩和する
急な段差を避け、適切なフィレットや逃げ形状を設ける。穴・溶接止端・加工傷の位置を荷重経路と照合する。表面処理やショットピーニング等の効果は、工程品質・残留応力の保持・材料と使用環境の適合が確認できる場合に評価する。
荷重スペクトルを減らす
圧力ピーク、急停止、衝撃、振動を抑える制御変更も選択肢である。油圧装置では設定圧力だけでなく、弁切替時の過渡圧力やシリンダ端当たり時の荷重を記録する。荷重低減は、強度設計と制御設計をまたぐ有効な対策になる。
製造と検査でばらつきを抑える
加工傷、研削焼け、溶接欠陥、熱処理のばらつき、腐食防止、表面粗さ、非破壊検査などを図面・工程・検査計画へ落とし込む。材料の「引張強さが高い」だけで疲労寿命が比例して増えるとは限らない。
8. 疲労評価を使ってはいけない条件と故障モード
低サイクル疲労・塑性域
繰返し中に局所塑性ひずみが支配的なら、弾性応力を前提とする単純S-N法だけでは不十分。ひずみ寿命法や、必要に応じてASTM E606/E606Mなどの試験手法を検討する。
溶接構造
溶接止端・ルート部では、溶接形状、欠陥、残留応力、応力定義に対応した専用の疲労設計手法を採用する。母材のGoodman補正や滑らかな試験片のS-N曲線をそのまま転用しない。
腐食・温度・摩耗・フレッティング
腐食環境では大気中の試験データが適用できない場合がある。温度変動、表面接触の微小すべり、油の汚染、締結の緩みも疲労起点を変える。複合要因を単純な補正係数の積で済ませない。
疲労き裂が見つかった場合
既にき裂が存在する部品の残存寿命評価には、初期き裂寸法、応力拡大係数、き裂進展速度、検査間隔等を用いる破壊力学的手法が必要になる。S-N法は、き裂の進展と検出可能性を直接評価する手法ではない。
| 故障・誤設計 | 典型的な原因 | レビュー時の対策 |
|---|---|---|
| 穴縁からの疲労き裂 | 局所応力集中を無視 | 応力定義・形状・局所評価を照合 |
| 溶接止端の割れ | 母材S-N曲線を流用 | 溶接専用評価へ切替 |
| 想定より早い破断 | 実負荷のピークを未計測 | 実機の時間履歴を取得 |
| 計算上の長寿命を過信 | S-Nデータを範囲外に外挿 | データ適用範囲をゲート化 |
| 過大な寿命予測 | 平均応力・表面・腐食を無視 | 補正の妥当性と試験条件を照合 |
| 破損を見逃す | 点検性と検出限界が未設計 | 検査方法・周期・交換基準を決定 |
9. 信頼性と安全率をどう扱うか
疲労寿命は確定値ではなく散らばりを持つ。設計レビューでは「平均的な寿命が要求値を超えるか」と「要求信頼度での寿命が要求値を超えるか」を分ける。必要な信頼度と信頼水準を決め、試験データの分布・母集団の妥当性を評価する。試験本数が少ないのに、95%信頼などの数字だけを付けても根拠にはならない。
疲労における安全率は、応力に掛ける係数、寿命に掛ける係数、設計S-N曲線の下限化、許容損傷値の設定など、どこに適用するかで意味が違う。係数の二重計上と未計上を避け、設計規格または社内設計基準に従って一貫した評価系を組む。
高リスク部位では、解析だけで完了とせず、代表部品試験、実機耐久試験、非破壊検査、保全周期、故障時の安全措置を合わせて検討する。寿命の長さと、故障したときの危険度は別の軸である。
10. 実務の設計手順と検証ゲート
- 要求を定義:目標使用年数、稼働率、動作回数、故障時の安全要求を決める。
- 荷重を定義:圧力・荷重・振動・温度の時系列と過渡ピークを収集する。
- 危険断面を選ぶ:穴、段差、溶接部、固定端などの荷重経路を確認する。
- 応力評価法を選ぶ:公称応力か局所応力か、溶接専用法かを明記する。
- サイクルを計数:一定振幅なら直接、変動荷重なら定義済みの計数法を使う。
- 疲労データを選ぶ:材料、形状、環境、平均応力、信頼水準の整合を確認する。
- 寿命を評価:S-N内挿、平均応力補正、累積損傷を条件付きで適用する。
- 別の破損モードを確認:降伏、座屈、摩耗、腐食、き裂進展、共振を分離評価する。
- 検証を計画:実機計測、試験片・部品試験、製造工程の検査を設定する。
- 設計記録を残す:入力版数、曲線出典、式、判定、未確認事項、承認者を保存する。
11. 参考規格・一次資料と確認範囲
以下は2026年10月24日に発行元の公開ページで版と公開状態を確認した資料である。規格本文の全条項を閲覧・適用したものではなく、特定機械への適合認証を意味しない。
| 資料 | 公開状態の確認 | 記事での位置づけ |
|---|---|---|
| ISO 12107:2012 | ISO公式で2026年再確認・現行 | 疲労試験の統計計画・データ分析 |
| ASTM E466-21 | ASTM公式でActive | 金属の荷重制御・一定振幅軸疲労試験 |
| ASTM E1049-85(2023) | ASTM公式でActive | 変動履歴のサイクル計数法 |
| ASTM E606/E606M-21 | ASTM公式でActive | ひずみ制御の疲労試験 |
| ASTM E739-23 | ASTM公式で2024年Withdrawn | 現行規格として引用しない注意例 |
- ISO 12107:2012(ISO公式)
- ASTM E466-21(ASTM公式)
- ASTM E1049-85(2023)(ASTM公式)
- ASTM E606/E606M-21(ASTM公式)
- ASTM E739-23の撤回情報(ASTM公式)
注意:これらの多くは試験方法・統計処理・サイクル計数に関する規格であり、任意の機械部品に共通の許容応力・寿命係数を指定するものではない。JIS対応規格、適用製品規格、溶接構造の評価規格、メーカー固有の疲労データは対象機械を特定した段階で別途確認する。
12. 設計チェックリスト
- ☐ 要求寿命を稼働回数・荷重スペクトルまで分解したか。
- ☐ 危険断面と荷重経路、応力の正負・座標系を明記したか。
- ☐ 最大応力・最小応力から振幅と平均応力を正しく求めたか。
- ☐ 公称応力と局所応力、KtとKfを混同・二重計上していないか。
- ☐ S-N曲線の材料、製法、表面、環境、平均応力、信頼水準が整合するか。
- ☐ S-Nデータの試験範囲外を外挿していないか。
- ☐ 平均応力補正の適用範囲と降伏判定を確認したか。
- ☐ 変動荷重の計数方法、端点処理、荷重順序の限界を記録したか。
- ☐ Miner則の許容損傷値と根拠を記録したか。
- ☐ 溶接、腐食、温度、低サイクル、共振など別手法が必要な条件を除外・評価したか。
- ☐ 実測、耐久試験、検査方法、交換周期、故障時安全を検討したか。
- ☐ 未確認事項とレビュー担当を記録したか。
13. 知識資産化できる項目
データと計算ロジックを分離する
計算の再利用では、式だけでなく式が使える条件を機械判定できる形にする。例えば curve_basis に応力定義、valid_stress_range_mpa に内挿可能範囲、mean_stress_model に補正法、data_status に仮定値か検証済みかを保存する。
{
"schema_version": "1.0",
"calculation": "sn_miner_goodman_demo",
"data_status": "illustrative_only",
"units": {"stress": "MPa", "cycles": "cycle"},
"ultimate_strength_mpa": 500.0,
"curve_basis": "local_equivalent_fully_reversed_stress",
"sn_points": [
{"stress_mpa": 180.0, "cycles": 100000},
{"stress_mpa": 110.0, "cycles": 1000000}
],
"valid_stress_range_mpa": [110.0, 180.0],
"mean_stress_model": "modified_goodman_tensile_mean_only",
"load_blocks": [
{"id": "A", "amplitude_mpa": 120.0, "mean_mpa": 60.0, "cycles": 80000},
{"id": "B", "amplitude_mpa": 90.0, "mean_mpa": 100.0, "cycles": 300000}
],
"allowable_damage": 0.5,
"unverified": ["yield_strength", "reliability_curve", "environment", "component_test"]
}
最小のPython計算関数
次のコードは例題の算術を再現するための最小実装。規格適合性や疲労寿命の保証を行うソフトウェアではない。実用化時はデータ検証、単位、例外、版管理、テスト、根拠文書との紐付けを追加する。
from math import log
def basquin_slope(n1: float, s1: float, n2: float, s2: float) -> float:
if min(n1, n2, s1, s2) <= 0 or n1 == n2:
raise ValueError("S-N点の値または範囲が不正です")
b = log(s2 / s1) / log(n2 / n1)
if b == 0:
raise ValueError("傾きゼロの曲線は寿命逆算不可")
return b
def equivalent_amplitude(amplitude: float, mean: float, su: float) -> float:
if amplitude < 0 or not 0 <= mean < su:
raise ValueError("このGoodman近似の適用範囲外です")
return amplitude / (1 - mean / su)
def life_cycles(amplitude: float, n_ref: float, s_ref: float,
b: float, stress_min: float, stress_max: float) -> float:
if not stress_min <= amplitude <= stress_max:
raise ValueError("S-N試験範囲外への外挿を禁止します")
return n_ref * (amplitude / s_ref) ** (1 / b)
b = basquin_slope(100000, 180, 1000000, 110)
blocks = [(120, 60, 80000), (90, 100, 300000)]
damage = 0.0
for amplitude, mean, cycles in blocks:
equivalent = equivalent_amplitude(amplitude, mean, 500)
life = life_cycles(equivalent, 100000, 180, b, 110, 180)
damage += cycles / life
print(f"equivalent={equivalent:.2f} MPa, life={life:.0f}, damage={cycles/life:.4f}")
print(f"total_damage={damage:.4f}, demo_gate_pass={damage <= 0.5}")
DB・CSV・設計ルールに落とす場合
| 資産種別 | 保存する主なフィールド | 自動判定の例 |
|---|---|---|
| Requirement | 寿命、稼働回数、信頼度、故障時安全 | 要求の欠落検出 |
| LoadSpectrum | 荷重ID、振幅、平均値、回数、計数法 | 単位・負荷回数検証 |
| MaterialFatigueData | 材料、熱処理、表面、曲線、出典、版 | 曲線適用条件照合 |
| StressMethod | 公称/局所、Kt、Kf、解析モデル | 二重計上の警告 |
| FatigueCalculation | 補正式、N_i、n_i、D、許容値 | 外挿・ゲート判定 |
| Verification | 試験条件、計測値、検査方法、判定 | 計算と実測の差分記録 |
まずは、入力条件・曲線の出典・適用可否・計算結果・未確認事項を1レコードにすることが、疲労設計の再利用性を高める。計算を自動化しても、入力の物理的妥当性と検証責任は設計者に残る。
