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
380
最適化計算/パラメータスタディーと FreeCADの連携についての調査
matsubaraDaisuke
March 03, 2018
Tweet
Share
More Decks by matsubaraDaisuke
See All by matsubaraDaisuke
Elmerに関する情報提供@オープンCAE勉強会@関東
matsubaradaisuke
1
1k
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
matsubaradaisuke
0
620
OpenFOAMの時間変化かつ分布を持つ 流入条件について(timeVaringMappedFixedValue)
matsubaradaisuke
0
990
OpenFOAMの圧縮性流体ソルバー解説
matsubaradaisuke
0
1.5k
Other Decks in Technology
See All in Technology
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
650
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
630
AWS を使う上で知っておきたいオンプレミス知識/aws-on-premise-essentials
emiki
1
4.2k
TransitGatewayの基礎
toru_kubota
0
230
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
150
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
1
150
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
690
PHP"オレ"カンファレンスの告知
ysknsid25
0
360
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
200
Featured
See All Featured
How to name files
jennybc
64
92k
GraphQLとの向き合い方2022年版
quramy
31
12k
Designing Experiences People Love
moore
136
23k
Making the Leap to Tech Lead
cromwellryan
123
8.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.3k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Into the Great Unknown - MozCon
thekraken
10
980
A Philosophy of Restraint
colly
196
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
Happy Clients
brianwarren
91
6.4k
Designing for Performance
lara
602
67k
Why Our Code Smells
bkeepers
PRO
331
56k
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勉強会@関⻄