剛体運動による接触不安定

カテゴリ: エラー対策 | 2026-02-01
CAE visualization for rigid body motion contact - technical simulation diagram

剛体運動による接触不安定とは

🧑‍🎓

先生、接触解析で「rigid body motion detected」っていうエラーが出ます。拘束条件はちゃんと設定してるはずなんですが…


理論と物理

剛体運動モードと接触拘束

🧑‍🎓

「剛体運動による接触不安定」というエラーは、具体的にどういう物理的な状態を指しているんですか?

🎓

良い質問だ。これは、接触している物体が、接触面に垂直な方向以外の自由度で拘束されていない状態を指す。例えば、平らな床の上に置かれたブロックが、摩擦なしで横方向に自由に動ける状態だ。数値的には、全体剛性マトリクス

$$ \mathbf{K} $$
が特異、つまり逆行列が計算できない状態になる。Ansysのマニュアルでは「Rigid body motion is possible」と警告される。

🧑‍🎓

摩擦があれば解決するんですか?理論的な摩擦モデルはどう扱われるんですか?

🎓

摩擦を導入すれば、接線方向の剛性が生まれるので、多くの場合解決する。しかし、数値解析ではクーロン摩擦モデルが一般的で、滑りが始まる限界せん断力

$$ \tau_{max} = \mu p $$
を定義する。ここで
$$ \mu $$
は摩擦係数、
$$ p $$
は接触圧だ。Abaqus/Standardでは「Penalty」法でこのモデルを実装しているが、剛性マトリクスを非対称にする可能性がある。

🧑‍🎓

接触面が完全に垂直じゃない、例えば5度傾いた面に物体が載っている場合は?

🎓

それでも不安定になる可能性はある。重力のような体積力が働く場合、その力のベクトルを接触面の法線方向と接線方向に分解する。接線方向成分

$$ F_t = mg \sin(5^\circ) $$
が、摩擦力
$$ F_f = \mu mg \cos(5^\circ) $$
を上回れば、物体は滑り始める。静解析の初期段階でこのバランスが崩れていると、剛体運動として検出され、発散する。

数値解法と実装

接触アルゴリズムとソルバー設定

🧑‍🎓

ソフトウェアは、どうやって「剛体運動が可能か」を計算の最初で判断しているんですか?

🎓

直接法ソルバー(Abaqus/Standardのデフォルト)では、最初の反復で接触状態を仮定し、全体剛性マトリクスを組み立てる。そのマトリクスの特異性を、例えばLDLT分解の過程でピボットが極端に小さくなる(1e-12以下など)ことで検出する。反復法ソルバー(Ansys MechanicalのPCGなど)では、収束しないことで間接的に検出される。

🧑‍🎓

「ペナルティ法」と「ラグランジュ乗数法」では、この問題へのアプローチが違うと聞きました。具体的な違いは?

🎓

その通りだ。ペナルティ法では、接触条件

$$ g \ge 0 $$
(gは隙間)をバネで近似し、剛性マトリクスに追加する。ペナルティ剛性
$$ k_p $$
が有限(例:1e5 N/mm)なので、剛体モードを完全には拘束せず、数値的な「柔らかさ」が残る。一方、ラグランジュ乗数法(Abaqusの「Kinematic」接触)は厳密な条件を課すが、問題のサイズとバンド幅が増え、剛体モードがあるとそもそも解が存在しない。

🧑‍🎓

「自動安定化」という機能でこのエラーが解消されるときがありますが、裏で何をしているんですか?

🎓

AnsysやAbaqusの「Automatic stabilization」は、仮想的なダンパーをシステムに追加する。具体的には、節点速度に比例する減衰力

$$ \mathbf{F_d} = c \mathbf{v} $$
を導入する。減衰係数cは、エネルギー消散の割合(例えば、全ひずみエネルギーの0.1%)からソフトウェアが自動計算する。これは数値的な「糊」の役割をし、静解析中に発生する微小な剛体運動を抑制する。

実践ガイド

モデル設定のチェックリスト

🧑‍🎓

このエラーが出たとき、最初に確認すべきモデル上のポイントは何ですか?

🎓

実務では以下の順で確認する。1) すべての接触ペアが正しく定義されているか(特に、3Dで見落としがちな側面)。2) 摩擦係数の設定(μ=0は赤信号)。3) 境界条件:接触面以外のどこかで、剛体運動を抑制するディスプレイスメント固定や遠ばねがあるか。4) 荷重の方向が、拘束されていない自由度を励振していないか。

🧑‍🎓

「遠ばね」を使う具体的な設定を教えてください。剛性はどう決めれば?

🎓

COMSOLで「弱拘束」として、またはAbaqusで「Spring」要素として追加する。剛体運動を抑えたい節点に、剛性の低いバネを接続する。目安は、モデルの中で最も柔らかい構造部品の剛性の1/100から1/1000にする。例えば、板バネの曲げ剛性が1e3 N/mmなら、遠ばねは1〜10 N/mmに設定する。影響を最小限に抑えるため、反力モニタでそのバネの反力を確認し、無視できる程度(全体の0.1%以下)であることを確認せよ。

