Craig-Bampton法 — CAE用語解説
Craig-Bampton法
先生、Craig-Bampton法ってサブストラクチャー法の一種と聞きましたが、何のために使うんですか?
理論と物理
基本概念と支配方程式
Craig-Bampton法って、モード縮約法の一種だと聞きましたが、具体的に何を「縮約」しているんですか?
良い質問だ。自由度(DOF)の数を縮約している。例えば、自動車のボディ全体のFEMモデルは数百万DOFになる。Craig-Bampton法では、これを「固定インターフェース・モード」と「拘束モード」という2種類の基底ベクトルで表現し、DOFを例えば1000個以下にまで圧縮する。これが「縮約」の正体だ。
「固定インターフェース」と「拘束モード」の違いがよく分かりません。インターフェースって何を指しているんですか?
インターフェースとは、部品同士が結合する境界面、または外部から力が加わる点(荷重点)だ。例えば、エンジンマウントが車体に取り付く4箇所のボルト穴周辺がインターフェースになる。「固定インターフェース・モード」は、このインターフェースの動きを完全に固定した状態で計算した、部品自体の固有振動モードだ。一方「拘束モード」は、インターフェースの各DOFを1つずつ単位変位させたときの静的な変形形状だ。
なるほど。では、Craig-Bampton法の定式化で、運動方程式はどのように書き換えられるんですか?
元の物理座標
固定インターフェース・モードは何モードまで取れば十分なんでしょうか?20モードというのは経験則ですか?
経験則も大きいが、対象とする周波数帯域で決まる。自動車の車体振動解析では、路面入力の主要周波数がせいぜい50Hz程度だから、それ以上の周波数を持つモードは寄与が小さい。一般に、関心ある最高周波数の1.5倍までのモードを含める。100Hzまで見たいなら150Hzまでのモードを計算する。鋼製部品だと、下位20モードでおおよそ100〜200Hzに達する場合が多いんだ。
数値解法と実装
FEM離散化とソルバー設定
実際にFEMソフトでCraig-Bampton法を使う時、インターフェースの定義で気をつけることは何ですか?
最も重要なのは、結合相手のインターフェースとDOFを完全に一致させることだ。Abaqusで言うと「Tie」拘束や「Coupling」で定義する結合面の節点群を、サブストラクチャ(部品モデル)の出力時に「Retained Nodal DOFs」として確実に残す。6自由度(3並進、3回転)全てを保持するのが基本だが、実際の結合状態(例えばピン結合なら回転は自由)に応じて選択する。
固定インターフェース・モードを計算する際の固有値ソルバーは、Lanczos法とAMS(Automated Multi-Level Substructuring)ではどちらが向いていますか?
モデルサイズと必要なモード数による。100万DOF以下で下位50モード程度なら、標準のLanczos法で十分だ。しかし、NASTRANのようにAMSを実装しているソルバーでは、1000万DOFを超える大規模モデルで数百モードを抽出する場合、AMSの方がメモリ効率と計算速度で圧倒的に優れる。AMSは内部で自動的に部品分割と縮約を行うアルゴリズムだから、Craig-Bampton法の前処理として理想的と言える。
縮約後の質量行列や剛性行列は、完全に正しいのでしょうか?近似による誤差はどう評価すれば?
「完全に正しい」わけではない。固定インターフェース・モードを有限個で打ち切ることによる誤差が生じる。評価方法は2つある。1つは、関心周波数帯域でのモード保証図(MAC: Modal Assurance Criterion)を、縮約前のフルモデルと比較する。MAC値が0.9以上を目安とする。もう1つは、静的荷重ケースを解き、インターフェース以外の部位の変形や応力をフルモデルと比較する。誤差が許容範囲(例えば5%以内)に収まっているか確認する。
実践ガイド
ワークフローとチェックリスト
航空機の翼と胴体を別々のチームでモデリングし、後でCraig-Bampton法で結合する場合、最初から決めておくべき仕様は何ですか?
まず、結合インターフェースの幾何学的定義と節点位置を完全に一致させること。共通のCADデータからインターフェース面を抽出し、メッシュサイズ(例えば10mm)まで規定する。次に、使用するFEMソフトウェアとバージョン(例:MSC Nastran 2024)、出力するサブストラクチャのフォーマット(.op2ファイルなど)を統一する。最後に、翼側が保持するインターフェースDOFと、胴体側が保持するそれらが、6自由度全てで互換性があることを確認するチェックリストを作成する。
サブストラクチャ(縮約モデル)のファイルサイズが想定より大きいです。何が原因で、どう対策すれば?
主な原因は3つだ。1) 保持したインターフェースDOFが多すぎる:本当に必要な結合点だけに絞る。2) 固定インターフェース・モードを必要以上に多く計算している:周波数帯域を見直し、モード数を減らす。3) 出力オプションで不要なデータ(全節点の変位形状など)を出力している:Craig-Bampton法では一般化質量/剛性行列と変換行列だけ出力すればよい。Ansysの場合は「CMSOPT」コマンドで、これらの出力を細かく制御できる。
複数のサブストラクチャを組み合わせて全体解析する時、計算が発散してしまいます。デバッグの手順は?
系統的に切り分けよう。まず、全てのサブストラクチャを個別に、インターフェースを固定した状態で単体検証する。固有値解析を実行し、剛体モード(0Hzに近いモード)が一切存在しないことを確認する。存在すれば、インターフェース固定が不完全か、内部にフリーの部品がある。次に、サブストラクチャを2つだけ結合した最小ケースで試す。そこで発散すれば、インターフェースのDOF定義や結合要素(MSC NastranのRBE2やRBE3など)の設定ミスが濃厚だ。質量行列や剛性行列の特異性が原因であることが多い。
ソフトウェア比較
Ansys/Abaqus/COMSOL等
Ansys MechanicalとAbaqus/Standardでは、Craig-Bampton法の機能や使い勝手に大きな違いはありますか?
大きな違いは「サブストラクチャリング」のワークフローにある。Ansysでは「CMS(Component Mode Synthesis)」という名称で、プリプロセッサ内で比較的直感的に設定できる。一方、Abaqusでは「Substructure」生成と使用が、ほぼ全て入力ファイル(.inp)によるキーワード(*SUBSTRUCTURE GENERATE, *SUBSTRUCTURE PROPERTY)で制御される。柔軟性は高いが習得難易度も高い。また、Ansysはより多くの固有値ソルバー(Lanczos, PCG Lanczos, AMS)をCMSで選択可能だ。
MSC Nastranはこの分野では老舗と聞きますが、今でも強みはありますか?
圧倒的な強みがある。まず、航空宇宙業界の事実上の標準であり、サプライヤー間でCraig-Bamptonサブストラクチャ(.op2ファイル)を交換する際の互換性が最高だ。次に、AMSソルバーによる超大規模モデルの高速なモード抽出は他をリードしている。また、詳細な制御が可能で、例えば「RESVEC」カードを使って残余ベクトルを追加し、打ち切り誤差を低減する高度な機能も備えている。自動車の車体剛性結合解析でも広く使われている。
COMSOL Multiphysicsでもコンポーネントモード合成はできますか?
COMSOL 6.0以降、「Component Mode Synthesis」機能が追加された。ただし、AnsysやNastranのような業界標準の大規模構造振動解析というより、多物理場モデル(構造-音響連成など)の一部として、特定のコンポーネントを縮約する用途が想定されている印象だ。GUIから設定できるが、現状では出力されるモード数やインターフェース管理の機能は、専用の構造解析ソフトに比べると限定的だ。研究開発や小規模な多物理場モデルには有用だが、自動車全体のNVH解析のような大規模適用例はまだ少ない。
トラブルシューティング
よくあるエラーと対策
Craig-Bampton縮約モデルを使って過渡応答解析をしたら、高周波数域で「発散した」ような不安定な振動が出ます。原因は?
これは典型的な「モード打ち切り誤差」に起因する不安定性だ。固定インターフェース・モードで表現されなかった高次モードのエネルギーが、低次モードに「折り返し」されて現れる現象だ。対策は2つ。1) 関心ある最高周波数の1.5倍ではなく、2倍以上のモードを含めて縮約し直す。2) 構造減衰(比例減衰)を適切に付与する。特に、高次モードほど減衰が大きい現実を反映させるため、モード減衰ではなく、周波数依存の減衰(MSC NastranのTABDMP1など)を定義するのが効果的だ。
サブストラクチャを組み合わせる際、「互換性のないDOF」というエラーが出ます。具体的に何をチェックすべき?
まず、結合しようとしている2つのインターフェース節点の、座標系が一致しているか確認する。全体座標系(基本座標系)で定義されているか、同じローカル座標系を参照しているか。次に、DOFの番号付けを確認する。多くのソルバーでは、1,2,3が並進、4,5,6が回転DOFとして定義されている。サブストラクチャAがDOF 1,2,3,4を保持し、サブストラクチャBが1,2,3,5を保持していれば、DOF4とDO5は「互換性がない」とエラーになる。定義を完全に一致させる必要がある。
縮約モデルを使った静解析で、インターフェースから遠い部位の応力が、フルモデルと比べて全く合いません。考えられる原因は?
「拘束モード」が静的な変形を正確に表現するためのキーだが、それが不足している可能性が高い。インターフェースに集中荷重を加える場合、その荷重点自体が「保持された節点」としてインターフェースに定義されていないと、その点での単位変位に相当する拘束モードが生成されない。結果、その荷重による変形形状が基底ベクトルに含まれず、応力が再現できない。対策は、全ての荷重作用点を、インターフェース節点として明示的に定義し直すことだ。
大規模モデルでCraig-Bampton縮約の計算そのものがメモリ不足で失敗します。計算設定で見直すポイントは?
まず、使用する固有値ソルバーを見直す。デフォルトのLanczos法から、メモリ効率の良いソルバーに切り替える。Ansysなら「PCG Lanczos」、MSC Nastranなら「AMS」を指定する。次に、計算する固定インターフェース・モード数を必要最小限に減らす。また、モデル自体を「物理的に」サブストラクチャリングする。例えば、車体を前部、中央、後部の3つに分割し、それぞれを中小規模のCraig-Bamptonモデルに縮約した後、それらを再度結合する「多重レベルサブストラクチャリング」を検討する。これはNastranの「Superelement」機能で可能だ。
関連トピック
なった
詳しく
報告