6.0 接触解析の基本

トップページは<a href="https://qiita.com/Sagittarius_Chiron/items/fd806361ceca4864bc79">こちら</a>です。
1.0、2.0、4.0の記事の読了を前提として、操作についての記載を省略している場合があります。
ver1.1.1では近接している面を自動認識する機能が追加されていますが、ここでは使用しません。
実際の作業は、途中まで4.0 部品の連結　と同じです。

参考にさせていただいた『SALOME-Mecaの使用法解説』の順序は、6.0が「接触面の摩擦なし」で、そのあと6.1で「接触面の摩擦あり」でした。<br>
ここでは、摩擦係数μに非常に小さな値を代入して計算しています。
<dd>この理由は、PrePoMax(CalculiX)で摩擦なし(摩擦係数μ=0)の状態が設定できないと勘違いしていたためです。そのあと「摩擦なし」でも計算できることを確認しました。「摩擦なし」の場合の設定については本文中の補足コメントで対応しました。</dd>

###解析内容
<dl>
  <dt>使用ファイル</dt>
  <dd>multi-bar-1.stp　　(注1)</dd>
  <dt>単位</dt>
  <dd>mm-ton</dd>
  <dt>材料物性値:Top</dt>
  <dd>Steel　　(注2)</dd>
  <dd>縦弾性係数：E=212000 [MPa]</dd>
  <dd>ポアソン比：ν=0.293</dd>
  <dt>材料物性値:Base</dt>
  <dd>Aluminum　　(注2)</dd>
  <dd>縦弾性係数：E=70600 [MPa]</dd>
  <dd>ポアソン比：ν=0.343</dd>
</dl>
荷重状態
　a)　 面：変位 Dz= - 0.1 [mm]
　　　TopとBaseの間の初期隙間 = 0 [mm]

<img width="75%" alt="Fig401.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/75259875-2592-fc67-d41e-b276c9033d79.png">
（図のほうにエラッタがありcondBarになっています。正しくはcontBarです。）
<ul>
<li>(注1)</li>このファイルはマルチシェイプのため、ProPoMaxで使うには修正が必要です。
修正済のファイルを<a href="https://drive.google.com/drive/u/2/folders/1j3PD-Ks2W_dTvEu-m0jNoZzfGDIQQz1e"><strong>こちら</strong></a>に置きました。
自分で修正する場合は下記の操作です。
- マルチシェイプStep形式に対応している3D-CADでmulti-bar-1.stpファイルを読み込む。
- TopとBaseの部品を別々にエクスポートする。

<li>(注2)</li>この値は元の例題での値です。ここでは PrePoMax の Material Library に登録済の近い値の材料を使います。
</ul>

###形状の読込
PrePoMaxの新規起動または新規作業開始をしてください。
unit system:<b>mm,ton,s,℃</b> に設定してください。

multi-bar-Base.stpをインポートしてください。
オブジェクト・ブラウザのGeometryタブのツリーにSolid_part-1が作成され、グラフィック・パネルには部品が表示されます。

multi-bar-Top.stpをインポートしてください。
オブジェクト・ブラウザのGeometryタブのツリーにSolid_part-2が作成され、グラフィック・パネルには部品が表示されます。

ツリーに表示される名前の変更ができますが、ここでは
・Base部品のインデックス = 1
・Top部品のインデックス = 2
という規則で設定していきます。

###メッシュ作成
Solid_part-1にCreate Meshを実行してメッシュを生成してください。
Solid_part-2にCreate Meshを実行してメッシュを生成してください。
※　番号順に操作してください。

###材料物性値の設定

Material Library から材料物性値を呼び出してください。

　FE ModelタブのツリーのMaterialsの右クリックメニューのMaterial Library。
　メニューバーの場合はProperty→Material library。

　Steel：S185
　Aluminum：1060_Alloy
<img width="50%" alt="Fig402.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/55433bcf-7a43-5db9-849d-5d4ec7fe88c4.png">
　ツリーのMaterialsの下に S185 と 1060_Alloy が表示されます。

セクションの設定をしてください。

　FE ModelタブのツリーのSectionsの右クリックメニューのCreate。
　メニューバーの場合はProperty→Section→Create。

　<b>Type</b> = Solid section
　<b>Properties</b>
　Name = Solid_selection-1 (デフォルトのまま)
　Material =  1060_Alloy
　Region type = Part name
　Part = Solid_part-1

　「OK-New」を左クリック

　<b>Type</b> = Solid selection
　<b>Properties</b>
　Name = Solid_selection-2 (デフォルトのまま)
　Material =  S185
　Region type = Part name
　Part = Solid_part-2

　「OK」を左クリック
<img width="75%" alt="Fig403.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/3cb6a982-d4cf-509b-f473-b8dc4b0a4cfa.png">


ツリーのSectionsの下に Solid_selection-1 と Solid_selection-2 が表示されます。

###面の命名
面に名前を付けてください。

　FE ModelタブのツリーのMeshのSurfaces の右クリックメニューのCreate。
　メニューバーの場合はModel→Surfce→Create

1) <b>Properties</b>
　 Name = fix
　 Surface type = Element
　 Region type = Selection
2) Surfaces, edges and vertices
3) 面を選択してください。
4) 「Ok-New」を左クリックしてください。
<img width="75%" alt="Fig404.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/9895affe-1a6b-ee27-29b5-0eb54ab62a42.png">

同様にして、あと３つの面の設定をしてください。
３つ目までは「OK-New」　最後の４つ目は「OK」です。
Name = contBase
Name = contBar（図のほうにエラッタがありcondBarになっています）
Name = load
<img width="75%" alt="Fig405.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/b2e23d9d-dd8f-310e-7751-44d42effbfbc.png">

