サブモデリング — CAE用語解説

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

サブモデリング

🧑‍🎓

自動車のボデーモデルが数百万要素もあるんですけど、ボルト穴周辺の応力集中を細かく見たいのにメッシュを全体的に細かくする余裕がないです…

理論と物理

サブモデリングの基本概念

🧑‍🎓

サブモデリングって、一言で言うと何をする技術なんですか?全体モデルを小さく分割するだけですか?

🎓

単なる分割ではありません。大規模な全体モデル(グローバルモデル)の解析結果を境界条件として利用し、関心領域だけを詳細に再解析する「局所詳細化」技術です。例えば、橋梁全体の応力分布を求めた後、ボルト穴周りの応力集中を詳細に調べたい時などに使います。

🧑‍🎓

境界条件として利用する、というのは具体的にどういうデータを渡すんですか?力ですか、変位ですか?

🎓

主に「強制変位」です。全体モデルで求めた、サブモデル境界上の節点変位を、サブモデル解析の強制変位条件として適用します。これがサン・ベナンの原理に基づく基本的な方法です。応力や反力も使えますが、変位が最も一般的で安定しています。

🧑‍🎓

サン・ベナンの原理とは何ですか?なぜそれがサブモデリングの根拠になるんですか?

🎓

「物体の一部に加えられた力系が、それと静力学的に等価な他の力系で置き換えられても、置き換えられた場所以外の部分の応力分布には影響が少ない」という原理です。つまり、遠方からの影響は大局的な変形として捉えればよく、局所詳細部の近傍で境界条件を正確に与えれば、内部の応力は正確に求まる、という理屈です。

🧑‍🎓

全体モデルとサブモデルのメッシュサイズはどれくらい違って良いんですか?10倍細かくしても大丈夫?

🎓

理論的には大きくても構いませんが、実務的には段階的に細かくすることを推奨します。例えば全体モデルの要素サイズが10mmなら、第一段階のサブモデルで2mm、さらに詳細な部位で0.5mmといった具合です。いきなり100倍細かくすると、境界での変位補間誤差が大きくなり、不自然な応力が発生するリスクがあります。

数値解法と実装

境界条件の補間と適用

🧑‍🎓

全体モデルとサブモデルのメッシュが一致しないのが普通だと思いますが、節点の変位はどうやって引き継ぐんですか?手動で割り当てるんですか?

🎓

ソフトウェアが自動的に「空間補間」を行います。サブモデル境界上の各節点について、全体モデル上の近傍の節点の変位データから、形状関数を使って補間計算します。例えば、Abaqusでは「*BOUNDARY」条件に「SUBMODEL」と指定するだけで、このプロセスがバックグラウンドで実行されます。

🧑‍🎓

形状関数を使った補間、というのは有限要素法のそれと同じですか?具体的な式は?

🎓

基本的な考え方は同じです。全体モデルの要素(例えば4節点四面体要素)内にサブモデルの節点が位置すると仮定します。その要素の節点変位

$$ \mathbf{u}_1, \mathbf{u}_2, \mathbf{u}_3, \mathbf{u}_4 $$
と形状関数
$$ N_i(\xi, \eta, \zeta) $$
を用いて、サブモデル節点の変位
$$ \mathbf{u}_{sub} $$
$$ \mathbf{u}_{sub} = \sum_{i=1}^{4} N_i \mathbf{u}_i $$
と計算します。ソルバーはこの計算をすべての境界節点に対して行います。

🧑‍🎓

全体モデルがシェル要素で、サブモデルがソリッド要素のような、異なる要素タイプの場合はどうなるんですか?

🎓

その場合は「ドライビングノード」の概念が重要になります。シェル要素の中面の変位と回転を、ソリッド要素の対応する面上の節点にどのように分配するか、という問題です。Ansysでは「Shell-to-Solid Submodeling」という専用機能があり、シェルの面内変形と曲げに基づいてソリッド節点の3次元変位を決定します。手動で設定するのは非常に煩雑です。

🧑‍🎓

サブモデルの支配方程式は、全体モデルと何が変わるんですか?境界条件以外は同じ?

🎓

支配方程式そのもの

