線形座屈(固有値座屈)解析 — 数値解法と実装

カテゴリ: 構造解析 | 2026-01-20
linear-buckling-method
数値解法の舞台裏

固有値ソルバーの内部動作

🧑‍🎓

$([K_0] + \lambda [K_\sigma])\{\phi\} = \{0\}$ を解くアルゴリズムって、具体的にどう動くんですか?


🎓

構造解析の固有値問題は典型的には一般化固有値問題だ。座屈の場合、標準形に変換すると:


$$ [K_0]\{\phi\} = -\lambda [K_\sigma]\{\phi\} $$

$[K_0]$ は正定値対称(正しく拘束されていれば)、$[K_\sigma]$ は対称だが不定値。この構造を利用した効率的なアルゴリズムがいくつかある。


Lanczos法

🧑‍🎓

実務ではLanczos法が標準と聞きましたが、なぜですか?


🎓

Lanczos法は大規模疎行列の固有値問題に特化したアルゴリズムで、全固有値を求めずに指定した範囲の固有値だけを効率的に抽出できる。座屈解析では下位数モード($\lambda$ が小さい方)だけが必要だから、最適なんだ。


🎓

アルゴリズムの骨格はこうだ:


1. 初期ベクトル $\{q_1\}$ を選ぶ

2. 行列ベクトル積 $[K_0]^{-1}[K_\sigma]\{q_j\}$ を繰り返し計算

3. Gram-Schmidt直交化で三重対角行列 $[T]$ を構成

4. $[T]$ の固有値が元の問題の固有値の近似

5. 収束するまで反復


🧑‍🎓

$[K_0]^{-1}$ を直接求めるんですか? それだと巨大な密行列になりませんか?


🎓

いい質問だ。$[K_0]^{-1}$ は明示的には作らない。代わりに $[K_0]\{x\} = [K_\sigma]\{q_j\}$ という連立方程式を解く。これなら $[K_0]$ の疎行列構造を維持したまま計算できる。事前に $[K_0]$ をLU分解(またはLDLT分解)しておけば、各反復での連立方程式の求解は前進後退代入だけで済む。


🧑‍🎓

最初のLU分解が一番重いステップで、その後の反復は比較的軽い、ということですか。


🎓

まさにその通り。だから固有値問題のコストの大部分は行列分解が占める。これは通常の静解析とほぼ同じコストだ。つまり固有値座屈解析は、静解析の1.5〜2倍程度の計算時間で済むことが多い。


シフト-反転Lanczos法

🧑‍🎓

固有値が特定の値の付近に集中している場合は?


🎓

そういう場合はシフト-反転Lanczos法が有効だ。注目する固有値 $\sigma$ の近くを重点的に探索する:


$$ ([K_0] + \sigma [K_\sigma])^{-1} [K_\sigma] \{\phi\} = \frac{1}{\lambda - \sigma} \{\phi\} $$

🧑‍🎓

シフト量 $\sigma$ を座屈荷重の予測値に設定すれば、そのあたりの固有値が精度よく求まるんですね。


🎓

実務的には、まずシフトなしで粗い固有値を求め、特定のモードを詳細に調べたいときにシフトを設定する。Nastranでは EIGRL カードの V1, V2 パラメータで固有値の探索範囲を指定できるし、Abaqusでも同様の機能がある。


サブスペース反復法

🧑‍🎓

Lanczos法以外の手法は使わないんですか?


🎓

サブスペース反復法(Bathe法)もまだ使われている。特に固有値が密集している場合にLanczos法よりロバストなことがある。


🎓

違いを整理すると:


特性Lanczos法サブスペース反復法
大規模問題の効率非常に高いやや低い
メモリ使用量少ない多い(部分空間を保持)
密集固有値の扱いやや苦手得意
実装の複雑さ高い中程度
並列化の容易さ中程度容易
🧑‍🎓

Abaqusのマニュアルに「subspace」と「lanczos」の選択肢がありますが、普通はlanczosでいいですか?


🎓

99%のケースではLanczosで問題ない。サブスペース法に切り替えるのは、Lanczosが収束しない場合(まれにある)の代替手段と考えておけばいい。


幾何剛性マトリクスの計算詳細

🧑‍🎓

$[K_\sigma]$ の組み立て方について、もう少し掘り下げてもらえますか?


🎓

シェル要素の場合で説明しよう。膜応力状態 $\{N_{xx}, N_{yy}, N_{xy}\}$ を持つシェル要素の幾何剛性は:


$$ [K_\sigma]_e = \int_{A_e} [G]^T [S] [G] \, dA $$

ここで $[G]$ は変位の空間微分(回転角の増分)を節点変位から内挿する行列、$[S]$ は応力成分を並べた行列だ。


🧑‍🎓

$[S]$ の中身は膜応力 $N_{xx}, N_{yy}, N_{xy}$ ですよね。引張応力が支配的だと $[K_\sigma]$ が正になって全体剛性が増す…座屈しにくくなる。


🎓

そう。逆に圧縮やせん断が支配的だと $[K_\sigma]$ が負に効いて剛性が下がる。面白いのは面内せん断 $N_{xy}$ だけで座屈を引き起こすケースもあること。せん断座屈は航空機の翼のウェブやI桁のウェブで典型的だ。


計算の効率化テクニック

🧑‍🎓

大規模モデルで固有値座屈解析を速く回すコツはありますか?


🎓