ツリーのSurfacesの下に fix、contBase、contBar、load が表示されます。

###接触面(相互作用)の設定
接触面の設定をしてください。

　FE ModelタブのツリーのMeshのContact → Surfaces interactions の右クリックメニューのCreate。
　メニューバーの場合はInteraction → Contact → Surfaces interaction → Create


1)  <b>Data</b>
　　Interaction name = Surface_interaction-1(デフォルトのまま)
2)　Interaction models
　　Selected = Surface behavior
　<b>Properties</b>
　　Data
　　Type = Hard

3)　Interaction models
　　Selected = Friction
　<b>Properties</b>
　　Data
　　Friction coefficient = 1e-6
　　Stick slope = Default
4) 「OK」を左クリックしてください。

<img width="100%" alt="Fig601.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/168a69e7-c879-622a-11a8-d09f2f5f46ee.png">
右図のスクリーンショット画面の下のほうに摩擦係数(μ>0)と表示されています。Firctionを追加するとμ=0という設定はできません。
<dd><b>「摩擦なし」の状態で計算するには3)の操作をスキップして4)の操作をしてください。こののちの操作は全て同じです。</b></dd>

<br>接触面ペアの設定をしてください。
　FE ModelタブのツリーのMeshのContact → Contact pairs の右クリックメニューのCreate。
　メニューバーの場合はInteraction → Contact → Contact pair → Create

1) <b>Data</b>
　　Name = Contact_Pair-1 (デフォルトのまま)
　　surface interaction = Surface_interaction-1 (デフォルトのまま)
　　Method = Surface to surface (デフォルトのまま)
　　Adjust = Yes (デフォルトのまま)
　　Adjustment size = Default (デフォルトのまま)
　<b>Master Region</b>
　　Master region type = Surface name
　　Master surface = contBase
　<b>Slave Region</b>
　　Slave region type = Surface name
　　Slave surface = contBar
3) 「Ok」を左クリックしてください。
<img width="50%" alt="Fig602.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/a096a830-39e1-c4fa-0e68-0a5a2e2fb237.png">

###解析設定
解析ステップを新規作成してください。

　FE ModelタブのツリーのStepsの右クリックメニューのCreate。
　メニューバーの場合はStep→Step→Createです。

　<b>Type</b> = Static step
　<b>Data</b>
　Name = Step-1 (デフォルトのまま)
　Solver = Default (デフォルトのまま)
　Nlgeom = <font color="Red">On</font> 
　Incrementation = Default (デフォルトのまま)
<img width="200" alt="Fig08.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/28f439ba-53a5-b205-174c-dd051bbd162a.png">

固定する面を作成してください。

　FE ModelタブのツリーのStep-1/BCsの右クリックメニューのCreate。
　メニューバーの場合はStep→BC→Createです。

　<b>Type</b> = Fixed
　<b>Properties</b>
　Name = Fixed-1 (デフォルトのまま)
　Region type = Surface name
　Surfaces = fix
　「OK-New」を左クリック
<img width="50%" alt="Fig407.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/01230eee-13ee-e4e4-9a87-91ad9cd36b2d.png">

　<b>Type</b> = Displacement/Rotation
　<b>Properties</b>
　Name = Displacement_rotation-1 (デフォルトのまま)
　Region type = Surface name
　Surfaces = load
　U1 = 0 mm
　U2 = 0 mm
　U3 = Unconstrained
　UR1 = Unconstrained
　UR2 = Unconstrained
　UR3 = Unconstrained
　Color = Lime (デフォルトのまま)
<img width="50%" alt="Fig603.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/37358091-a0e1-b1da-246a-c948fc63ff38.png">
　「OK-New」を左クリック

　<b>Type</b> = Displacement/Rotation
　<b>Properties</b>
　Name = Displacement_rotation-2 (デフォルトのまま)
　Region type = Surface name
　Surfaces = load
　U1 = Unconstrained
　U2 = Unconstrained
　U3 = -0.2 mm
　UR1 = Unconstrained
　UR2 = Unconstrained
　UR3 = Unconstrained
　Color = Lime (デフォルトのまま)

「OK」を左クリック

≪補足≫
　Type = Displacement/Rotation の設定を２つに分けています。
　2のほうは、Top部品が初期値0mmから最終値の-0.2mmまで徐々に押し込まれていく操作に関係する設定です。
　1のほうは、Top部品の移動に関係しない設定です。

　今回は、静的計算(Static step)のため、分ける必要はありませんでした。

≪ファイル保存≫
いったんファイルを保存してください。名前は任意ですが、ここでは06_00フォルダーの06_00_a.pmxファイルとしました。

###ソルバー計算
ソルバー計算を実施してください。

表示例を示します。
Top部品の上面(load)が0.2mm移動しています。
Top部品とBase部品の接触面に応力が生じています。
<dd>「摩擦なし」の設定でも同じ計算結果になることを確認しました。</dd>
<img width="75%" alt="Fig604.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/d324fd56-bce6-ef9a-d5c4-1ad2a0c0b8ad.png">
<img width="75%" alt="Fig605.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/cf40be14-c3ff-58a4-9fb6-7de6ef7f6a4b.png">

参考にさせていただいた元の例題ではあと２種類の形状の計算もしていますが、いったんここまでとします。

≪補足≫
参考にさせていただいた元の例題では、Top部品の変位量を0から最終値までランプ関数にしたがって変化させる設定での計算、すなわち非定常計算をしています。摩擦が働かない場合は、非定常計算と定常計算の結果は同じになります。