$$ \mathbf{K} \mathbf{u} = \mathbf{F} $$
は変わりません。変化するのは、行列
$$ \mathbf{K} $$
とベクトル
$$ \mathbf{F} $$
の中身です。サブモデルでは、
$$ \mathbf{K} $$
はより詳細なメッシュに基づき、
$$ \mathbf{F} $$
のうち境界条件に関わる部分は、強制変位として処理されるため、反力が未知数となる形で方程式が再構成されます。内部の荷重条件は新たに追加可能です。

実践ガイド

ワークフローと検証

🧑‍🎓

実際の解析でサブモデリングを使う時の、確実な手順を教えてください。まず何から始めますか?

🎓

標準的なワークフローは以下の通りです。
1. 全体モデル(コースメッシュ)を作成・解析し、応力集中が見られる領域を特定する。
2. サブモデルの切り出し領域を決定。経験則として、関心領域から最低でも要素2〜3層分外側に境界を設ける。
3. サブモデルを作成(詳細メッシュ、局所的な形状修正や異種材料の追加も可能)。
4. ソフトウェア機能を用いて、全体モデル結果からサブモデル境界条件を生成・適用。
5. サブモデルを解析。
6. 検証:サブモデル境界付近の応力を全体モデル結果と比較し、大きな乖離がないか確認する。

🧑‍🎓

「大きな乖離」の具体的な指標はありますか?何%以内に収めれば良いとか。

🎓

業界のベストプラクティスでは、サブモデル境界から少し内側(例えば詳細領域の深さの10%の位置)での応力(ミーゼス応力など)を比較し、差が5%以内であることが望ましいとされます。10%を超える場合は、サブモデルの切り出し領域が小さすぎる、または境界近くに大きな応力勾配がある可能性があります。その場合は切り出し領域を大きくする必要があります。

🧑‍🎓

サブモデリングでよくある設計変更の例は何ですか?単にメッシュを細かくするだけじゃないですよね?

🎓

その通りです。サブモデリングの真価は、詳細化だけでなく「設計変更の検討」にあります。具体例を挙げましょう。
・全体モデル:溶接部をビード形状なしの単純な接合としてモデル化。
・サブモデル:実際の溶接ビード形状(JIS Z 3312の規格に基づく)を追加し、溶接金属と熱影響部(HAZ)に異なる材料特性(例えば、SM490A母材に対し溶接金属はヤング率を1%変化させる)を割り当て、残留応力の初期条件を導入する。
これにより、全体モデルでは評価できない局所的な疲労強度を詳細に評価できます。

🧑‍🎓

サブモデルを作る時、全体モデルの結果ファイル(.odbや.rst)は必ず必要ですか?それとも結果データだけ抽出すればいい?

🎓

通常、ソフトウェアのサブモデリング機能を利用する場合は、全体モデルの結果ファイル(Abaqusなら.odb, Ansysなら.rst)とモデルデータベースファイル(.cae, .db)の両方が必要です。ソフトウェアが境界節点の位置関係を特定し、自動補間するために、ジオメトリとメッシュの情報も参照するからです。単なる数値データのリストでは不十分です。

ソフトウェア比較

各ソルバーの実装と特徴

🧑‍🎓

AbaqusとAnsysのサブモデリング機能で、決定的に違う点は何ですか?

🎓

大きな違いは「プロセス管理」にあります。Abaqusでは、全体モデルのジョブ(Job-1)を実行した後、同じモデルデータベース(.cae)内でサブモデル部品(Part)を作成し、「Model > Edit Attributes > Submodel」で設定します。一つのCAEファイルで完結します。一方、Ansys Workbenchでは、「Submodeling」システムという専用のテンプレートを使い、全体モデルシステムとサブモデルシステムをリンクさせてプロジェクトツリーを構成します。データ連携がグラフィカルで分かりやすいです。

🧑‍🎓

無償ソフトやオープンソースのCalculiXやCode_Asterでもサブモデリングはできますか?

🎓

CalculiXでは、標準機能としての「自動サブモデリング」はありませんが、手動で実現する方法はあります。全体モデルの境界節点の変位を計算し、それをサブモデルの入力ファイル(.inp)の「*BOUNDARY」条件として記述すれば原理的には可能です。Code_Asterでは「MACR_RECAL」というオペレーターがあり、これを用いてメッシュの一部を再計算する「再局所化」が可能で、サブモデリングに近いことができます。ただし、商用ソフトのような高度な自動補間やGUIサポートは乏しいです。

🧑‍🎓

非線形解析、例えば弾塑性や接触を含む全体モデルの結果を、サブモデリングに使えますか?

