8.0 塑性と接触

トップページは<a href="https://qiita.com/Sagittarius_Chiron/items/fd806361ceca4864bc79">こちら</a>です。

6.0 接触解析の基本 と 7.0 塑性変形の基本 の読了を前提として、操作についての記載を省略している場合があります。
さらに、6.0 と 7.0 の記事は、1.0、2.0、4.0の記事の読了を前提としています。
<br><dd>Alminumのヤング率は、本来は70000[MPa]ですが、7000[MPa]で計算してました。
気が向いたら訂正しておきます。(2022/01/30)</dd>

### 解析内容
<dl>
  <dt>使用ファイル</dt>
  <dd>multi-bar-1.stp　　(注1)</dd>
  <dt>単位</dt>
  <dd>mm-ton</dd>
  <dt>材料物性値:Top</dt>
  <dd>Cu　　(注2)(注4)</dd>
  <dd>縦弾性係数：E=130300 [MPa]</dd>
  <dd>ポアソン比：ν=0.343</dd>
  <dt>材料物性値:Base</dt>
  <dd>Aluminum　　(注3)(注4)</dd>
  <dd>縦弾性係数：E=70000 [MPa]</dd>
  <dd>ポアソン比：ν=0.3</dd>
  <dd>塑性域(相当塑性ひずみ,応力)：(105,0)(200,0.0485)(300,0.1985)(3000,1.9985)</dd>
</dl>
荷重状態
　fix(面)：Dx = Dy = Dz = 0 [mm]
　load(面)：Dx = Dy = 0　　Dz=-1[mm]

<img width="75%" alt="Fig801.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/ec20e82d-566c-63cc-7cb3-b3abbb754a58.png">

<ul>
<li>(注1)</li>このファイルはマルチシェイプのため、ProPoMaxで使うには修正が必要です。
修正済のファイルを<a href="https://drive.google.com/drive/u/2/folders/1j3PD-Ks2W_dTvEu-m0jNoZzfGDIQQz1e"><strong>こちら</strong></a>に置きました。

<li>(注2)</li>この値は元の例題での値です。 PrePoMax の Material Library に登録済の材料では近い値のものはありません。しかし2.0の記事での材料物性と同じで、ユーザー定義材料として追加済みの方は再利用が可能です。追加登録をしていない人は2.0の記事を参考にして設定してください。
<li>(注3)</li>この材料物性は7.0の記事のAluminumと同じです。7.0の記事を参考にして設定してください。
<li>(注4)</li>元の例題のようにTop部品のCu材まで塑性物性の設定をする必要はありません。
<dd>元の例題には『塑性解析をする時は全ての材料を塑性材料として設定しないとエラーが出た。』と記載されていました。</dd>
</ul>
<dd>----------<br>参考にさせていただいた元の例題では、接触要素の計算をContrainte法(連続法)で行っていますが、CaliculiXのマニュアルを読む限りペナルティ法しかできないようです。<br>----------</dd>


### 形状の読込

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

multi-bar-Base.stp と multi-bar-Top.stpをインポートしてください。
ファイルを選択する画面で、ShiftキーとCtrlキーを併用すると複数のファイルを一度にインポートすることができます。
<img width="75%" alt="Fig802.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/37f25700-96f7-b481-4515-5d9bdfe1eaa4.png">

オブジェクトブラウザーのツリー内の項目を選ぶと対応する部品がグラフィックパネルで強調表示されます。複数の形状ファイルを一度にインポートしたあとは各自で対応を確認してください。

オブジェクト・ブラウザのGeometryタブのツリーSolid_part-1とSolid_part-2が出来ているので、名前をTopとBaseに変更してください。
（操作方法は、対象を選択上にして右クリックメニューのEditを選択し、表示される画面中のNameの欄を修正したのちに「OK」を左クリックです。）

### メッシュ作成
TopとBaseにCreate Meshを実行してメッシュを生成してください。
ShiftキーとCtrlキーを併用して複数のファイルを予め選択しておくと一度の操作でメッシュ生成ができます。
（メッシュ生成はデフォルト設定で良いです。）

