この記事では、非線形静解析 (Static で Nonlinear をオンにした解析) で接触解析を行ったときにパーツが貫通する理由とその対応方法について説明します。
何が起きているか
パーツが貫通する場合、次のいずれかが起きています:
- パーツ間に Physical contact が定義されていません。すべての接触面が正しく定義されていることを確認してください。
- Penalty coefficient (ペナルティ係数)が低すぎます。貫通深さが無視できる程度になるまでこの操作を行います。
Static (静的)解析タイプの詳細については、 ドキュメントページ をご覧ください。さらに、 非線形接触 、 ペナルティ接触 、 ラグランジュ接触に関する 詳細情報は、このページを参照してください。
| 非線形解析を有効化する手順 |
|
シミュレーション中に複数のパーツが接触する可能性がある場合、Static (静的解析) タイプで非線形解析を 有効にする必要があります。これにより、 Physical contact を割り当てることができます。
|
パーツの貫通を防ぐための一般的なヒント
例題の説明
以下の簡単な例で、接触計算の設定を説明いたします。下図に、大小の円柱モデルが接触する問題で、1/4分割したモデルを示します。
問題の概要:
- 小さい円柱が特定の変位を生じるのに必要な力を求めます。
- 解析上で強制 変位を与え、反力を計算します。
- 小さい円柱と大きい円柱の間の接触特性を、Physical contact を用いて解析条件を設定します。
接触面を正しく割り当てる
パーツ間の接触を計算するには、接触面を定義します。以下のような面を接触面として定義します:
- すでに接触している面
- 解析中に相互作用する(して欲しい)面
ここで、面と面のペアについて、それぞれの面にマスター・スレーブと呼ばれる役割を割り当てます。
マスター・スレーブの選択方法は、以下の記事を参考にしてください。
接触解析のモデル化方法
SimScaleでは、接触を数値モデル化手法として以下の2種類をご使用いただけます。
- 拡張ラグランジュ法
- ペナルティ法
それぞれの方法には長所と短所があります。
ペナルティ法
- ペナルティ法は2つの物体が貫通して食い込んだ時、干渉している部分では仮想的なバネが圧縮されるという仮定に基づいています。
- 干渉している深さを侵入深さと呼びます。接触力は、この侵入深さと仮想的なバネの剛性(バネ係数)から計算されます。
- Contact stiffness および Penalty coefficient (ペナルティ係数)はこの仮想的なバネの剛性です。
$$F = k \cdot \Delta L $$
ここで、\(k\) はペナルティ係数、\(F\) は接触力、\(DeltaL\) は侵入深さです。
ペナルティ法では、適切なペナルティ係数を割り当てることが重要です。侵入深さを最小に保てるペナルティ係数の値が最適値だと言えます。
ペナルティ係数は、
- 小さすぎると、パーツ同士が大きく貫通/干渉します。
- 大きすぎると、数値的な不安定性が生じます。
以下が、ペナルティ係数を決めるにあたっての推奨されるワークフローです。
-
Penalty coefficient (ペナルティ係数) k を推定し、最初のシミュレーションを実行します。
- このときの推奨値は、 ペナルティ係数の決定をご覧ください。
- ソルバーログあるい Contact monitoring より Contact residual をチェックします。
- ログの場合、Contact Peneltationの残差が十分小さいか確認します。しきい値は1e-6が良いでしょう。
- 接触部の貫入が十分に小さい場合、解の分布を Solution field でチェックします。 ポストプロセッサで Displacement (変位)を確認し、貫通の度合いをチェックします。貫入は無視できますか?
- もし、Contact Peneltationの残差または貫通の度合いが大きい場合、 ペナルティ係数kを 大きくします。シミュレーションが収束せずに失敗する場合(解行列が特異誤差を持つ場合など)、ペナルティ係数 kを 小さくします。
Penalty coefficient (ペナルティ係数)の決定
ペナルティ係数は、メッシュの種類、接触面の要素の大きさ、材料特性、荷重など多くの要因に依存します。ペナルティ係数を定義する一意な方法はありませんが、以下に推奨される設定値の求め方を示します。上から下に向かって複雑な考え方になります。
- 経験則として、ヤング率に50を掛けることができます [1]
$$k = 50 \cdot E $$ ℊ
ここで、 \( E \)はヤング率です。 - G.R. Liuはヤング率に1e5または1e8の係数を掛けることを推奨しています [2]。
$$k = 1 \cdot 10^{5 \sim 8} \cdot E $$ - Code_asterのドキュメントでは、接触している物体の最大のヤング率に代表長さを掛けることを推奨しています [3 ]
$$k = d \cdot E_{max} $$
ここで、\(d\) は代表長さ、\(p\) は要素の次数、\(Delta x\) は接触面の最小要素の要素サイズ(節点間隔)、\(n\) は問題領域の寸法です(SimScaleは3次元領域を必要とするため、 n = 3 )。
特性長は、問題領域の寸法に対する要素サイズの比率として定義することができます。
$$d = \frac{\Delta x}{n} $$ - Zienkiewicz 氏は、次の式を使用することを推奨しています [4]
$$k = E_{max} \cdot (\frac{1}{d})^p $$
拡張ラグランジュ法
ペナルティ係数とは対照的に、ラグランジュ法では貫入は完全に禁止されています。
したがって、接触力はメッシュの大きさに依存しません。この方法は反復の代わりに厳密解(ラグランジュ方程式)を必要とするため、精度は高いですが、大変形では不安定になります。
Augmented Lagrange法はPenalty法とLagrange法の組み合わせと考えることができます。この方法は貫入を最小限に抑え、解はほぼ正確です。この方法は正確ですが、100,000節点以上の問題には適していません。また、特に2次要素では安定性に欠けます。
ベストプラクティス
- 節点数と要素数が多い場合や2次要素にはペナルティ法を推奨します。
- 粗いメッシュを使用すると、シミュレーションの精度が低下します。しかし、適切なペナルティ係数を適用することは、細かいメッシュを使用することよりも重要です。
- ペナルティ係数のあたりをつけ、シミュレーションを開始します。次に、残差と侵入深さをチェックします。残差と侵入深さが無視できる値になるまでペナルティ係数の値を調整し続けます。
- 収束するまで接触面の要素サイズを小さくします。
- 要素サイズを小さくすると、より大きなペナルティ係数が必要になります。
| 要素サイズ | 0.02m | 0.02m | 0.001m | 0.001m | 0.001m | 0.001m |
|
ペナルティ 係数 |
5.25e+12 | 1.0e+14 | 5.25e+12 | 1.0e+14 | 1.0e+16 | 拡張ラグランジュ法 |
| 残差 | 5.89e-5 | 3.49e-6 | 9.51e-5 | 5.82e-6 | 1.33e-7 | - |
| 力 | 456,146 N | 508,463 N | 432,515 N | 496, 914 N | 499,105 N | 499,154 N |
図 5: 固定パーツとプレスパーツのミーゼス応力のカラーコンター図
| Imprint (インプリント) |
|
SimScaleでは、CADモードの機能で接触面を面分割する機能がございます。複数の 複数のボディが物理的に接触している状態で非線形静的解析を開始する前に、ジオメトリをインプリントしてください。 この記事で、インプリントがモデルにどのような影響を与えるかを確認してください。 |