🧑‍🎓

接触の初期嵌合を「Adjust」機能で調整する場合、どのくらいの距離まで許容できますか?

🎓

これは重要な設定だ。Ansysの「Adjust to Touch」やAbaqusの「Contact Adjustment」では、指定した許容値(デフォルトでモデル全体サイズの0.1%程度)以内の隙間または貫入を自動で修正する。しかし、これを大きすぎる値(例えば1mm)にすると、意図しない初期接触状態を作り、実際の剛体運動を隠してしまう。部品のクリアランスが明確な場合は、その値(例:JIS B 0401のすきまばめH7/g6で数十μm)を参考に、それより少し大きい値に設定するのが安全だ。

ソフトウェア比較

各ソルバーの挙動と対策

🧑‍🎓

Ansys MechanicalとAbaqus/Standardで、このエラーへの対処法に違いはありますか?

🎓

挙動と推奨対策に違いがある。Ansys Mechanical(デフォルトソルバーは反復法のPCG)は、剛体運動があると収束せずに「Solution is not converging」で停止する傾向がある。「Weak Springs」オンの自動挿入が有効だ。一方、Abaqus/Standard(直接法ソルバー)は「Too many attempts made for this increment」や「Zero pivot」という明確なエラーメッセージを出す。こちらは「Stabilization」タブで減衰係数を定義するか、接触制御で「Automatic stabilization」を有効にするのが第一歩だ。

🧑‍🎓

無料・オープンソースのCode_AsterやCalculiXではどうですか?

🎓

Code_Asterでは、接触に「CONTACT」コマンドを使うが、剛体運動があると計算が停止する。対策として「LIAISON_SOLIDE」という剛体リンク要素で仮想的な地面とつなぐ方法がマニュアルに記載されている。CalculiX(Abaqusと似た入力形式)では、「*CONTACT PAIR」で「STABILIZE」パラメータを指定できる。しかし、商用ソフトに比べて自動検出と修正の機能は限定的で、ユーザーがモデルの物理的な拘束不足を自分で見つけて修正する必要がより強い。

🧑‍🎓

非線形ソルバーの「ニュートン・ラフソン法」が収束しないのと、この剛体運動エラーは関係ありますか?

🎓

大いに関係ある。ニュートン・ラフソン法は、各反復で接線剛性マトリクス

$$ \mathbf{K_T} $$
を更新して連立方程式を解く。剛体運動モードがあると、この
$$ \mathbf{K_T} $$
が特異になり、反復の最初のステップでさえ解けない。したがって、「収束しない」の根本原因が「剛体運動による特異性」である場合が多い。Ansysの「Nonlinear Adaptive Region」やAbaqusの「Automatic stabilization」は、この接線マトリクスに人工的な剛性または減衰を加えて特異性を回避している。

トラブルシューティング

エラーメッセージ別対策

🧑‍🎓

Abaqusで「ZERO PIVOT」エラーが出ました。メッセージに出力される節点番号を確認したら、接触面の節点でした。どう解釈すれば?

🎓

それは典型的なケースだ。「ZERO PIVOT」は、その節点の特定の自由度(メッセージにDOFが表示される)に対して、剛性マトリクスの対角項が実質ゼロであることを意味する。接触面の節点で、かつDOFが接線方向(1,2,または3)を示していれば、摩擦なし接触でその方向の剛性がゼロである証拠だ。まずは摩擦係数を現実的な値(金属同士ならμ=0.1〜0.3)に設定し、再計算せよ。

🧑‍🎓

自動安定化を有効にしたら計算は進みましたが、結果の反力が以前と比べて異常に大きくなりました。これはなぜですか?

🎓

それは安定化の減衰係数が大きすぎるサインだ。仮想ダンパーが発生する力

$$ F_d $$
が、物理的な反力に比べて無視できないレベルになっている。Abaqusの.staファイルやAnsysのソルバー出力を確認し、「安定化によって消散されたエネルギー/総ひずみエネルギー」の比を探せ。この比が、デフォルトの0.05(5%)を超えているなら、安定化の影響が大きすぎる。係数を0.01や0.001に下げて再計算し、反力が収束するか確認する。

🧑‍🎓

動解析(Explicit)に切り替えれば、この問題は回避できますか?

🎓

理論的には回避できる。Abaqus/ExplicitやLS-DYNAのような動的陽解法は、質量マトリクス

$$ \mathbf{M} $$
と減衰マトリクス
$$ \mathbf{C} $$
を持つ運動方程式
$$ \mathbf{M}\ddot{\mathbf{u}} + \mathbf{C}\dot{\mathbf{u}} + \mathbf{K}\mathbf{u} = \mathbf{F} $$
を解く。剛体運動があっても
$$ \mathbf{M} $$
は正則なので、数値的には解ける。しかし、現実的ではない。無拘束の剛体は等速直線運動を続け、モデルから飛び出してしまうか、非常に長い計算時間が必要になる。根本解決にはならないので、静解析で適切な拘束を定義する方が正しいアプローチだ。

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