Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FreeCADによるトポロジー最適化
Search
JunTatsuno
April 23, 2022
Technology
0
3.2k
FreeCADによるトポロジー最適化
第90回オープンCAE勉強会@関西での発表内容です。
https://ocbkansai.connpass.com/event/243244/
JunTatsuno
April 23, 2022
Tweet
Share
More Decks by JunTatsuno
See All by JunTatsuno
code_asterとsalome_meca オープンソースの普及とサービス
juntatsuno
0
95
PrePoMax v1.1.1 マニュアル
juntatsuno
0
5.4k
Salome_meca(asterstudy)におけるcode_asterの使用についてのプレゼンテーション
juntatsuno
0
620
code_asterとSalome-Mecaのプレゼンテーション
juntatsuno
0
540
PrePoMax v1.1.0 実例集
juntatsuno
0
1.7k
実践的構造解析ツールPrePoMaxを改めて使ってみた!
juntatsuno
0
4.6k
CALCULIX LAUNCHER VERSION 0.33
juntatsuno
0
420
Python統合Windows版EasyISTRを使ってみた!
juntatsuno
0
2.2k
Salome-Meca 2020 アップデート & Assistantを用いて接触解析をやってみた!
juntatsuno
0
1.1k
Other Decks in Technology
See All in Technology
Github Copilot エージェントモードで試してみた
ochtum
0
130
Model Mondays S2E03: SLMs & Reasoning
nitya
0
240
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.2k
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
800
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
140
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
3.5k
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
Connect 100+を支える技術
kanyamaguc
0
150
rubygem開発で鍛える設計力
joker1007
2
270
Lazy application authentication with Tailscale
bluehatbrit
0
110
Featured
See All Featured
A better future with KSS
kneath
239
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
45k
Docker and Python
trallard
44
3.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Designing for Performance
lara
609
69k
Making Projects Easy
brettharned
116
6.3k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Scaling GitHub
holman
459
140k
Transcript
2022年04月23日 第90回オープンCAE勉強会@関西 FreeCADによるトポロジー最適化 龍野 潤/Jun Tatsuno (オープンCAE学会)
目次 1 メカ系設計における最適化設計 2 2 オープンソースのトポロジー最適化 3 3 インストールと起動 4
4 実際に使ってみた! 5 4.1 解析対象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 実行手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 結果の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 まとめ 10 1
1 メカ系設計における最適化設計 • 製品性能を最大化する構造・形状設計 ◦ 剛性最大化、固有振動数最大化、熱拡散最大化 • 構造最適化の種類 1) 寸法最適化
◦ 寸法値をパラメータとした最適化 2) 形状最適化 ◦ 外形形状だけを最適化 3) トポロジー最適化 ◦ 形態変化(穴が増える等)を含めた最適化 ◦ 最適化自由度の高い手法 Fig.1 寸法を最適化 Fig.2 外形形状を最適化 Fig.3 材料の有無を最適化 2
2 オープンソースのトポロジー最適化 CalculiX FEMソルバーを使用したトポロジー最適化のためのPythonコード「BESO」が GitHub上で公開されており、CodeからZIPファイルをダウンロードできます。 https://github.com/calculix/beso Fig.4 「BESO」のGitHub 3
3 インストールと起動 FreeCAD 0.19または0.18、いずれもpython 3が必要です。PythonファイルをFreeCADのマ クロディレクトリにコピーします。 C:\Users\<ユーザー名>\AppData\Roaming\FreeCAD\Mod 解析したFreeCADファイルを開き、ファイルメニューのマクロ マクロからbeso_fc_gui.pyを 実行します。
Fig.5 マクロ「beso_fc_gui.py」の実行 4
4 実際に使ってみた! 4.1 解析対象 • 幅10mm×高さ20mm×長さ100mmの片持ち梁 • 材料はS420Nを使用 ◦ ヤング率E:210GPa
◦ ポアソン比ν:0.3 • 境界条件は根元の面を固定し、先端の上辺に100N • メッシュ条件は四面体一次要素を用い、メッシュサイズは1mm Fig.6 解析条件 5
4.2 実行手順 1) 解析ファイル(例:FreeCAD で生成され た*.inp ファイル)を選択します。パッチに スペースが含まれていないことを確認して ください。 2)
ドメインにシェル要素が含まれている場合 は、厚さオブジェクトを選択します。 3) フィルター範囲(例:メッシュの要素サイ ズが1mm の場合は2を設定します。 4) 質量目標比率を設定します(例:0.4、応力 限界に達しない限り質量の40%が残るよう にします) 。 5)「Generate configuration file and run opti- mization」をクリックします。 Fig.7 BESO Topology Optimmization GUI 6
4.3 結果の確認 4.3.1 計算ログの表示 初期質量0.000156Tonから目標質量(40%:0.0000624Ton)は60回目のIterationで達成 Fig.8 Mass of optimization domains
Fig.9 Mean Energy Density weighted by element mass 7
4.3.2 結果の確認方法 結果として得られた*.inp ファイルをFreeCAD にドラッグ&ドロップすると、結果として得 られたメッシュが表示されます。あるいは、*.vtk ファイルをParaviewで開くと、Threshold フィルターを使って削除された要素を隠すことができます。 Fig.10 FreeCAD
Fig.11 Paraview 8
4.3.3 Iteration毎の結果表示 Fig.12 Iteration10 Fig.13 Iteration50 Fig.14 Iteration20 Fig.15 Iteration60
Fig.16 Iteration30 Fig.17 Iteration70 Fig.18 Iteration40 Fig.19 Iteration85 9
5 まとめ • 計算時間は問題にもよりますが通常の50~100倍かかります。 • 今回は紹介していませんが、設計領域、非設計領域の設定は可能です。 • 押し出し方向などの製造制約条件には対応していません。 Fig.20 商用ソフトでの結果
10
参考文献 [1] beso wiki!,hhttps://github.com/calculix/beso/wiki,(Accessed on 04/23/2022). [2] 知の京都- 西脇眞二さん (京都大学大学院 工学研究科 教授)/京都府ホーム
ページ,https://www.pref.kyoto.jp/sangyo-sien/specialist/nishiwakisinji.html,(Accessed on 04/23/2022). [3] Ansys トポロジー最適化解析機能ご紹介:CAE・Ansysの解析事例/技術資料を無料公 開中,https://www.cybernet.co.jp/ansys/download/mn/201703/mcmnp201705- 0192.html,(Accessed on 04/23/2022). 11