🎓

可能ですが、注意が必要です。AnsysやAbaqusはいずれも非線形解析からのサブモデリングをサポートしています。しかし、サブモデル解析自体は線形解析であることがほとんどです。これは、全体モデルから受け取る「変位」が、ある特定の荷重状態(最終状態または特定の増分ステップ)での値だからです。サブモデル内で新たに接触や大きな変形などの強い非線形性が生じる場合は、その取り扱いが複雑になり、単純なサブモデリングでは不適切な場合があります。

🧑‍🎓

COMSOL Multiphysicsではどうやってやるんですか?「サブモデリング」という名前の機能はありますか?

🎓

COMSOLでは「サブモデリング」という専用機能名ではなく、「研究」の機能を組み合わせて実現します。具体的には、全体モデルを解く「研究1」を作成し、その解を「解」として保存します。次に、詳細なジオメトリで新たな「コンポーネント」を作り、「研究2」を追加します。この研究2の初期条件や境界条件として、「研究1の解」をインポートする「線形押し出し」や「一般投影」などの機能を使って変位場を適用します。柔軟ですが、設定に慣れが必要です。

トラブルシューティング

よくあるエラーと対策

🧑‍🎓

サブモデルを実行したら、「ドライビングノードの変位データが見つかりません」というエラーが出ました。原因は何ですか?

🎓

最も多い原因は2つです。1つ目は、全体モデルの結果ファイル(.odb等)のパスが間違っている、またはサブモデル解析時に読み込めていないこと。2つ目は、サブモデルの境界面(カットバウンダリ)が、全体モデルのジオメトリ/メッシュからはみ出していることです。ソフトウェアは、サブモデルの各境界節点が、全体モデルの「どの要素内にあるか」を検索します。境界が全体モデルの外にあると、補間のための「ドライビングノード」データが見つからず、このエラーになります。まずはサブモデルの切り出し領域を確認してください。

🧑‍🎓

サブモデル境界付近の応力が、全体モデルの結果と比べて明らかに変です。ギザギザしていたり、極端に高い値が出たりします。なぜですか?

🎓

これは典型的な「境界効果」です。主な原因は3つ考えられます。
1. サン・ベナン原理の適用限界:境界が関心領域に近すぎる。対策は切り出し領域を大きくする。
2. 補間誤差:全体モデルのメッシュが粗すぎて、詳細な変形モードを捉えられていない。全体モデルのメッシュをある程度細かくするか、境界から離れた位置で結果を評価する。
3. 不連続な境界条件:Abaqusなどで「*SUBMODEL, INTERPOLATE=ELCENTRIC」など、節点ではなく要素中心のデータを補間に使う設定を試すと平滑化される場合があります。

🧑‍🎓

全体モデルは動解析(過渡応答)で、サブモデルで特定時刻の詳細応力を見たいのですが、うまくいきません。静解析のサブモデリングとは何が違うんですか?

🎓

動解析からのサブモデリングは「時間歴サブモデリング」と呼ばれ、より高度な設定が必要です。単に変位だけでなく、速度や加速度も境界条件として考慮する必要がある場合があります。Ansysでは「Submodeling」システムの詳細設定で「Load step and time」を指定します。また、全体モデルが動的である場合、サブモデルも動的解析として設定しなければ、慣性効果を見逃す可能性があります。この場合、サブモデルは「モーダル過渡応答解析」などを行い、全体モデルから得た変位時歴を強制変位として与える形になります。ソフトウェアのマニュアルで「transient submodeling」を確認してください。

🧑‍🎓

サブモデルに新しい荷重(例えば局部圧力)を追加したら、境界が動いてしまい、全体モデルから受け取った変位条件と矛盾する気がします。これは許されるんですか?

🎓

これは重要なポイントです。サブモデリングの基本形(変位境界条件)では、境界は「強制変位」で固定されているので、内部に新たな荷重を加えても境界は動きません。これは、サブモデルが全体モデルの一部として「拘束されている」状態を表しています。もし、局部荷重によって境界の反力が大きく変化し、それが全体モデルの変形に影響を与えるほどであれば、サブモデリングの前提が崩れています。その場合は、局部荷重を全体モデルに反映させて再解析するか、またはサブモデリングではなく「子モデル法」など、境界の反力を全体モデルに戻して連成させる高度な手法を検討する必要があります。

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