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
matsubaraDaisuke
March 03, 2018
Technology
0
510
最適化計算/パラメータスタディーと FreeCADの連携についての調査
matsubaraDaisuke
March 03, 2018
Tweet
Share
More Decks by matsubaraDaisuke
See All by matsubaraDaisuke
Elmerに関する情報提供@オープンCAE勉強会@関東
matsubaradaisuke
1
1.3k
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
matsubaradaisuke
0
860
OpenFOAMの時間変化かつ分布を持つ 流入条件について(timeVaringMappedFixedValue)
matsubaradaisuke
0
1.4k
OpenFOAMの圧縮性流体ソルバー解説
matsubaradaisuke
0
2.3k
Other Decks in Technology
See All in Technology
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.2k
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
520
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
160
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
from Sakichi Toyoda to Agile
kawaguti
PRO
1
110
Wasmのエコシステムを使った ツール作成方法
askua
0
120
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
600
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
460
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
590
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
140
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
150
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
Building Applications with DynamoDB
mza
96
6.7k
Site-Speed That Sticks
csswizardry
11
890
Git: the NoSQL Database
bkeepers
PRO
431
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Code Reviewing Like a Champion
maltzj
525
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.7k
Documentation Writing (for coders)
carmenintech
75
5k
Automating Front-end Workflow
addyosmani
1371
200k
GitHub's CSS Performance
jonrohan
1032
470k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
最適化計算/パラメータスタディーと FreeCADの連携についての調査 2018/3/3 1 第64回 オープンCAE勉強会@関⻄ 松原 ⼤輔 2018年3⽉3⽇ 第64回
オープンCAE勉強会@関⻄
2 はじめに ・最適化とは? 構造、⼨法、状態、⽅法、過程などを最も⽬的に良く 合致させること。 ・最適化の種類 a)パラメータ最適化:⼨法や物性を最適化 b)ノンパラメトリック最適化:形状や位相を最適化 2018/3/3 第64回
オープンCAE勉強会@関⻄ ※引⽤ オープンCAE学会員 SH⽒ パラメータ⾃動最適化ツール DAKOTAの紹介
3 オープンソースの最適化ソフト ・DAKOTA サンディア国⽴研究所で開発された. 最適化設計、感度解析、不確実性評価、較正の機能が 搭載されている. ・OpenMDAO NASAグレンリーチセンターで開発された. Pythonベースである. ノンパラメトリック対応?
2018/3/3 第64回 オープンCAE勉強会@関⻄
4 最適化ソフト+CAE ソルバー モーフィング モデリング メッシング 最適化ソフト or OpenFOAM Calculix
etc.. 計算結果 パラメータ 2018/3/3 第64回 オープンCAE勉強会@関⻄
※OF+DAKOTAによる形状最適化の事例紹介 若嶋⽒ 5 オープンソースのCAE+最適化の現状 2018/3/3 流体解析では モデリングとメッシングにblockMeshを、⽤いた例が 公開されている(※)。 さらに複雑な形状や設計意図を⼊れたモデルを 最適化に使いたい。
FreeCADが有効かも 第64回 オープンCAE勉強会@関⻄
6 FreeCADとは オープンソース(LGPLライセンス)の汎用3D-CADモデラー 非GUIによる操作も可能 2018/3/3 出典: https://ja.wikipedia.org /wiki /FreeCAD 第64回
オープンCAE勉強会@関⻄
7 最適化ソフト+CFD モデリング FreeCAD 最適化ソフト ソルバー OpenFOAM Calculix etc.. 計算結果
パラメータ 2018/3/3 メッシング cfMesh snappyHexMesh 今回はここ 第64回 オープンCAE勉強会@関⻄
8 FreeCADでスクリプトからモデリング 2018/3/3 環境 OS: WINDOWS10 やりたいこと スクリプトからFreeCADのモデルのパラメータ⼨法を 指定し、STLデータを吐き出す FreeCAD
0.16 第64回 オープンCAE勉強会@関⻄
9 FreeCADでスクリプトからモデリング ⽅法2 ある程度の形状をCADで作成しておき、 いくつかの⼨法をパラメータ化 スクリプトからパラメータを制御 →設計意図を反映できる◦ 2018/3/3 方法1 形状全てをスクリプトで作成
→複雑な形状に対応できないので、ボツ❌ 第64回 オープンCAE勉強会@関⻄
10 FreeCADでスクリプトからモデリング 2018/3/3 プリミティブな形状でテスト(右図) データ構成 FreeCAD.py ←スクリプト test.FCStd ←CADデータ test1.stl
←width=1の出⼒結果 test2.stl ←width=10の出⼒結果 第64回 オープンCAE勉強会@関⻄
11 FreeCADでスクリプトからモデリング 2018/3/3 Spreadsheetを追加 当座の寸法 セル→右クリック→プロパティ パラメータ寸法の追加 スケッチで指定するときの名前を記入 Desktop/test.FCstd 第64回
オープンCAE勉強会@関⻄
12 FreeCADでスクリプトからモデリング 2018/3/3 丸い記号をクリック Lengthに対して Widthに対して Desktop/test.FCstd スケッチにて 第64回 オープンCAE勉強会@関⻄
13 FreeCADでスクリプトからモデリング 2018/3/3 FREECADPATH =“C:¥¥Program Files¥¥FreeCAD 0.16¥bin” import sys Sys.path.append(FREECADPATH)
import FreeCAD FreeCAD.open(u”C:/Users/**/Desktop/test.FCStd”) App.setActiveDocument(“test”) … Desktop/FreeCAD.py 第64回 オープンCAE勉強会@関⻄
14 FreeCADでスクリプトからモデリング 2018/3/3 … App.ActiveDocument.Spreadsheet.set(‘width’,’1’) App.ActiveDocument.recompute() __objs__=[] __objs__.append(FreeCAD.getDocument(“test”).getObject(“Pad”) Import Mesh
Mesh.export(__objes__,u”C:/Users/**/Desktop/test1.stl”) … Desktopにtest1.stlとして出力 width=1に変更 第64回 オープンCAE勉強会@関⻄
15 FreeCADでスクリプトからモデリング 2018/3/3 … App.ActiveDocument.Spreadsheet.set(‘width’,’10’) App.ActiveDocument.recompute() __objs__.append(FreeCAD.getDocument(“test”).getObject(“Pad”) Mesh.export(__objes__,u”C:/Users/**/Desktop/test2.stl”) width=10に変更 Desktopにtest2.stlとして出力
第64回 オープンCAE勉強会@関⻄
16 スクリプトの実行 2018/3/3 … Desktopからスクリプトを起動 C:¥Users¥**¥Desktop >”C:¥Program Files¥FreeCAD 0.16¥bin¥python” FreeCAD.py
FreeCADのPython 第64回 オープンCAE勉強会@関⻄
17 出力結果 2018/3/3 test1.stl (width=1) test2.stl (width=10) 第64回 オープンCAE勉強会@関⻄
18 まとめ 2018/3/3 ・FreeCADの非GUI操作から形状変更を行なった. ・全ての形状をスクリプトでつくるのではなく、 作成済のデータの一部をパラメータ寸法化することで、 複雑な形状に対応できる可能性を示した. ・ 今後は、最適化ソフトと連動させた例を紹介していきたい. 第64回
オープンCAE勉強会@関⻄