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
Blenderのsoftwrapアドオンによるボリュームメッシュの作成
Search
inabower
May 15, 2021
Technology
1
680
Blenderのsoftwrapアドオンによるボリュームメッシュの作成
第84回オープンCAE勉強会の発表内容です。
Keyword:
・オープンCAE勉強会@関西
・Blender
・OpenFOAM
・SALOME
・ボリュームヘキサメッシュ
inabower
May 15, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
240
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
S3アクセス制御の設計ポイント
tommy0124
3
200
Modern Linux
oracle4engineer
PRO
0
160
いま注目のAIエージェントを作ってみよう
supermarimobros
0
350
slog.Handlerのよくある実装ミス
sakiengineer
4
470
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
A Modern Web Designer's Workflow
chriscoyier
696
190k
For a Future-Friendly Web
brad_frost
180
9.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Docker and Python
trallard
46
3.6k
Site-Speed That Sticks
csswizardry
10
820
A designer walks into a library…
pauljervisheath
207
24k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
Blenderの softwrapアドオンによる ボリュームメッシュの作成 Inaba (Twitter:@public_inabower) 2021.5.15 第84回オープンCAE勉強会@関西(オンライン)
モチベーション: 複雑な形状の 綺麗なメッシュを 簡単に作りたい
Softwrapアドオン https://blendermarket.com/pro ducts/softwrap Blenderの有償アドイン($40) サーフェスメッシュの『リトポ (メッシュの張り直し)』に用 いられる
ストッキングを履くような操作 でメッシュを形状にフィットさ せる 2019 年10月頃に初リリース 操作に関するQiita記事: ZwrapとSoftWrapを比較し てみた (https://qiita.com/chiron amo/items/1f96cef818dd9 6626c66)
softwrapの操作感をデモ
サーフェスメッシュとボリュームメッ シュ CGは基本的にサーフェスメッシュ(面) 四角形のサーフェスメッシュは自動生成技術などがかなり完成されている CAEではボリュームメッシュを用いることが今は主流 六面体メッシュが良いとされることが多いが、六面体の自動生成はとても困難
六面体の自動生成は広く研究されていて、そのうち実現されると期待している 六面体に拘らずに精度を出す技術も研究されている あとメッシュフリーの手法(MPS,SPH,LBMなど)も進歩しまくっている
簡易形状のヘキサメッシュを作って 表面を複雑形状にフィットさせれば 複雑なヘキサメッシュが作れるのでは・・・?
全体のロードマップ
具体的な手順 SALOME 手切りヘキサメッシュを作成 OpenFOAM OpenFOAMの”writeMeshObj”で変 形予定面をobjファイルで出力
Blender Softwrapで張り合わせ 再びobjファイルを出力 OpenFOAM ”moveDynamicMesh”でメッシュ変 形 境界条件として、先ほどのobjファ イルから各点の移動量を使用
メッシュの作成と読み込み SALOMEでちまちまヘキサメッシュを手切り なるべく簡単に作って後から張り合わせたい unvファイルで出力 OpenFOAM形式に変換
ideasUnvToFoamで変換 SALOME 簡易CAD+メッシャ 応力解析ソルバーCodeAsterと連携できる https://www.salome-platform.org/ OpenFOAM 流体解析ライブラリ 基本的に本発表みたいな使い方はしない https://www.openfoam.com/
OpenFOAM : objファイルの出力 writeMeshToObj 形状をobjファイルで出力できる -patchFacesをつけると各patchご とのobjが生成される
foamMeshExportでもobjファイル を生成できるが、これだと全て のpatchが一つのファイルとして 出力されてしまう Blender側で点の増減を行うと、 変形後に読み直すのが困難にな るので注意
moveDynamicMesh / OpenFOAM OpenFOAMのメッシュ移動機能dynamicMeshだけを動かすソルバー 内部では弾性変形が解かれている 境界条件として変位を与えることで、メッシュの全点の変位が得られる
ただし有限体積法なのでちょっとなまる 今回はBlenderから持ってきたobjファイルを読み込んで、その各点の座標から 変位量を与えてあげる ※「使い慣れているから」という理由でOpenFOAMを使っただけなので、これが最 適解ではないと思われる(というか多分違う) 「Blenderでobjを変形してもノードの順番が変わらない」という性質を使えばもっ と効率的な方法はあるはず
境界条件 境界条件は自作 OpenFOAMでは”coded”という 機能で、C++で任意に境界条件 を記述できる 図のように、単にobjファイル を読み込んで、点座標を示す
行を読み込んでいる感じ Blenderの中で点の順番が変 わってなかったのでこれがで きた
Softwrapの基本操作 ビューポートの右上の小さな矢印でアドオン 画面が出てくる (※1) ピンでノードを固定する(※2) Shift +
左クリックでノードを選択 Gで移動 Snap to Faces で目的形状にピンを移動できる ので便利(※3) ピン周辺の剛性を変更 Sでピンの大きさ≒高速範囲を調整できる Individual Origins で全部のピンを一度に変化で きるので便利(※4) ※1 ※2 ※3 ※4 ①Shift+click ②G
softwrapの設定(触ってみた感じの解釈) ※間違ってるかもしれないです おそらく、内部では有限要素法で布の応力が計算されてる おそらく、メッシュの重複などのペナルティが内部応力として作用し、それを緩和す るような動作をしている 面の表裏に注意
設定項目 Stiffness : 元の形状に対する変化にペナルティ? Structural :形状変化、Shear : 歪み、Bending : 曲げ に厳しくなる Damping : 減衰量 下げるとガシガシ 上げるとちょっとずつ変形する Smoothing:変化後の形状に対してペナルティ? Smooth:ガタガタ表面、Quad:歪み四角形、Topologic:対象形状との差異 に厳しくなる Snapping:対象形状に張り付く力 0だと何もしない、いろいろ調整しながら1を目指す Plasticity, Performance:今回触らなかったので不明 今のモード 一度に掴むノード数 Softwrap演算の ステータス 元メッシュと 目的形状 ? 対称拘束 形状剛性 せん断剛性 曲げ剛性 減衰幅 平滑性 四角形 トポロジー 張り付き強さ 塑性? デフォルトだとビヨンビヨン動く もしかしたら変形を固定できるかも 多分演算の設定 どう結果に影響するかは分からなかったが 計算量は大きく変わるっぽい(PCファンの音で判断)
これを踏まえてなんかデモ
実行環境 OS:Windows10 Home 20H2 Blender 2.90 Softwrap-2.0.0-for-blender2.83-2.92-windows
SALOME platform 9.6.0 WSL : Ubuntu20.04 LTS OpenFOAM v2012 ParaView 5.9.0
ヘキサバニーチャレンジ Stanford bunnyのヘキサメッシュを作ってみたい 目的は特にない
検討の変遷 ①元メッシュは超単純形状 これでうまくいくならいいけ ど・・・ →ダメでした どんなに頑張っても張り付か
ない
検討の変遷 もうちょっと複雑な元 メッシュで →これもダメでした
検討の変遷 更に複雑な元メッシュ ここまでくると元メッ シュ作るのも一苦労 → 一応張り付いた
内部のメッシュの品質 は悪い Softwrapで加工する前 提の内部メッシュ構造 を作る必要がありそう
曲面には境界層を張る方がよさそう