いくつかのテクニックがある:


  • スーパーエレメント(部分構造法) — 繰り返し構造(航空機のリブなど)を縮約してDOFを削減。NastranのSOL 105でよく使う
  • Component Mode Synthesis(CMS) — 部分構造をモード座標で表現。Hurty-Craig-Bampton法が有名
  • 対称条件の活用 — 構造と荷重の対称性を利用して1/2, 1/4モデルに。ただし反対称座屈モードを見逃すリスクがある

🧑‍🎓

反対称座屈モードを見逃す?


🎓

例えば対称面でz方向変位をゼロにすると、対称モードしか出ない。反対称モードは別途、反対称境界条件(z方向自由、x方向回転拘束など)で解く必要がある。対称条件を使うなら、対称・反対称の両方を解くのが鉄則だ。


まとめ

🧑‍🎓

固有値座屈のソルバーの中身、だいぶ見えてきました。


🎓

要点を整理すると:


  • Lanczos法が実務標準 — 大規模疎行列に最適、コストは静解析の1.5〜2倍程度
  • 核心は行列分解 — LU/LDLT分解が最大のボトルネック
  • シフト-反転で特定領域を精査 — 密集固有値の対策
  • $[K_\sigma]$ は応力状態の関数 — 膜力、曲げ、せん断全てが座屈に寄与
  • 対称条件使用時は反対称モードに注意 — 両方解くこと

Coffee Break よもやま話

NASAとNASTRAN — FEMの夜明け

今や世界中で使われている有限要素法ソルバー「NASTRAN」は、1960年代にNASAが開発しました。アポロ計画でロケットの構造解析が必要だったのです。当時のコンピュータはメモリ数KBの時代——今のスマートフォンの100万分の1以下の性能で、人類を月に送る構造計算をしていたのです。

離散化手法の詳細解説

空間離散化における手法選択が数値精度・安定性・計算コストに与える影響を詳述する。

線形要素(1次要素)

節点間を線形補間。計算コストは低いが、応力の精度が低い。せん断ロッキングに注意(低減積分やB-bar法で緩和)。

2次要素(中間節点付き)

曲線的な変形を表現可能。応力精度が大幅に向上するが、自由度は約2〜3倍に増加。推奨:応力評価が重要な場合。

完全積分 vs 低減積分

完全積分:過剰拘束(ロッキング)のリスク。低減積分:アワーグラスモード(零エネルギーモード)のリスク。適材適所で選択。

アダプティブメッシュ

誤差指標(ZZ推定量等)に基づく自動細分化。応力集中部の精度を効率的に向上。h法(要素分割)とp法(次数増加)がある。

マトリクスソルバーの選定指針

問題規模と特性に応じた最適なソルバー選択のガイドライン。

ソルバー種別詳細・推奨条件
直接法(LU/Cholesky分解)メモリ: O(n·b²)(bはバンド幅)。10万DOF以下で効率的。常に解が得られる安定性が利点。
反復法(PCG法)メモリ: O(n)。大規模問題(100万DOF以上)で有利。前処理の選択が収束速度を左右する。推奨前処理: 不完全Cholesky、AMG
DOF別推奨〜10⁴ DOF: 直接法、10⁴〜10⁶ DOF: 前処理付き反復法、10⁶ DOF〜: AMG前処理+並列反復法

時間積分法と収束判定

ソルバー内部の制御パラメータと収束判定基準について記述する。

ニュートン・ラフソン法

非線形解析の標準的手法。接線剛性マトリクスを毎反復更新。収束半径内で2次収束するが、計算コストが高い。

修正ニュートン・ラフソン法

接線剛性マトリクスを初期値または数反復毎に更新。各反復のコストは低いが、収束速度は線形的。

収束判定基準

力の残差ノルム: $||R|| / ||F_{ext}|| < \epsilon$(一般に $\epsilon = 10^{-3}$〜$10^{-6}$)。変位増分ノルム: $||\Delta u|| / ||u|| < \epsilon$。エネルギーノルム: $\Delta u \cdot R < \epsilon$

荷重増分法

全荷重を一度に負荷せず、小刻みに増加させる。弧長法(Riks法)は荷重-変位関係の極値点を越えて追跡可能。

数値解法の直感的理解

FEMのイメージ

有限要素法は「ジグソーパズルの逆」に似ている。完成した絵(連続体)をピース(要素)に分割し、各ピースの挙動を個別に計算してから全体を組み立て直す。ピースが小さいほど(メッシュが細かいほど)元の絵に近い結果が得られるが、ピース数が増えるため計算時間も増大する。

直接法 vs 反復法のたとえ

直接法は「連立方程式を筆算で正確に解く」方法——確実だが大規模問題では時間がかかりすぎる。反復法は「当て推量を繰り返して正解に近づく」方法——最初は大雑把な答えだが、反復するたびに精度が上がる。辞書で言葉を探すとき、最初のページから順番に探す(直接法)より、見当をつけて開き、前後に調整する(反復法)方が効率的なのと同じ原理。

メッシュの次数と精度の関係

1次要素は「定規で曲線を近似する」——直線の折れ線で表現するため精度に限界がある。2次要素は「フレキシブルカーブ」——曲線的な変化を表現でき、同じメッシュ密度でも格段に精度が向上する。ただし、1要素あたりの計算コストは増えるため、トータルのコスト対効果で判断する。

構造解析の収束問題や計算コストに課題を感じていませんか? — Project NovaSolverは、実務者が日々直面するこうした課題の解決を目指す研究開発プロジェクトです。

Project NovaSolver — CAE実務の課題に向き合う研究開発

「線形座屈(固有値座屈)解析をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。

進捗通知を受け取る →