オイラー座屈 — トラブルシューティングガイド
座屈解析のトラブルシューティング
先生、座屈解析を回したらおかしな結果が出て困ってるんです…。
座屈解析は他の解析以上にトラブルが多い分野だ。よくある問題を症状別に整理しよう。
負の固有値が出る
線形座屈解析で固有値がマイナスになりました。これは何ですか?
負の固有値は参照荷重の反対方向で座屈が起きることを意味する。つまり圧縮荷重として与えたのに引張方向の座屈が出ている状態だ。
原因と対策:
| 原因 | 状況 | 対策 |
|---|---|---|
| 荷重方向の符号ミス | 引張荷重を圧縮として入力 | 荷重方向を確認・修正 |
| 反力方向の座屈 | 反力が圧縮になる部材がある | 正の固有値のみ評価する |
| モード数不足 | 負の固有値に埋もれて正の最低モードが出ない | 求めるモード数を増やす |
なるほど。負の固有値自体はバグじゃなくて、物理的には引張座屈の意味なんですね。
そう。ただし実務では正の最小固有値が重要だ。10モード求めて全部負だったら、荷重方向を完全に間違えている可能性が高い。
座屈荷重が手計算と大きく違う
オイラーの式で $P_{cr} = 293$ kN と計算したのに、FEMでは450 kNと出ました。5割も違います…。
FEMが手計算より高い場合、まず以下を確認しよう:
1. 座屈方向は合っているか?
オイラーの式では断面の最小慣性モーメント $I_{min}$ を使う。H形鋼なら弱軸(y軸)回り。FEMで強軸(x軸)回りの座屈が出ていないか、モード形状を必ず確認。
あ…強軸回りの座屈が先に出てた可能性がありますか?
十分あり得る。境界条件によっては弱軸方向の変位を拘束してしまっていて、強軸座屈しか出ないことがある。例えば壁に面した柱を壁方向(弱軸方向)で拘束すると、弱軸座屈は抑制される。意図してそうしたなら正しいが、モデル化ミスなら深刻だ。
2. 境界条件の固定度は正しいか?
$K = 1.0$(両端ピン)のつもりなのに、回転が拘束されていて $K = 0.5$(両端固定)相当になっていると、座屈荷重は4倍に跳ね上がる。
3. 要素タイプは適切か?
梁要素でワーピングを考慮しないと、開断面(H形鋼、溝形鋼)の座屈荷重が過大になる。NastranのCBEAMでワーピング自由度を含めているか確認。
逆にFEMのほうが手計算より低い場合は?
その場合は局所座屈が先行している可能性が高い。オイラー式は全体座屈しか評価しないが、シェルやソリッドでモデル化するとフランジの局所座屈が出ることがある。モード形状が全体の横たわみではなく、局部的な波打ちになっていないか確認してくれ。
非線形座屈解析が収束しない
Riks法で非線形座屈をやろうとしたら、座屈点の手前で収束しなくなります。
これは非線形座屈で最もよくあるトラブルだ。原因は大きく3つ。
原因1: 初期不整が入っていない
完璧に対称な構造に対称荷重をかけると、数値的に「分岐点」を通過できない。小さな摂動がないと、ソルバーは真っ直ぐな平衡経路に留まろうとして、分岐点で経路が分からなくなる。
対策: 線形座屈の1次モード形状を初期不整として導入する。振幅は部材長の1/1000〜1/500程度が一般的。Abaqusなら *IMPERFECTION で簡単にできる。
原因2: 増分幅が大きすぎる
座屈点付近は荷重-変位曲線の勾配が急激に変化する。増分幅が大きいと、この急変に追従できない。
対策: 初期増分を小さくする。Riks法なら初期弧長を荷重の1%程度に設定。Abaqusの *STATIC, RIKS で 0.01, 1.0, 1e-8, 0.1 のように初期増分を小さく、最小増分をさらに小さく。
原因3: 接触や境界の非線形性
支持部にバネ要素を入れているんですが、これが関係しますか?
座屈で大変形が起きると、接触条件やバネの状態が急変して収束を乱すことがある。座屈解析のデバッグではまず境界条件を極力単純化(理想ピン・固定で)して収束を確認してから、段階的に複雑にするのが鉄則だ。
座屈モードがメッシュに依存する
メッシュを変えると座屈荷重やモード形状が変わってしまいます。どこまで細かくすれば安定しますか?
メッシュ収束性の確認が必須だ。手順はこう:
1. 粗いメッシュで解析 → 座屈荷重と上位5モードを記録
2. メッシュを2倍に細分化 → 同じ確認
3. さらに2倍に細分化 → 同じ確認
4. 座屈荷重の変化が2〜3%以内に収まればOK
局所座屈の場合は特に敏感ですよね?
その通り。全体座屈は比較的メッシュに鈍感だけど、局所座屈(板の波状座屈など)は座屈半波長に対して要素が4つ以上ないと正しく表現できない。粗いメッシュでは局所座屈モードが「見えない」状態になる。
特に注意すべきは板の自由辺付近だ。自由辺の座屈はメッシュ密度に非常に敏感で、辺に沿って十分な要素数が必要。
ソルバー別のよくあるエラー
Nastran SOL 105
| エラー | 意味 | 対策 |
|---|---|---|
| FATAL 2012: Singular KAA | 剛性マトリクスが特異 | 拘束不足。剛体モードが残っている。SPCを追加 |
| 固有値が全てゼロ付近 | 幾何剛性マトリクスがほぼゼロ | 前段の静解析で応力が発生していない。荷重設定を確認 |
| 上位モードが振動的 | 求めたモード数が多すぎる | 実用上意味のあるモード数(5〜20程度)に絞る |
Abaqus *BUCKLE
| エラー | 意味 | 対策 |
|---|---|---|
| Zero pivot in row N | N番目のDOFが拘束不足 | 該当ノードの拘束を確認 |
| No converged eigenvalues | Lanczos法が収束しない | SUBSPACE法に切り替え、またはシフト値を指定 |
| Negative eigenvalues only | 荷重方向が逆 | 荷重の符号を確認 |
Ansys Eigenvalue Buckling
| エラー | 意味 | 対策 |
|---|---|---|
| Insufficient constraints | 剛体モードあり | 拘束DOFの追加 |
| 座屈荷重が著しく高い | 前段の静解析が線形のまま | PSTRESをONにして応力剛性を有効化 |
デバッグの鉄則
座屈解析でトラブったとき、最も効率的なデバッグ手順は何ですか?
経験則から言うと、この順番で調べるのが最速だ:
「最小モデルで理論解と合わせる」がスタートなんですね。いきなり実モデルで悩むより効率的だ。
座屈解析は「ソルバーが何かおかしい」のか「自分の理解が足りないのか」の切り分けが難しい分野だ。最小モデルでオイラーの理論解を再現できれば、少なくともソルバーの使い方は合っていると確信できる。そこから一歩ずつ積み上げるのが、遠回りに見えて最速の道だよ。
タコマナローズ橋の崩壊(1940年)
完成からわずか4ヶ月で崩壊した吊り橋。風速わずか65km/hで起きた空力弾性フラッター(共振)が原因でした。この事故は「振動解析を怠るとどうなるか」の最も有名な教訓として、今でも構造力学の教科書に載っています。現代のCAEは、この種の問題を設計段階で発見できます。もし当時にCAEがあれば、橋は今も架かっていたかもしれません。
トラブル解決の考え方
デバッグのイメージ
構造解析のトラブルシューティングは「医師の問診」に似ている。「いつから症状が出たか」(どのステップでエラーが出るか)、「どこが痛いか」(どの要素で収束しないか)、「何をしたか」(直前に何を変更したか)を系統的に聞くことで原因を特定する。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——オイラー座屈の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
構造解析の収束問題や計算コストに課題を感じていませんか? — Project NovaSolverは、実務者が日々直面するこうした課題の解決を目指す研究開発プロジェクトです。
Project NovaSolver — CAE実務の課題に向き合う研究開発
「オイラー座屈をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。
進捗通知を受け取る →