レインフロー法(サイクルカウント)
理論と物理
レインフロー法とは
先生、レインフロー法って何ですか?
レインフロー法(Rainflow Counting)は変動荷重の時刻歴から閉じたヒステリシスループ(サイクル)を抽出する手法。Endo and Matsuishi(1968年、日本の遠藤・松石)が雨水の流れに例えて命名。
なぜサイクルカウントが必要か
S-N曲線やCoffin-Manson式は一定振幅の疲労寿命を与える。実荷重は変動振幅。レインフロー法で変動荷重を「多数の一定振幅サイクルの集まり」に分解し、Miner則で累積損傷を計算。
アルゴリズム
1. 応力時刻歴のピーク/バレーを抽出
2. 「雨水が屋根(pagoda roof)を流れ落ちる」ように閉じたサイクルを特定
3. 各サイクルの応力範囲 $\Delta\sigma$ と平均応力 $\sigma_m$ を記録
4. ヒストグラム(レインフローマトリクス)を構築
まとめ
「雨が屋根を流れる」アルゴリズム
レインフロー法の名前の由来は、応力時刻歴グラフを90°回転させると屋根から雨が流れ落ちるように見えることから来ている。1968年に松本登・宗宮恒二らが提案し、不規則変動荷重から疲労サイクルを正確に抽出する手法として世界標準となった。ASTM E1049として1985年に標準化された。
各項の物理的意味
- 慣性項(質量項):$\rho \ddot{u}$、つまり「質量×加速度」。急ブレーキで体が前に投げ出された経験はありませんか? あの「持っていかれる感じ」がまさに慣性力です。重い物体ほど動き出しにくく、動き出したら止まりにくい。地震で建物が揺れるのも、地面が急に動いたのに建物の質量が「置いていかれる」から。静解析ではこの項をゼロにしますが、それは「ゆっくり力をかけるから加速度は無視できる」という仮定です。衝撃荷重や振動問題では絶対に省略できません。
- 剛性項(弾性復元力):$Ku$ や $\nabla \cdot \sigma$。ばねを引っ張ると「戻ろうとする力」を感じますよね? あれがフックの法則 $F=kx$ であり、剛性項の本質です。では質問——鉄の棒とゴム紐、同じ力で引っ張るとどちらが伸びるでしょうか? 当然ゴムです。この「伸びにくさ」がヤング率 $E$ であり、剛性を決めます。よくある勘違い:「剛性が高い=強い」ではありません。剛性は「変形しにくさ」、強度は「壊れにくさ」で、別の概念です。
- 外力項(荷重項):体積力 $f_b$(重力など)と表面力 $f_s$(圧力、接触力など)。こう考えてみてください——橋の上のトラックの重さは「中身全体にかかる力」(体積力)、タイヤが路面を押す力は「表面だけにかかる力」(表面力)。風圧、水圧、ボルトの締付力…すべて外力です。ここでありがちな失敗:荷重の方向を間違える。「引張」のつもりが「圧縮」になっていた——笑い話に聞こえますが、3D空間で座標系が回転していると実際に起こります。
- 減衰項:レイリー減衰 $C\dot{u} = (\alpha M + \beta K)\dot{u}$。ギターの弦を弾いてみてください。音は鳴り続けますか? いいえ、徐々に小さくなりますよね。振動エネルギーが空気抵抗や弦の内部摩擦で熱に変わるからです。車のショックアブソーバーも同じ原理——わざと振動エネルギーを吸収して乗り心地を良くしています。もし減衰がゼロだったら? 建物は地震の後いつまでも揺れ続けることになります。実際にはそうならないので、適切な減衰の設定が重要です。
仮定条件と適用限界
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 変位 $u$ | m(メートル) | mm入力時は荷重・弾性率もMPa/N系に統一すること |
| 応力 $\sigma$ | Pa(パスカル)= N/m² | MPa = 10⁶ Pa。降伏応力との比較時に単位系の不一致に注意 |
| 歪み $\varepsilon$ | 無次元(m/m) | 工学歪みと対数歪みの区別に注意(大変形時) |
| 弾性率 $E$ | Pa | 鋼: 約210 GPa、アルミ: 約70 GPa。温度依存性に注意 |
| 密度 $\rho$ | kg/m³ | mm系ではtonne/mm³(= 10⁻⁹ tonne/mm³ for 鋼) |
| 力 $F$ | N(ニュートン) | mm系ではN、m系ではNで統一 |
数値解法と実装
レインフロー法の計算
全疲労ソフトにレインフロー法が組み込まれている。FEMの応力時刻歴を入力→レインフロー→S-N/ε-N→Miner則の自動フロー。
MATLAB/Pythonでも rainflow ライブラリで手軽に計算可能。
まとめ
レインフロー行列の読み方
レインフロー法の結果はレインフロー行列(RFC行列)で表され、縦軸が最小応力、横軸が最大応力の頻度分布を示す。対角要素ほど振幅が小さく低サイクル数、端の要素ほど大振幅高損傷サイクルだ。疲労損傷は対角から離れた要素が支配的で、実際の評価ではこの端部のデータの精度がマイナー則計算の精度を左右する。
線形要素(1次要素)
節点間を線形補間。計算コストは低いが、応力の精度が低い。せん断ロッキングに注意(低減積分やB-bar法で緩和)。
2次要素(中間節点付き)
曲線的な変形を表現可能。応力精度が大幅に向上するが、自由度は約2〜3倍に増加。推奨:応力評価が重要な場合。
完全積分 vs 低減積分
完全積分:過剰拘束(ロッキング)のリスク。低減積分:アワーグラスモード(零エネルギーモード)のリスク。適材適所で選択。
アダプティブメッシュ
誤差指標(ZZ推定量等)に基づく自動細分化。応力集中部の精度を効率的に向上。h法(要素分割)とp法(次数増加)がある。
ニュートン・ラフソン法
非線形解析の標準的手法。接線剛性マトリクスを毎反復更新。収束半径内で2次収束するが、計算コストが高い。
修正ニュートン・ラフソン法
接線剛性マトリクスを初期値または数反復毎に更新。各反復のコストは低いが、収束速度は線形的。
収束判定基準
力の残差ノルム: $||R|| / ||F_{ext}|| < \epsilon$(一般に $\epsilon = 10^{-3}$〜$10^{-6}$)。変位増分ノルム: $||\Delta u|| / ||u|| < \epsilon$。エネルギーノルム: $\Delta u \cdot R < \epsilon$
荷重増分法
全荷重を一度に負荷せず、小刻みに増加させる。弧長法(Riks法)は荷重-変位関係の極値点を越えて追跡可能。
直接法 vs 反復法のたとえ
直接法は「連立方程式を筆算で正確に解く」方法——確実だが大規模問題では時間がかかりすぎる。反復法は「当て推量を繰り返して正解に近づく」方法——最初は大雑把な答えだが、反復するたびに精度が上がる。辞書で言葉を探すとき、最初のページから順番に探す(直接法)より、見当をつけて開き、前後に調整する(反復法)方が効率的なのと同じ原理。
メッシュの次数と精度の関係
1次要素は「定規で曲線を近似する」——直線の折れ線で表現するため精度に限界がある。2次要素は「フレキシブルカーブ」——曲線的な変化を表現でき、同じメッシュ密度でも格段に精度が向上する。ただし、1要素あたりの計算コストは増えるため、トータルのコスト対効果で判断する。
実践ガイド
レインフロー法の実務
自動車のロードデータ(実走行の応力時刻歴)から疲労寿命を評価。航空機のフライトスペクトル。配管の圧力サイクル。
実務チェックリスト
実路面データからの疲労評価
自動車の耐久試験では実路走行データをひずみゲージで計測し、レインフロー法で解析して疲労損傷を評価する。Ford社は1980年代からEDAP(Engineering Durability Analysis Package)でこの手法を標準化し、ベルジャン路10km走行分のデータを処理するのに1990年代のPCで数秒しかかからないアルゴリズムを最適化した。
解析フローのたとえ
解析の流れは、実は料理とそっくりです。まず材料を買い出し(CADモデルの準備)、下ごしらえをして(メッシュ生成)、火にかけて(ソルバー実行)、最後に盛り付ける(後処理で可視化)。ここで大事な問いかけ——料理で一番失敗しやすい工程はどこでしょう? 実は「下ごしらえ」なんです。メッシュの品質が悪いと、どんなに優秀なソルバーを使っても結果はめちゃくちゃになります。
初心者が陥りやすい落とし穴
あなたはメッシュ収束性を確認していますか? 「計算が回った=結果が正しい」と思っていませんか? これ、実はCAE初心者が最も陥りやすい罠です。ソルバーは与えられたメッシュで「それなりの答え」を必ず返します。でもメッシュが粗すぎれば、その答えは現実から大きくずれている。最低3段階のメッシュ密度で結果が安定することを確認する——これを怠ると「コンピュータが出した答えだから正しいはず」という危険な思い込みに陥ります。
境界条件の考え方
境界条件の設定は、試験の「問題文を書く」のと同じです。問題文が間違っていたら? どんなに正確に計算しても答えは間違いますよね。「この面は本当に完全固定なのか」「この荷重は本当に一様分布なのか」——現実の拘束条件を正しくモデル化することが、実は解析全体で最も重要なステップだったりします。
ソフトウェア比較
ツール
全疲労ソフトに組み込み。MATLAB/Pythonでも可能。
レインフロー計数の規格差と実装
ASTM E1049-85とDIN 45667では同一荷重履歴に対してサイクル計数結果が最大15%異なることがある。MSC Fatigueは4点法(ASTM準拠)、nCodeはHCM法(DIN準拠)をデフォルトとし、自動車業界ではZFがHCM法を標準採用している。規格選択が疲労寿命予測の精度に直結する。
選定で最も重要な3つの問い
- 「何を解くか」:レインフロー法(サイクルカウント)に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
レインフロー法の先端
ガウス過程への拡張と非定常荷重
従来のレインフロー法は定常ランダム荷重を前提とするが、実際の荷重は時刻によって統計特性が変化する非定常過程であることが多い。2010年代に確立した「ウィンドウ付きレインフロー法」は時間窓内でサイクル抽出を行い、非定常荷重への対応を実現した。風力タービンの運転条件変化による疲労評価に応用されている。
トラブルシューティング
レインフロー法のトラブル
途中打ち切りデータの残留サイクル問題
実測データの最初と最後が中途半端な場合、レインフロー法の「残留」サイクルが生じる。これを無視すると損傷量が10〜20%過小評価される。ASTM E1049では残留サイクルをレンジペア法で補完する方法を推奨しているが、実務では全計測区間が完結するよう計測プロトコルを設計することが根本的な解決策だ。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——レインフロー法(サイクルカウント)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告