### 材料物性値の設定

CuとAluminumの材料物性を設定してください。
　ツリーのMaterialsの下に Cu と Aluminum が表示されます。

セクションの設定をしてください。
　Name(セクション名)はデフォルトのままの Solid_selection-1 や Solid_selection-2 でも構いませんが、可読性を良くするために以下のように修正します。


　<b>Type</b> = Solid section
　<b>Properties</b>
　Name = Solid_selection-<font color="Red">Top</font> 
　Material =  Cu
　Region type = Part name
　Part = <font color="Red">Top</font> 

　「OK-New」を左クリック

　<b>Type</b> = Solid selection
　<b>Properties</b>
　Name = Solid_selection-<font color="Red">Base</font> 
　Material =  Aluminum
　Region type = Part name
　Part = <font color="Red">Base</font> 

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

　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
Name = 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) 「OK」を左クリックしてください。

<img width="35%" alt="Fig802-2.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/b3d8f58d-691d-21ae-21e6-ed210dec475a.png">

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

　 <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

　 「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 = -1 mm
　UR1 = Unconstrained
　UR2 = Unconstrained
　UR3 = Unconstrained
　Color = Lime (デフォルトのまま)

「OK」を左クリック


相当塑性ひずみが出力されるようにします。これを行わないと計算結果を確認する際に相当塑性ひずみが表示できません。
結果の表示のツリーでは、PE/PEです。
　FE ModelタブのツリーのStep-1/Field utputs/EF-outputs-1 の右クリックメニューのEdit。
　メニューバーの場合はStep→Field utputs→Editで、表示される画面からEF-output-1を選んでください。

　1)　Variables to output の行の▼のアイコンを左クリックしてください。　
　2)　PEEQをチェックオンしてください。
　3)　確認してください。
　4)　「OK」を左クリックしてください。
<img width="80%" alt="Fig7004.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/f62eb903-ebf6-05a1-91f4-9e8922b8b5c5.png">
≪ファイル保存≫
いったんファイルを保存してください。名前は任意ですが、ここでは08_00フォルダーの08_00-1.pmxファイルとしました。

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

### 計算結果の表示
表示例を示します。
Top部品の上面(load)が1mm移動し、Top部品とBase部品の接触面に応力が生じ、塑性変形が起きています。
<img width="75%" alt="Fig803.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/90ead18a-3ba1-bd71-4c96-de7a9ee9b14e.png">
<img width="75%" alt="Fig804.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/688ad630-377a-c3e4-0436-9b503622f19b.png">
<img width="75%" alt="Fig805.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/57d155fa-3328-2c37-8cd2-ebd59826d5d2.png">

### かしめモデル

<dd>　参考にさせていただいた元の例題では、「Pole部品とRing部品」の計算をしたのちに「Pole部品、Ring部品、Jig部品」の計算をしています。「Pole部品とRing部品」の計算は二体問題のため、既に「Top部品とBase部品」で行っています。そのため「Pole部品、Ring部品、Jig部品」の三体問題だけを行います。<br>
　元の例題では、「Pole部品とRing部品」はLaglangien法(ラグランジェ未定定数法)で、「Pole部品、Ring部品、Jig部品」はContrainte法(連続法)で計算しています。CaliculiXのマニュアルを読む限りペナルティ法しかできないようです。</dd>

### 解析内容
<dl>
  <dt>使用ファイル</dt>
  <dd>Pole-Ring-Jig.stp　　(注5)</dd>
  <dt>単位</dt>
  <dd>mm-ton</dd>
  <dt>材料物性値:Top</dt>
  <dd>Cu　　(注2)(注4)</dd>
  <dd>縦弾性係数：E=130300 [MPa]</dd>
  <dd>ポアソン比：ν=0.343</dd>
  <dt>材料物性値:Base</dt>
  <dd>Aluminum　　(注3)(注4)</dd>
  <dd>縦弾性係数：E=70000 [MPa]</dd>
  <dd>ポアソン比：ν=0.3</dd>
  <dd>塑性域(相当塑性ひずみ,応力)：(105,0)(200,0.0485)(300,0.1985)(3000,1.9985)</dd>

