PrePoMaxを用いた部品を連結したAssyの応力解析

# はじめに

この記事は[PrePoMax Version 0.5.2](http://lace.fs.uni-mb.si/wordpress/borovinsek/?page_id=41)を用いました。

複数のSolidを連結（結合）してAssyを作り、Assyの線形解析をする問題を考えます。
複数の部品を配置した後、連結する箇所を定義して連結し解析します。
連結部で荷重や変位を相手側に伝え構造解析を行います。
この問題は、複雑な部品を組み合わせてAssyを作って解析するには、都合のよい方法ですが、連結部の誤差が発生します。
連結部の誤差をなくすためには、複合材（連結部で節点を共有するモデル）のモデルを作り解析を行いますが、複雑な部品の場合、複合材のモデルを作ることは、難しくなってきます。

この資料は[オープンCAE勉強会＠岐阜](http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?SALOME-Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2)で公開されているFS氏ご提供の「SALOME-Mecaの使用法解説：4.0部品の連結」をPrePoMax（Calculix）用に作り直したものです。

# 部品間の隙間がないモデルの解析

部品を組み合わせてAssyを作りますが、これら部品間の隙間が0の場合で解析を行います。
モデルは、「[multi-bar-1_asm.stp](https://drive.google.com/open?id=1jH1NAnlsgOLpi2BOGAuoAiHd_vUEJaXd)」を使います。
解析は、~/Calculix/Assy/というフォルダーを作り、この中で解析を行います。

PrePoMaxを起動します。

## 形状のインポート

メニューバーより、「File」＞「Import」で、「multi-bar-1_asm.stp」をインポートします。
「Geometry」タブのPartsの下に「Solid_Part-1」、「Solid_Part-1_Copy-1」が追加されます。

![2020-01-24-16-10-39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/ef9bd0ce-2753-8404-d1cb-3a1559002554.png)

「Geometry」タブの「Solid_Part-1」を選択し、右クリックで表示されるメニューの中から、「Edit」を選択します。
Properties内の「Name」を「Bar」にします。

![2020-01-24-16-11-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/dbe5d3d6-77c7-f8aa-8b34-89665ed9b78c.png)

同様に、「Geometry」タブの「Solid_Part-1_Copy-1」の「Name」を「Base」にします。

## メッシュの作成

「Geometry」タブの「Bar」と「Base]を選択（Ctrlキーを押しながらで複数選択が可能です。）し、右クリックで表示されるメニューの中から、「Create mesh」を選択します。
メッシュが作成され、「FE Model」タブに移ります。
作成されたメッシュに問題があれば、「Geometry」タブに戻り、メッシュ分割設定からやり直してください。

![2020-01-26-23-24-17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/de45b153-66e0-6029-9496-122e7aea156f.png)

## 条件設定

作成されたメッシュに、固定条件用の面グループを作成します。「FE Model」タブの「Model」ツリーから、「Surfaces」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
Properties内の「Name」を「fix」にします（デフォルトはSurface-1）。
「Select items」の「Empty」を選択し、その右横に現れる「...」を選択します。

![2020-01-24-16-19-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/a39e6b75-7a58-209b-5d10-0051edc4d214.png)

「Set selection」ウィンドウで、「Geometry based selection」の中から、「Surface, edges andvertices」にチェックを入れてください。

![2020-01-24-16-22-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/69494578-0c97-54d4-33ba-46afa35c793f.png)

メインウィンドウのメッシュから目的の面を選択します。赤く協調表示された面に問題なければ「OK」をクリックして「Set selection」ウィンドウを閉じ、さらに「OK-New」をクリックし、他の面グループを作成します。

![2020-01-24-16-23-40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/355403d9-a8fb-b445-6a9d-aab9194f6f66.png)

同様に、「contBase（Baseの連結面）」、「contBar（Barの連結面）」、「press（荷重を付加する面）」を作成し、最後は「OK」をクリックして「Create Surface」ウィンドウを閉じます。

![2020-01-24-16-32-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/4d9fe0e1-7194-3373-c35c-77cdc399bfb4.png)

## 材料の設定

### 材料物性値の定義

材料物性値を定義します。

「FE Model」タブの「Model」ツリーから、「Material」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
「Material name」を「Aluminum」にします。
「Available models」の中から、「Elastic」を選択し、右矢印ボタンを押します。
「Young's modulus」の値に「70600（MPa）」を、「Poisson's ratio」の値に「0.345」を入力します。
さらに「OK-Add New」をクリックし、他の材料を作成します。

![2020-01-26-23-31-36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/7c2cdae9-cd8a-bf9b-e801-cd36cfb5f90d.png)

同様に、「Material name」を「Steel」にします。
「Available models」の中から、「Elastic」を選択し、右矢印ボタンを押します。
「Young's modulus」の値に「212000（MPa）」を、「Poisson's ratio」の値に「0.293」を入力
します。
「OK」をクリックして「Create Material」ウィンドウを閉じます。

![2020-01-26-23-32-59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/ba6b8bf2-0217-1fed-5907-563d886aed9f.png)

### 材料の割り当て

解析対象に材料物性値を定義した材料を割り当てます。

「FE Model」タブの「Model」ツリーから、「Sections」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
「Section-1」の「Material」に「Aluminum」、「Part」に「Base」を割り当てます。
さらに「OK New」をクリックし、他の材料の割り当て行います。

![2020-01-26-23-34-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/54058e4b-84cd-9ade-f979-0f3154ef7101.png)

同様に、「Section-2」の「Material」に「Steel」、「Part」に「Bar」を割り当てます。
材料の割り当てに問題なければ「OK」をクリックして「Create Section」ウィンドウを閉じます。

![2020-01-26-23-36-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/fe3f825f-e73b-e365-039d-a4128fae9365.png)

## 連結面の定義

「FE Model」タブの「Model」ツリーから「Constraints」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
「Create Constraints」ウィンドウのTypeから、「Tie」を選択します。
Properties内で「Slave surface」を「contBar」に、「Master surface」を「contBase」を選択します。
「OK」をクリックして「Create Constraints」ウィンドウを閉じます。

![2020-01-24-16-50-53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/8381e52c-1efc-4524-e1ec-6b135253bf6d.png)

## 解析条件の設定

「FE Model」タブの「Model」ツリーから「step」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
「Create Step」ウィンドウのTypeから、「Static step」を選択します。
「OK」をクリックして「Create Step」ウィンドウを閉じます。

![2020-01-24-17-00-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/0d3f036d-73cd-e354-f568-92f13edc6bf2.png)

「FE Model」タブの「Model」ツリーから、「BCs」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
Properties内で「Surface」は「fix」を選択します。
DOF（自由度）のU1（X方向変位）、U2（Y方向変位）、U3（Z方向変位）の値を「0」にします。
OKをクリックして「Create Boundary Condition」ウィンドウを閉じます。

![2020-01-26-23-39-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/d85f4fbf-bf0e-6831-ece4-706d2fc31521.png)

「FE Model」タブの「Model」ツリーから、「Loads」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
「Create Load」ウィンドウのTypeから、「Pressure」を選択します。
Properties内で「Surface」は「Press」を選択します。
圧力量を設定するため「magnitude」の値を「0.1（MPa）」にします。
「OK」をクリックして「Create Step」ウィンドウを閉じます。

![2020-01-24-17-04-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/247b324f-c027-388e-f699-2b13a7c82eb2.png)

「FE Model」タブの「Analyses」を選択し、右クリックで表示されるメニューの中から、「Create」を選択します。
Data内で「Name」を「Assy」に変更します（デフォルトではAnalysis-1）。
「OK」をクリックして「Create Analyses」ウィンドウを閉じます。

![2020-01-24-17-08-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/c10e5da7-e849-0064-a189-72daa1401a90.png)

## 解析の実行

「FE Model」タブの「Modal」を選択し、右クリックで表示されるメニューの中から、「Run」を選択します。
「Monitor」ウィンドウが表示され、「Output」タブの中で、**Job finished**と表示されたら解析が終了です。

![2020-01-26-23-41-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/0727f2df-c07e-7b2e-3a7d-1a183aaa1042.png)

## 結果の確認

「Monitor」ウィンドウの「Results」をクリックすると解析結果が読み込まれ、「Results」タブに移ります。
結果は、次図のように得られます。

![2020-01-26-23-42-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/184d3acb-3c5a-2759-dc7c-27edb0f0d8be.png)

# 部品間の隙間があるモデルの解析

前記したモデルは、2ヶの部品間に隙間なく（隙間0）配置されたモデルを作り解析したので、2ヶの部品間に意識的に隙間を設けて配置した場合も解析できるかどうか確認します（複数の部品を作りこれらを配置してAssyとしたとき、通常は、部品間に微妙な隙間や食い込みが生じます。）。

## モデルの確認

メニューバーより、「File」＞「Import」で、「[multi-bar-1_0_5.stp](https://drive.google.com/open?id=1ycxbXj9sdkSbSK4qF4Y7at-QD6HiW7pd)」をインポートします。
「Geometry」タブのPartsの下に「Solid_Part-1」、「Solid_Part-1_Copy-1」が追加されます。

BaseとBarに0.5mmの隙間があることを確認してください。

![2020-01-27-16-04-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/eed05795-bc58-b039-b0fc-73c5da102b8e.png)

ここからは「部品間の隙間がないモデルの解析」と同じ操作を解析の実行まで実施してください。

## 結果の確認

![2020-02-03-23-22-53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/516f61ae-62fb-27ec-c2c9-59102a3ea4b5.png)

変位量は1.790E+10とBarが吹っ飛んでおり、部品間の隙間が0.5mmあるとマスター側の面とスレイブ側の節点が遠く連結面として働いていません。

## 連結面の定義修正

「FE Model」タブの「Model」ツリーから「Constraints」＞「Tie-1」を選択し、右クリックで表示されるメニューの中から、「Edit」を選択します。
「Position tolerance」の値を「0.5」にします。
「OK」をクリックして「Create Constraints」ウィンドウを閉じます。

![2020-01-27-16-56-30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/469733d7-9975-d685-acdd-5cff9963e320.png)

解析を再実行してください。

##　結果の再確認

![2020-02-03-23-35-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201403/270df512-024a-9edb-e098-a7fad08f5a18.png)