CAEを学ぶ
接触解析について
Ansysでの接触解析についてご紹介いたします。
接触解析の必要性
昨今のCAEを語る上で接触解析は避けて通れません。衝突や剥離、摩擦など接触面の状態変化を考慮する王道的な解析だけではなく、アセンブリモデルのパーツ接合にも接触の技術が活用され、解析規模低減に役立っています。
Ansysにて接触解析を行う場合、かつてはMechanical
APDL(旧Classic)環境にて作業を行ってきました。しかし、近年AnsysWorkbench環境の機能が強化され、接触解析のような高度な非線形解析でもCADライクな操作で実施することが可能になっています。
とはいえ、接触解析は非線形性の強さが故に難易度の高い解析であると言わざるを得ません。
本稿はAnsys Workbenchで接触解析を行うに際して遭遇する代表的なトラブルと対処法を紹介することによって、その難易度を低くすることを目的としています。
接触解析のトラブルシューティング
接触解析は収束解を得づらく、計算時間やハードウェアリソースを消費しやすい解析です。それは一般の非線形解析と比較し
- 接触剛性が導入されることで、マトリクスの形がいびつになりやすい
- 接触だけでパーツが支えられている場合、剛体移動を誘発しやすい
- 接触面の状態変化が激しく、多くの繰り返し計算が必要
等の理由があるためです。逆に各要因の原因を理解し是正すれば収束解を得やすくなります。
不適切な接触剛性による発散
ペナルティ法や拡大ラグランジェ法では、接触界面に仮想的なばねを生成し接触のすり抜けを防止し接触整合性を満足させます(法線ラグランジェ法は、ばねではなく圧力自由度によって整合性を満足させます)。このときのばね剛性が接触剛性です。
接触剛性が高ければ接触面の食い込み量が減少し精度が向上しますが、高すぎると収束性が著しく悪化します。これは全体剛性マトリクスに接触剛性が導入されることで、マトリクスの形がいびつになり、解を求めづらくなってしまうからです。
設定ミスや構造不安定等の問題がなく、接触が発散の原因であると推測される場合、この接触剛性を調整することで収束性の改善が期待できます。
Workbenchにて接触剛性を調整する際には、剛性値を直接入力せず、係数(垂直剛性係数)を入力することになります(図2)。この係数と内部的に計算された接触剛性を掛けた値が初期接触剛性となります。接触直後に収束性が悪化し発散する場合、接触剛性が高すぎるケースが多いです。その際には係数値(デフォルトは1)を1桁〜
2桁程度小さくし、収束性が改善するかを確認します。
このように、接触剛性係数は精度(食い込み量)と収束性を左右する重要なパラメータです。発散しない程度に高い係数値が最適ですが、その値を事前に見積もることは困難です。そのため、Workbenchには接触剛性更新機能が実装されており、計算中の収束状況に応じて接触剛性を調整してくれます(図2)。
剛体移動による発散
静解析において拘束されていない物体に力荷重を負荷すると無限遠に移動してしまいます。これが剛体移動です(時刻歴解析の場合、慣性で支えられるため拘束条件は必須ではありません)。接触解析は拘束条件ではなく接触によってパーツが支えられているため、この剛体移動を誘発しやすい問題です。
接触解析における剛体移動原因の代表例として挙げられるのが“初期ギャップ”です。
図3は平面と曲面の接触を表しています。ジオメトリとしては接触していますが、有限要素モデルとしてはギャップを有していると認識されます。それは接触判定がガウス点(図中×印)と呼ばれるコンタクト要素コーナー節点内側の点にて行われるからです(法線ラグランジェ法やMPC法は節点)。この状態で物体に力を加えると剛体移動が発生してしまいます。この場合、接触判定位置をギャップ分だけずらし初期接触状態とする設定が有効です。
図4の設定(接触間調整を“ギャップ食い込みをなくす”に設定する)を行うことで、初期ギャップ・初期食い込みに応じて接触判定位置を自動的にオフセットしてくれます(手動によるオフセット量入力も可能)。ただし接触判定位置がオフセットされるだけであり、形状モデルや有限要素モデル自体は移動しないことに注意してください。大きなギャップを有するモデルに対しオフセットを無理やり適用すると、図4のように、見た目は離れているのに解析的にはつながっているという不自然な結果となってしまいます。このような場合は、CAD側である程度ギャップを小さくするなどの修正が望まれます。
なお、初期ギャップによる剛体移動は解析初期に発生することが多く、その発見は比較的容易です。
計算中に剛体移動が発生することもあります。たとえば、接触設定領域外まで変位が進む、摩擦で支えきれないほどの接線方向力がかかるなどのケースです。この場合の事前予測は困難であり、発散直前の解をチェックし改善策を模索することになります。そのためにも、途中の解析結果をある程度保存する設定を行うことをお勧めします(図5)。
有効な改善策が見つからない場合、弱いばねでパーツを支えるという方法もあります。図6の設定を行うと、拘束されていないパーツに低剛性のばねを接合し、その端部を固定することで剛体移動を抑制できます。
ばねを追加した場合にはその端部反力解を確認します(図7)。反力が大きすぎる場合、ばね剛性が高く変形挙動に悪影響を及ぼしている可能性があるので、剛体移動を抑制できる程度に剛性値を低くする必要があります。
改善策とは少し異なりますが、力荷重ではなく強制変位にて物体を移動させることも有効です。強制変位の場合、物体の位置が常に定まるため剛体移動が発生しません。その結果、計算の安定性・収束性が格段に向上します。接触設定が適切に行われているかをチェックする予備解析にも最適です。
エッヂ接触による発散
エッヂ(角)や頂点が当ることによって発散することがあります。先に述べたようにWorkbenchの接触判定点はガウス点であるため、このようなケースでは過度な食い込みが発生し収束性が悪化してしまうためです(図8)。
この場合の解決法として、接触判定点を節点にする方法が考えられます。
Workbenchで接触判定点を節点に変更するときには、コマンドオブジェクトを使用します(図9)。
これにより、エッヂや頂点といった節点が当る接触を正確に認識させることができます。
ただし、節点に変更することで接触判定点の数が減少してしまいます。たとえば、隣接する二つの要素の接触判定点は、ガウス点の場合8つなのに対し、節点の場合6つに減ることになります。それに伴う精度や収束性悪化に注意が必要です。この場合、解析コストはかかりますが、節点判定の接触ペアとガウス点判定の接触ペアを二重張りすることで、エッヂ接触に対応しつつ接触判定点の数を増やすことができます。
ただ、以上のような対処法も有効ですが、できれば頂点や角が当るような接触を避け、フィレットをつけるなどして面対面で当るように形状変更することが望ましいです。接触解析に限らず1点に力がかかるような条件(集中荷重や点拘束)は数値計算上の特異点となり、発散の原因となってしまいます。
サブステップ数の検討
サブステップ数が十分かの検討も重要です。接触解析は状態変化が瞬間的に発生する、非線形性の強い解析です。一般的な非線形解析(材料非線形など)と比較し、必要とされるサブステップ数は増加する傾向にあります。自動時間ステップ機能を使用し、収束状況に応じたステップ数コントロールを実施してください。
このとき最大サブステップ数(収束困難時のサブステップ数増加上限)のみに注目しがちですが、初期サブステップ数や最小サブステップ数にも注意が必要です。たとえば、落下解析において、落下中のステップ数は初期サブステップや最小サブステップが参照されます。これらの数が不足している場合、接触が認識される前に落下すり抜けが発生することがあります。
時間ステップコントロール機能の一つである“予測 (衝突挙動用)”といった設定(図10)や、接触直前と接触後といった2つの荷重ステップに分けて、接触後のステップ数を明示的に細かくするといった対策も有効です。
接触解析を成功に導くために
このように接触解析は発散要因が多い解析です。円滑に接触解析を進めるためにも、以下に述べるポイントを確認するようにしましょう。
解析前に初期接触状態をチェックする
Workbenchには初期接触状態を確認するためのツールが実装されています(図11)。
この接触ツールを用いて解析前の接触状態をチェックする習慣をつけましょう。特に接触ステータス、初期ギャップ、食い込み量の確認は必須であるといえます。
接触すべき箇所が接触と認識されているか、剛体移動を誘発する初期ギャップが存在していないか、収束性悪化や不自然な結果を誘発する過大な食い込みが発生していないかをチェックすべきです。ギャップや食い込みが発生している場合には、形状修正や接触設定変更による是正を検討します。
計算中、計算後のメッセージをチェックする
結果情報ブランチにて、計算履歴(ソルバー出力)や収束判定グラフを確認することができます。
収束判定グラフにはニュートンラプソン法による残差情報が出力されます(図12)。残差が十分小さくなり収束判定基準値より下に位置すれば、そのステップは収束したといえます。逆に計算を繰り返しても判定基準より下がらない場合は、そのステップは発散したことを表しています。
接触が開始された瞬間に発散状態に移行する場合、接触剛性が不適切(大きすぎる、小さすぎる)であることが考えられます。接触剛性ファクターを調整し収束性が改善するかを確認してください。
計算履歴(ソルバー出力)には、処理状況がメッセージとして出力されます(図13)。その中に解決のヒントが隠されていることがあります。
以下は非線形解析において計算中や、発散したときに計算履歴に出力される代表的なメッセージです(括弧は出力されるタイミング)。
-
BEGIN BISECTION NUMBER ○○(計算中)
バイセクションが発生していることを表しています(接触判定グラフでは赤い点線で表現されます)。バイセクションとは、現サブステップサイズにて収束が望めない際にサブステップサイズを半分にし、収束性向上を図る機能です。多くのケースでは本メッセージの直前にバイセクション開始理由が記述されています。解析初期からバイセクションが多発している場合は、初期サブステップ数が十分ではない恐れがあります。バイセクション発生自体が結果に悪影響を及ぼすことはありませんが、多すぎるバイセクションは計算時間を長引かせる原因となります。細かなサブステップ数設定を心がけてください。 - DOF Limit Exceeded(発散時)
自由度の値が上限値を超えてしまったことを表しています。構造解析の場合、剛体移動が代表的原因です。初期接触状態や計算中(発散直前)の接触結果から、剛体移動が発生していないかをチェックします。固定条件定義忘れといったチェックも行う必要があります。 - Error in Element Formulation(発散時)
要素がごく短期間に変形したときに発生するエラーです。物性値や境界条件、単位系の設定ミスなどがないかチェックします。要素の過大な変形が生じている場合は、変形後にアスペクト比が1近傍になるよう、ゆがんだ初期形状からなる要素を生成しなければならないケースもあります。 - Unconverged Solution(発散時)
ニュートンラプソン残差が十分小さくならず計算が発散しています。この場合、どの部分で残差が大きくなっているのかをチェックする必要があります。Workbenchでは解析実行前に(図14)の設定をすることで、ニュートンラプソン残差情報を解析結果コンターとして出力してくれます。この残差が接触部位で大きくなっている場合、接触剛性(垂直剛性係数)の見直しなどで収束性向上が期待できます(図15)。
接触解析結果をチェックする
計算が終了したら、接触ツールを用いて接触部位に発生している各種結果情報をチェックします。たとえば、食い込み量をチェックし、その値がそれ相応に小さいか確認します。大きすぎると判断した場合は、接触剛性ファクターを発散しない程度に大きくするなどして、精度の向上を図ります(図16)。
最後に
接触解析をはじめとする非線形解析は、多くの繰り返し計算を必要とすることから時間やハードウェアリソースを大量に消費する解析です。それに加え発散の危険性もあり、失敗したときのコストダメージは多大なものがあります。
本稿で述べた内容を念頭に置き、事前チェックや収束情報出力および確認を密に行うことで、失敗を回避しコストダメージを低減させることができると考えます。本稿が接触解析成功の一助となれば幸いです。
当社発行誌「CAEのあるものづくり」は、CAE技術者の方や、これから解析を行ないたい設計者の方を対象としたWEBマガジンです。年2回(春、秋)発行し、Ansysシリーズを始めとした各種CAE製品紹介はもちろん、お客様の解析事例紹介やインタビュー記事、解析のテクニックなど、スキル向上に役立つ情報をご提供しています。
詳しくは、WEBマガジン「CAEのあるものづくり」をご覧ください。