『FreeCADの作図方法によるファイルサイズの違いの調査』で作成したデータをFEMにかけてみました〜その1〜

# ご挨拶
こんにちは。たいちゃんです。
今年ももうAdvent Calendarの時期がやって来ました。
今回は2021/12/1から投稿した『FreeCADの作図方法によるファイルサイズの違いの調査』で作成したデータを、同ソフトのFEMにかけてみましたのでそのことを投稿してみようと思います。

参考となる過去の投稿はこちら
[FreeCADの作図方法によるファイルサイズの違いの調査～その1](https://qiita.com/toshita172/items/05fdde3cbe7464f3c52a)

[FreeCADの作図方法によるファイルサイズの違いの調査～その2](https://qiita.com/toshita172/items/e0cb67e51046209e5f3a)

[FreeCADの作図方法によるファイルサイズの違いの調査～その3](https://qiita.com/toshita172/items/2528d7d4836612692ce6)

# 本題に移る前に・・・
注意事項として、3DCADデータを作成したときと今回のFEMをかけたときではPC自体には変更はありませんが、OS等がバージョンアップされています。その為動作環境を記載しておきます。

## 動作環境
PC本体
・m-Book X400-HS　(CPU : Core i7-8565U メモリ : 16GB)
で変更なし

### 3DCADデータを作成したとき
・Debian GNU/Linux10(buster)
・FreeCAD 0.18

### FEMを3DCADデータにかけたとき
・Debian GNU/Linux12(bookworm)
・FreeCAD 0.20.2

# それではFEMをかけていきましょう・・・
まず手始めに[FreeCADの作図方法によるファイルサイズの違いの調査～その1](https://qiita.com/toshita172/items/05fdde3cbe7464f3c52a)で最初に作成した『図形A』にFEMをかけてみたいと思います。作り方は『Sketcher』で作成したものです。詳しくはリンクを参照いただきたいのですが、この3DCADデータは幅×奥行き×高さ=40mm×50mm×30mmの直方体です。この図形を読み出して、ワークベンチをFEMにします。

### Analysis Containerを作ろう!
![Screenshot from 2024-12-08 Analysis_Container.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/53b738d2-b42e-e4a0-059c-ffc205ef9402.png)
上図の赤丸部のところの『Analysis Container』をクリックします。

![Screenshot from 2024-12-08 Analysis_Container_Open.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/6ed6077d-5dae-cbd7-fcf6-b04fa4b05d03.png)
『Analysis Container』の中身を開いたところです。既に『SolverCcxTools』というものが入っています。

### メッシュを作ろう!!
次にメッシュというものを作らなければいけないのですが、この環境で使用出来るメッシュ
はどうもGmshというアプリケーションだけのようです。しかし、今回の私のFreeCADを入れたデフォルトの環境ではインストールはされておらず、別途インストールしなくてはなりませんでした。マニュアル等を調べてみるとGmshはメッシュを作成するアプリケーションのようです。私のDebian12環境でも通常通りインストール出来ました。

![Screenshot from 2024-12-08 Mesh.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/acc1fb2f-3314-fb79-6c0f-3d97bd06f8e3.png)
使用方法はメッシュを作りたい図形を選択してツールバーから上図の赤丸部の『Mesh』→『FEM mesh from shape by Gmsh』を選択します。

![Screenshot from 2024-12-08 13-11-24_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/f8fc4005-e8f5-7740-c883-8f400c9842dc.png)
左側の『タスク』のタブ内の『適用』ボタンをクリックします。

![Screenshot from 2024-12-08 13-11-45_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/79aaa5e2-8cf7-b5bf-21fb-19745dc3e893.png)
メッシュが出来ます。メッシュの時間は図形の複雑さによって変わります。もし、図形の複雑さに対してパソコンのスペックが低ければそれだけ時間がかかり、最悪フリーズします。そのときは正確さは劣るかもしれませんが、『Element order』を『1st』にしたり、『最小要素サイズ』を大きくする等しています。

### 材質を選んで〜
![Screenshot from 2024-12-08 Material_for_solid.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/9b8d8b2e-b550-4442-4dbf-e7767ede8784.png)
メッシュが出来たら上図赤丸部の『Material for solid』をクリックします。

![Screenshot from 2024-12-08 20-25-38_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/56612c82-47ca-bd9b-4f8a-44be9f59c705.png)
左側の『タスク』のタブ内にてマテリアルを選択します。今回は3DプリンタでおなじみのPLAを選択しました。

### 拘束したいところを選びましょう。
![Screenshot from 2024-12-08 Constraint_fixed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/db40f491-91fa-93a6-177c-d9f0294bbf11.png)
その後、上図の赤丸部のところの『Constraint fixed』をクリックします。

![Screenshot from 2024-12-10 22-18-16_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/c84a4152-60d0-6201-82e8-49d0ea211340.png)
FEM拘束パラメーター内の『追加』ボタンをクリックした後、拘束したい面をクリックして選択します。
その後『OK』ボタンをクリックします。

### 力のかけ方を決めようー！
![Screenshot from 2024-12-10 force.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/2ccb6e30-f248-dbe6-95fd-e0c72221fbb8.png)
拘束が設定出来ましたので、次は上図の赤丸部の『拘束力』をクリックします。

![Screenshot from 2024-12-08 13-14-13_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/c974ae38-1916-743a-a617-de9e17426636.png)
『Constraint fixed』と同様、FEM拘束パラメーター内の『追加』ボタンをクリックした後力を加えたい面をクリックして選択します。
今回はZ軸方向に下向き、マイナス方向に力を加えたいので、『逆方向』のチェックボックスにチェックを入れます。

![Screenshot from 2024-12-08 13-14-23_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/d556ec0f-cb79-6707-031b-76c776dbe848.png)
力が逆方向の下向きになりました。ちなみに荷重はデフォルトでは1.00Nです。
その後『OK』ボタンをクリックします。

### いよいよ解析〜。
![Screenshot from 2024-12-08 SolverCcxTools.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/e1700ae0-ccb9-c852-d13b-6c4926727ee2.png)
『モデル』タブ内の上図の赤丸部の『SolverCcoTools』をダブルクリックします。

![Screenshot from 2024-12-08 13-15-18_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/9673490c-9520-c69b-e250-5e77bbc6ca5f.png)
『解析タイプ』の『静的』を選択し、『.Inp ファイルの書き出し』ボタンをクリックします。

![Screenshot from 2024-12-08 13-16-29_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/d1865753-07c2-03dd-def4-32a6b6d46c9d.png)
処理が終わる迄待ちます。

![Screenshot from 2024-12-08 13-16-41_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/b3aacf99-c63f-a1c0-c471-071bf380da34.png)
処理が終わると『Run CalculiX』ボタンが有効になるので、クリックします。
処理が終わったら『閉じる』ボタンをクリックして『モデル』タブに戻ります。

### 結果を見よう!!!
![Screenshot from 2024-12-08 CCX_Results.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/aec1f071-87ef-94cf-88e5-1808b595aa40.png)
上図の赤丸部の『CCX_Results』をダブルクリックします。

![Screenshot from 2024-12-08 13-17-14_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/4539743d-3ce9-7d2e-e3ac-d3f718f4e8e2.png)
求めたい結果タイプを選択します。上図は『Displacement Magnitude』を選択したものです。
最小：0.00mm、最大:67.95nmとなっています。

![Screenshot from 2024-12-08 13-17-31_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/8165c934-dd8f-e6ad-7e7a-214f2ef33ef4.png)
上図は『Displacement X』を選択したものです。
最小：-3.71nm、最大:3.72nmとなっています。

![Screenshot from 2024-12-08 13-17-36_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/793a72d8-b6b1-e331-bb5c-f803feea3423.png)
上図は『Displacement Y』を選択したものです。
最小：-18.14nm、最大:20.46nmとなっています。

![Screenshot from 2024-12-08 13-17-41_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/7e5cc89c-566f-6cac-ab08-63a88d290694.png)
上図は『Displacement Z』を選択したものです。
最小：-64.80nm、最大:0.00mmとなっています。

### ヒストグラムを見るには・・・
![Screenshot from 2024-12-08 Nodes.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/984a1bc2-e733-ec66-7f88-dfc869731ae8.png)
結果タイプに『Displacement Magnitude』を選択し、『Histogram』ボタンをクリックしてヒストグラムを表示したものです。上図赤丸部が文字化けしています。

![Screenshot from 2024-12-08 Preference.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/8910e8f5-52f2-7b13-6e42-769b2b0920e5.png)
ツールバーから上図の赤丸部の『編集』→『設定』を選択します。

![Screenshot from 2024-12-08 Japanese.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/7163fa44-391a-cc0c-6650-291e29169b75.png)
『標準』を選択した状態で、『標準』タブの『言語を設定』にて赤丸部に『日本語』が選択されています。

![Screenshot from 2024-12-08 English.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/05430457-5681-3e44-5055-5edbd47a4c36.png)
これを赤丸部のように『English』に変更して『OK』ボタンをクリックします。

![Screenshot from 2024-12-08 13-19-39_Cust.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/d7516d5d-9fcf-df5b-f830-5079a1e7509e.png)
先程の赤丸部の文字化けが『Nodes』になりました。

# その1のまとめ
今回はここ迄にしたいと思います。私は材料力学に関する教育等はほぼ受けてないので、正直「ああ、こうするとどのくらい変形があったかがわかるのかな〜」ぐらいしか分かりません。FEMも2DCADを習いに職業訓練校へ通っていたときに3DCADも教えてくれて、そのときに習ったような習ってないようなといった感じです。確実に触れた覚えがあるのは別の職業訓練校の説明会のときです。ですので、ある程度知識がないと鵜呑みには出来ないと思います。でも今迄出来なかったことが出来るようになるのは嬉しいですね。
その2では変位と材質を変化させたときのことを投稿したいと思います。
最後迄お付き合い下さり有難うございました。

# 参考資料
debian　https://www.debian.org/
Gmsh　https://gmsh.info/
FREECAD A MANUAL　https://www.freecad.org/manual/
FEM CaluculiX Cantilever 3D　https://wiki.freecad.org/FEM_CalculiX_Cantilever_3D
FEM Workbench　https://wiki.freecad.org/FEM_Workbench
Manual:Ceating FEM analysis　https://wiki.freecad.org/Manual:Creating_FEM_analyses