接触チャタリング(状態振動)

カテゴリ: エラー対策 | 2026-02-01
contact-chattering

接触チャタリングとは

🧑‍🎓

先生、解析を回したら「contact chattering」って警告が大量に出て、全然収束しないんです…


🎓

接触チャタリングは、接触状態が反復ごとに開→閉→開→閉と振動する現象だよ。Newton-Raphson反復の中で、ある節点が「接触している」と判定された次の反復で「離れている」と判定され、それが延々と繰り返される。


🧑‍🎓

なるほど、接触の判定が安定しないってことですね。どんなときに起きやすいんですか?


🎓

フラットな面同士の接触や、荷重が接触面に対して浅い角度で作用するケースで起きやすい。ペナルティ剛性が高すぎる場合にも発生するよ。


エラーメッセージと対策

Abaqus

🎓

メッセージ: ***WARNING: TOO MANY SEVERE DISCONTINUITY ITERATIONS. CHATTERING WILL BE TOLERATED


Abaqusでは*CONTACT CONTROLS, STABILIZEで接触安定化を有効にする。安定化の値は通常、接触剛性の1/1000程度から始めて調整する。増分サイズを小さくすることも効果的だ。


🧑‍🎓

STABILIZEって、人工的な減衰を入れるってことですよね?


🎓

その通り。散逸エネルギー(ALLSD)が全体のひずみエネルギー(ALLSE)の5%以下であることを確認すれば、結果への影響は許容範囲内だ。


Nastran(SOL 400)

🎓

メッセージ: *** USER WARNING MESSAGE 7801 (NLITER): CONTACT STATUS CHANGED FOR N NODES


NastranではPARAM,CNTSTB(接触安定化)やBCTPARAのFRICパラメータの調整で対処する。BCTPARA,ERRORLMTで許容する接触状態変化回数を設定できる。


Ansys Mechanical

🎓

メッセージ: WARNING CP = xx.xxx TIME= xx:xx:xx Contact status is oscillating between OPEN and CLOSED for contact element xxxx


AnsysではSTABILIZEコマンド、またはFKN(法線方向ペナルティ剛性係数)をデフォルトの1.0から0.01〜0.1に下げる。PINBALL半径を大きくして接触検出範囲を広げることも有効だ。


OpenFOAM(固体接触)

🎓

OpenFOAMのsolidMechanicsモジュールではcontactOscillationDampingtrueに設定し、dampingFactorを0.1〜0.5で調整する。


🧑‍🎓

ソルバーごとに対策の名前は違うけど、やってることは似てるんですね。安定化ダンピングを入れるか、ペナルティ剛性を下げるか。


🎓

そうだね。もう一つ重要なのは、接触面のメッシュを揃えることだ。master面とslave面のメッシュサイズが大きく異なると、チャタリングの原因になる。理想的にはslave面のメッシュをmaster面より細かくする。

ソルバーエラーの原因特定に費やす時間は、もっと短くできるはず。 — Project NovaSolverはエラー診断体験の改善を研究テーマの一つとしています。

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

「接触チャタリング(状態振動)をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。

進捗通知を受け取る →