有限要素法を使った形状最適化ゲーム「Shape Optimizer」
このサイトやYoutubeチャンネルでは材料力学や有限要素法に関する内容を様々紹介していますが、有限要素法に触れる機会がない人もいると思います。そこで、有限要素法を使った形状最適化ゲーム「Shape Optimizer」を作成しました。Windows/Mac/スマホなど様々な環境で動作して、無料で使えて、登録やインストール不要です。
ゲームを楽しみながら、有限要素法や材料力学を知っていきましょう!
この記事はYoutube動画で紹介した内容の概要です。詳細は動画をご覧ください。
ゲームの概要

左側を壁に固定した50×50mmの設計領域に、右側1点に下向きの荷重が作用しています。最大応力が許容応力(100 MPa)未満という制約条件を満たしながら、重量(面積)を最小化する最適形状を探すゲームです。領域は1mm角に分割されているので、要素の有無で形状を表してください。
- 目的:重量(面積)の最小化
- 制約条件:最大応力<許容応力(100 MPa)
- 設計変数:1mm角に分割した要素の有無

全要素がある初期形状からスタートし、マウスや指で要素を自由に削除・追加します。形状を変更したら、有限要素法で応力分布を計算してください。最大応力<許容応力であれば、削除した要素数が得点になります。最大応力≧許容応力であれば得点にはなりません。この手順を繰り返して、最適形状を求めて高得点を目指してください。

応力が小さい要素は青、応力が大きい要素は赤で表示され、最大応力が発生する要素には星マークがつきます。得点(削除した要素の数)、最大応力、経過時間などが表示されます。
操作方法
要素の削除/追加の切り替え
サイドバーの「Element tool」で、ドラッグ操作の動作を切り替えられます。
| 選択肢 | ドラッグ操作の動作 |
|---|---|
| ✖ Remove element | 囲んだ範囲の要素をまとめて削除 |
| ✚ Add element | 囲んだ範囲の要素をまとめて追加 |
💡 1回のクリック(タップ)はトグル動作です。要素があれば削除し、無ければ追加します。ツール切り替えはドラッグで複数まとめて操作するときにだけ必要です。
有限要素法を用いた応力分布の計算
サイドバーの「▶Calculate」を押すと、作成した形状の応力分布や最大応力を計算します。
形状のUndo/Redo/Reset
サイドバーの「◀Undo」「▶Redo」「Reset」を押すと形状が戻ります。
PC(マウス操作)
| 操作 | 内容 |
|---|---|
| 左クリック | 要素を取り除く/元に戻す |
| ドラッグ | 領域を囲んで一括操作 |
| マウスホイール | ズームイン/アウト |
| Shift + ドラッグ | 表示を移動(パン) |
| 右上の +/−/⤢ | 拡大/縮小/全体表示 |
Windowsでは、右クリック+ドラッグで領域に要素を一括追加できます。
スマホ・タブレット(タッチ操作)
| 操作 | 内容 |
|---|---|
| タップ | 要素を取り除く/元に戻す |
| ドラッグ | 領域を囲んで一括操作 |
| 2本指ピンチ | ズームイン/アウト |
| 2本指ドラッグ | 表示を移動(パン) |
形状最適化のコツ
- 青い領域は削除しやすい:応力が小さい青色の要素はあまり機能しておらず、削減しても最大応力への影響が小さいことが多い。
- 星マークに注意:最大応力が発生している要素に星マークが表示される。この周辺の要素を増やして保護することが有効。
- 減らす順番にも注目:減らし方によってたどり着く形状が異なる。

有限要素法について

このゲームでは、自作の有限要素ソルバを使用しています。有限要素法や、今回使用する要素や評価する応力の詳細を知りたい方は、これらの動画をご覧ください。
お願い

- 高得点を取られた方は、ぜひYoutube動画のコメント欄で教えてください。
- ゲームへの要望や改善点などもYoutube動画のコメント欄で教えてください。
- このゲームをきっかけに材料力学や有限要素法に興味を持たれたら、他の動画もご覧ください。
まとめ
- 有限要素法(FEM)を用いた形状最適化ゲームを作成。Windows/Mac/スマホなど様々な環境で動作して、無料、登録不要、インストール不要。
- マウスや指で自由に形状を変えたり穴を設けて、最大応力<許容応力の条件で重量(面積)を最小化。削減できた要素数が得点。
- ゲームを楽しみながら、形を変えると応力分布がどの様に変わるかなどを理解できる。有限要素法や材料力学に関心を持ったら他動画もご覧ください。
YouTube動画でより詳細に説明しています。ぜひご覧ください。
