Nastran — CAE用語解説

カテゴリ: 用語集 | 2026-01-15
CAE visualization for nastran - technical simulation diagram

Nastran(MSC Nastran / NX Nastran)

🧑‍🎓

先生、Nastranってどんなソルバーですか?航空宇宙で標準って聞きました。

理論と物理

Nastranの基本概念

🧑‍🎓

Nastranって、そもそも何の略で、どういう目的で作られたソフトなんですか?

🎓

NASA Structural Analysis の略だ。1960年代後半、NASAが航空宇宙構造物の信頼性を高めるために開発を主導した、世界初の汎用構造解析プログラムが起源だ。商用化された今でも、その中核となるのは線形静解析、固有値解析、周波数応答解析といった古典的だが強力なソルバー群だ。

🧑‍🎓

「線形静解析」が基本とのことですが、具体的にどんな方程式を解いているんですか?

🎓

連立一次方程式だ。有限要素法で離散化すると、全体剛性マトリクス

$$ \mathbf{K} $$
、変位ベクトル
$$ \mathbf{u} $$
、荷重ベクトル
$$ \mathbf{f} $$
の関係式
$$ \mathbf{K} \mathbf{u} = \mathbf{f} $$
が得られる。Nastranの仕事は、この大規模でスパースなマトリクス
$$ \mathbf{K} $$
を効率的に因数分解して解くことだ。

🧑‍🎓

固有値解析は、どういう物理現象を扱うために必要なんですか?

🎓

主に構造物の共振(固有振動数)と座屈(座屈荷重)の予測だ。支配方程式は

$$ (\mathbf{K} - \lambda \mathbf{M}) \mathbf{\phi} = \mathbf{0} $$
となる。ここで
$$ \mathbf{M} $$
は質量マトリクス、
$$ \lambda $$
は固有値、
$$ \mathbf{\phi} $$
は固有モードだ。航空機の翼がエンジン振動で共振しないか、ロケットの機体が発射時に座屈しないか、といった設計上の重大問題を解く。

数値解法と実装

ソルバーの種類と選択

🧑‍🎓

Nastranには「SOL 101」とか「SOL 103」とか番号が付いていますが、これは何を表しているんですか?

🎓

ソルバー(Solution Sequence)の識別番号だ。業界のデファクトスタンダードになっている。例えばSOL 101は線形静解析、SOL 103は実固有値解析(モーダル解析)、SOL 109は非線形静解析、SOL 111は周波数応答解析を指す。ユーザーは解析したい物理現象に合わせてこの番号を指定する。

🧑‍🎓

SOL 101で大規模モデルを解く時、内部ではどんな行列解法が使われているんですか?

🎓

デフォルトはスパース直接法だ。具体的にはマルチフロンタル法の一種で、剛性マトリクスを効率的に

$$ \mathbf{K} = \mathbf{L} \mathbf{D} \mathbf{L}^T $$
と分解する。100万自由度を超えるような超大規模モデルでは、反復法ソルバー(PCG法など)を選択肢として使うこともできる。メモリ使用量と計算時間のトレードオフを考慮して選ぶ。

🧑‍🎓

固有値解析(SOL 103)で「LANCZOS法」と「逆反復法」があると聞きました。どう使い分けるんですか?

🎓

良い質問だ。LANCZOS法は、モデルが大規模(例えば自由度10万以上)で、求めたいモード数が比較的少ない(例えば下位50モード)場合に高速だ。一方、逆反復法は中規模モデルや、特定の周波数帯(例えば1000Hzから2000Hzの間)のみのモードを抽出する「シフト法」を使う場合に有効だ。自動車の車体全体のような大モデルでは、まずLANCZOSが選択される。

実践ガイド

解析実行のワークフロー

🧑‍🎓

Nastranで解析を実行するための入力ファイルは、どういう構造で書くんですか?

🎓

「BDFファイル」(Bulk Data File)という固定形式のテキストファイルだ。大きく分けて「実行管理セクション」と「バルクデータセクション」からなる。例えば、最初に「SOL 101」と書いて解析種別を指定し、その後に「CEND」を書き、バルクデータセクションで「GRID」「CQUAD4」「MAT1」「FORCE」といったカードを使って、節点、要素、材料、荷重を全て定義する。

🧑‍🎓

要素の種類がたくさんありますが、シェル構造を解析する時、どの要素を選べばいいですか?

🎓

薄板ならCQUAD4(4節点)かCQUAD8(8節点)が基本だ。CQUAD4は計算が速いが、曲げ変形を正確に捉えるにはメッシュを細かくする必要がある。CQUAD8は高精度だが計算コストが高い。自動車のボディパネルのような曲率の大きな部分にはCTRIA3(3角形要素)を混在させるが、全体の割合は20%未満に抑えるのが経験則だ。要素選択を誤ると応力が不正確になる「ロッキング」という現象が起きる。

🧑‍🎓