<dt>荷重状態</dt>
  <dd>fix(面)：Dx = Dy = Dz = 0 [mm]</dd>
  <dd>load(面)：Dx = Dy = 0　　Dz=-2.2のち2.2[mm]</dd>

<dt>面のリスト</dt>
  <dd>fix(面)：Poleのフランジの下の四分円の面(面の数=1)</dd>
  <dd>load(面)：Jigの上の四分円の面(面の数=1)</dd>
  <dd>fixR(面)：Ringの外側の円筒面(面の数=1)</dd>
  <dd>fixX(面)：対称面(面の数=3)</dd>
  <dd>fixY(面)：対称面(面の数=3)</dd>
  <dd>≪接触面≫</dd>
  <dd>contJig(面)：Jigの下の四分円(面の数=1)</dd>
  <dd>contPoleJ(面)：Poleの柱の上の四分円(面の数=1)</dd>
  <dd>contRing(面)：Ringの接触面(面の数=3；底面、内側の円筒面、フィレット面)</dd>
  <dd>contPoleR(面)：Poleの接触面(面の数=3；フランジの上面、柱の円筒面、フィレット面)</dd>
</dl>
<img width="75%" alt="Fig821.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/9cbbd96c-ecf9-1297-006b-939f3ec3831a.png">
<img width="75%" alt="Fig822.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/bbd86c77-34de-0d1d-9696-3cdd7400351f.png">

<ul>
<li>(注5)</li>このファイルはマルチシェイプのため、ProPoMaxで使うには修正が必要です。
修正済のファイルを<a href="https://drive.google.com/drive/u/2/folders/1j3PD-Ks2W_dTvEu-m0jNoZzfGDIQQz1e"><strong>こちら</strong></a>に置きました。
<li>(注2)(注3)(注4)</li>既に記載してあります。
</ul>

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

8_0_02_Jig.stp と 8_0_02_Pole.stp と 8_0_02_Ring.stp をインポートしてください。

オブジェクト・ブラウザのGeometryタブのツリーにオブジェクトが出来ているので、名前をJig、Pole、Ringに変更してください。


### メッシュ作成
Jig、Pole、Ring に Create Meshを実行してメッシュを生成してください。
（メッシュ生成はデフォルト設定で良いです。）

### 材料物性値の設定

CuとAluminumの材料物性を設定してください。
　ツリーのMaterialsの下に Cu と Aluminum が表示されます。

セクションの設定をしてください。
　Name(セクション名)はデフォルトのままの Solid_selection-1 や Solid_selection-2 でも構いませんが、可読性を良くするために以下のように修正します。


　<b>Type</b> = Solid section
　<b>Properties</b>
　Name = Solid_selection-<font color="Red">Jig</font> 
　Material =  Cu
　Region type = Part name
　Part = <font color="Red">Jig</font> 

　<b>Type</b> = Solid selection
　<b>Properties</b>
　Name = Solid_selection-<font color="Red">Pole</font> 
　Material =  Aluminum
　Region type = Part name
　Part = <font color="Red">Pole</font> 

　<b>Type</b> = Solid selection
　<b>Properties</b>
　Name = Solid_selection-<font color="Red">Ring</font> 
　Material =  Cu
　Region type = Part name
　Part = <font color="Red">Ring</font> 

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

　 <b>Properties</b>
　 Name = fix
　 Surface type = Element
　 Region type = Selection
　 Surfaces, edges and vertices
　 面を選択して設定してください。

同様の操作で、load、fixX、fixYを設定してください。

contJig、contPoleJ、contRing、contPloleR は、Search Contact Pairs(近接している面を自動認識する機能)を使って設定するため、ここでは設定不要です。

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

　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) 「OK」を左クリックしてください。

<img width="35%" alt="Fig802-2.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/b3d8f58d-691d-21ae-21e6-ed210dec475a.png">


Search Contact Pairs(近接している面を自動認識する機能)を使って、接触面ペアの設定をしてください。

メニューバーから、Interaction → Search Contact Pairs