解析を実行する前に、モデルにミスがないかチェックする方法はありますか?

🎓

「ECHECK」と「PCOMPECH」が重要だ。BDFファイルに「ECHECK=ALL」を追加して実行すると、要素の形状歪み(アスペクト比、スキュー角、ワーピング)や材料・特性値の未定義など、致命的なエラーを事前に検出してレポートしてくれる。複合材を使っている場合は「PCOMPECH」で積層順序の確認ができる。これを通過しないモデルで本計算を走らせるのは時間の無駄だ。

ソフトウェア比較

各社Nastranの違い

🧑‍🎓

「MSC Nastran」と「NX Nastran」って名前が似ていますが、何が違うんですか?

🎓

歴史的な分岐だ。元は同じNASAのコードだったが、MSC(MSC Software)が商用化したのが「MSC Nastran」。その後、ソースコードが幾つかの会社にライセンスされ、その一つがシーメンス(当時はUGS)で、これが「NX Nastran」として開発された。基本のBDFフォーマットやSOL番号は互換性が高いが、拡張された機能(特に非線形や最適化)や、他ソフト(Catia, Teamcenterなど)との連携部分で差別化されている。

🧑‍🎓

AbaqusやAnsysと比べて、Nastranの強みはどこにあるんですか?

🎓

航空宇宙・自動車産業における「信頼性」と「標準化」だ。Nastranの線形解析結果は、長年にわたる実機試験データとの比較で検証され尽くしており、特に動解析(周波数応答、ランダム振動)での結果は業界で絶対的な信頼がある。また、サプライヤー間でBDFファイルをやり取りする標準フォーマットとして定着している。一方、複雑な接触を伴う非線形解析や多物理場連成では、AbaqusやAnsysに分があると言われる。

🧑‍🎓

実際の開発現場では、これらのソフトをどう使い分けているんですか?

🎓

典型的な自動車開発では、車体全体の振動・騒音(NVH)や耐久性(疲労)の基本性能を、規格化された手順で大量に評価する際にNX NastranやMSC Nastranを使う。一方、エンジン部品の熱応力や、ゴムブッシュのような高度な非線形材料を含むサブシステムの詳細検討にはAbaqusを、電磁界や流体との連成が必要な部分にはAnsys Multiphysicsを使う、といった棲み分けがなされている。

トラブルシューティング

よくあるエラーと対策

🧑‍🎓

解析実行中に「FATAL MSG 3001」というエラーが出て止まります。これは何が原因ですか?

🎓

剛性マトリクス

$$ \mathbf{K} $$
が特異(正則でない)であることを意味する。最も多い原因は「拘束不足」、つまりモデルが剛体移動できる状態になっていることだ。3次元モデルなら、少なくとも1点でXYZの3方向を拘束し、他の2点で回転が固定されるようにする。また、ソリッド要素のみで構成されたモデルで、シェル要素の特性(PSHELL)を誤って適用している場合もこのエラーが出る。

🧑‍🎓

固有値解析で、求めたいはずの低次のモード(例えば1次モード)が結果に現れません。なぜですか?

🎓

「剛体モード」が除外されていない可能性が高い。SOL 103のデフォルト設定では、理論的に周波数0Hzとなる剛体モードは出力されない。しかし、構造物が非常に柔らかいバネで支持されている場合など、実質的に0に近い非常に低い周波数(例えば0.1Hz)のモードが、求めたい基本モードであることがある。この場合、制御カード「SDISP」で変位出力を要求するか、あるいは「K2GG」パラメータを調整して剛体モードを含めるように設定する必要がある。

🧑‍🎓

非線形静解析(SOL 106)で収束せずに終了します。まず何を疑えばいいですか?

🎓

まず、荷重や強制変位の「増分ステップ」が大きすぎないか確認する。デフォルトの設定では、全荷重を一度に載せるが、接触や大変形があるモデルでは、荷重を10ステップや20ステップに分割して徐々に載せる「NLPARM」カードの使用が必須だ。次に、材料非線形性を定義した「MATS1」カードの入力ミス(例えば、塑性の硬化則の定義点が不足している)を疑う。線形解析でまず実行して、モデル自体に問題がないことを確認するのが第一歩だ。

🧑‍🎓

計算は終了したのに、結果ファイル(OP2やXDB)が生成されていません。原因は?

🎓

出力要求が正しく記述されていないか、ディスク容量不足だ。バルクデータセクションに「PARAM,POST,0」と書かれていると、バイナリ結果ファイル(OP2)は生成されない。結果を出力するには「PARAM,POST,1」または「PARAM,POST,-1」(XDB出力)が必要だ。また、「DISPLACEMENT=ALL」や「STRESS=ALL」といった出力リクエストカードが実行管理セクション(CEND以降)に記述されているか確認する。数十GBの大容量ファイルになることもあるので、出力先の空き容量も確認しよう。

この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
プロフィールを見る