1)  <b>Search</b>
　　Distance = 0.01 [mm]　(デフォルトのまま)
　　Angle = 35 [°]　(デフォルトのまま)
　　Adjust Mesh = No　(デフォルトのまま)
　　Type = Contact　に変える
　　Interaction name = Surface_interaction-1　(デフォルトのまま)
　　Method = Surface to Surface　(デフォルトのまま)
2) Groupe by = Parts　(デフォルトのまま)
　　「Search」を左クリックしてください。
3)　探索された結果が表示されます。
　  左のリストで選択された内容が右側に表示されます。
4) 確認したら「OK」を左クリックしてください。

<img width="75%" alt="Fig823.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/dba129ba-d00b-e7f4-5387-ca35d032266e.png">

ツリーのContact Pairsの下に、Jig_to_Pole と Pole_to_Ring が出来ています。選択された面を確認すると、Jig_to_Pole のほうは問題ありませんが、Pole_to_Ring のほうは円筒面が選択されていないため追加修正してください。Pole_to_Ring の右クリックメニューでEditを選択したのち、<b>Master Region</b>と<b>Slave Region</b>の欄の両方を修正してください。
<img width="50%" alt="Fig824.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/202f3044-e9cd-c0eb-0a1a-d1f83ba3cb2d.png">
<img width="50%" alt="Fig825.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/c52429df-6fff-b0a8-5385-2c643d9d66d1.png">

≪補足≫
Search Contact Pairs機能を使ったときに、Distance = 0.01 [mm]　では小さすぎたからです。約1[mm]にしておくと３つの面が自動的に選択されます。
≪補足≫
接触要素では、マスター側は面積が広くて変形し難い(ヤング率が大きい)ほう、スレーブ側は面積が狭くて変形しやすい(ヤング率が小さい)ほうにするのが原則です。
Search Contact Pairs(近接している面を自動認識する機能)を使って表示されているリストのName列で、先のほうがマスターで後のほうがスレーブです。逆にしたいときは、右クリックメニューの Swap master/slave を選択してください。

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

　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 (デフォルトのまま)

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

　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

　<b>Type</b> = Fixed
　<b>Properties</b>
　Name = Fixed-2 (デフォルトのまま)
　Region type = Surface name
　Surfaces = fixR

　<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 (デフォルトのまま)

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

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

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

相当塑性ひずみが出力されるようにします。これを行わないと計算結果を確認する際に相当塑性ひずみが表示できません。
結果の表示のツリーでは、PE/PEです。
　FE ModelタブのツリーのStep-1/Field utputs/EF-outputs-1 の右クリックメニューのEdit。
　メニューバーの場合はStep→Field utputs→Editで、表示される画面からEF-output-1を選んでください。

　1)　Variables to output の行の▼のアイコンを左クリックしてください。　
　2)　PEEQをチェックオンしてください。
　3)　確認してください。
　4)　「OK」を左クリックしてください。
<img width="80%" alt="Fig7004.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/f62eb903-ebf6-05a1-91f4-9e8922b8b5c5.png">

解析ステップを追加作成してください。

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

　Type = Static step
　Data
　Name = Step-2 (デフォルトのまま)
　Solver = Default (デフォルトのまま)
　Nlgeom = <font color="Red">On</font> 
　Incrementation = Default (デフォルトのまま)

Step-1の次にStep-2が追加されます。Step-1の境界条件はStep-2に引き継がれます

<b>Step-2</b> の <b>Displacement_rotation-1</b>を修正してください。
　Surfaces = load
　U1 = Unconstrained
　U2 = Unconstrained
　U3 = 2.2 mm　に変える
　UR1 = Unconstrained
　UR2 = Unconstrained
　UR3 = Unconstrained

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

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

### 計算結果の表示
表示例を示します。下の図は相当塑性ひずみです。

<img width="50%" alt="Fig826.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/1faf3dab-3344-27a2-186f-9d501486733c.png">
<img width="50%" alt="Fig827.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/888272/033cd490-3bc4-84d0-e984-0edb1fb30943.png">

ファイルを保存してください。