Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blenderのsoftwrapアドオンによるボリュームメッシュの作成

 Blenderのsoftwrapアドオンによるボリュームメッシュの作成

第84回オープンCAE勉強会の発表内容です。
Keyword:
・オープンCAE勉強会@関西
・Blender
・OpenFOAM
・SALOME
・ボリュームヘキサメッシュ

Avatar for inabower

inabower

May 15, 2021
Tweet

Other Decks in Technology

Transcript

  1. Softwrapアドオン  https://blendermarket.com/pro ducts/softwrap  Blenderの有償アドイン($40)  サーフェスメッシュの『リトポ (メッシュの張り直し)』に用 いられる

     ストッキングを履くような操作 でメッシュを形状にフィットさ せる  2019 年10月頃に初リリース  操作に関するQiita記事:  ZwrapとSoftWrapを比較し てみた (https://qiita.com/chiron amo/items/1f96cef818dd9 6626c66)
  2. サーフェスメッシュとボリュームメッ シュ  CGは基本的にサーフェスメッシュ(面)  四角形のサーフェスメッシュは自動生成技術などがかなり完成されている  CAEではボリュームメッシュを用いることが今は主流  六面体メッシュが良いとされることが多いが、六面体の自動生成はとても困難

     六面体の自動生成は広く研究されていて、そのうち実現されると期待している  六面体に拘らずに精度を出す技術も研究されている  あとメッシュフリーの手法(MPS,SPH,LBMなど)も進歩しまくっている
  3. 具体的な手順  SALOME  手切りヘキサメッシュを作成  OpenFOAM  OpenFOAMの”writeMeshObj”で変 形予定面をobjファイルで出力

     Blender  Softwrapで張り合わせ  再びobjファイルを出力  OpenFOAM  ”moveDynamicMesh”でメッシュ変 形  境界条件として、先ほどのobjファ イルから各点の移動量を使用
  4. メッシュの作成と読み込み  SALOMEでちまちまヘキサメッシュを手切り  なるべく簡単に作って後から張り合わせたい  unvファイルで出力  OpenFOAM形式に変換 

    ideasUnvToFoamで変換  SALOME  簡易CAD+メッシャ  応力解析ソルバーCodeAsterと連携できる  https://www.salome-platform.org/  OpenFOAM  流体解析ライブラリ  基本的に本発表みたいな使い方はしない  https://www.openfoam.com/
  5. OpenFOAM : objファイルの出力  writeMeshToObj  形状をobjファイルで出力できる  -patchFacesをつけると各patchご とのobjが生成される

     foamMeshExportでもobjファイル を生成できるが、これだと全て のpatchが一つのファイルとして 出力されてしまう  Blender側で点の増減を行うと、 変形後に読み直すのが困難にな るので注意
  6. moveDynamicMesh / OpenFOAM  OpenFOAMのメッシュ移動機能dynamicMeshだけを動かすソルバー  内部では弾性変形が解かれている  境界条件として変位を与えることで、メッシュの全点の変位が得られる 

    ただし有限体積法なのでちょっとなまる  今回はBlenderから持ってきたobjファイルを読み込んで、その各点の座標から 変位量を与えてあげる  ※「使い慣れているから」という理由でOpenFOAMを使っただけなので、これが最 適解ではないと思われる(というか多分違う)  「Blenderでobjを変形してもノードの順番が変わらない」という性質を使えばもっ と効率的な方法はあるはず
  7. Softwrapの基本操作  ビューポートの右上の小さな矢印でアドオン 画面が出てくる (※1)  ピンでノードを固定する(※2)  Shift +

    左クリックでノードを選択  Gで移動  Snap to Faces で目的形状にピンを移動できる ので便利(※3)  ピン周辺の剛性を変更  Sでピンの大きさ≒高速範囲を調整できる  Individual Origins で全部のピンを一度に変化で きるので便利(※4) ※1 ※2 ※3 ※4 ①Shift+click ②G
  8. softwrapの設定(触ってみた感じの解釈) ※間違ってるかもしれないです  おそらく、内部では有限要素法で布の応力が計算されてる  おそらく、メッシュの重複などのペナルティが内部応力として作用し、それを緩和す るような動作をしている  面の表裏に注意 

    設定項目  Stiffness : 元の形状に対する変化にペナルティ?  Structural :形状変化、Shear : 歪み、Bending : 曲げ に厳しくなる  Damping : 減衰量  下げるとガシガシ 上げるとちょっとずつ変形する  Smoothing:変化後の形状に対してペナルティ?  Smooth:ガタガタ表面、Quad:歪み四角形、Topologic:対象形状との差異 に厳しくなる  Snapping:対象形状に張り付く力  0だと何もしない、いろいろ調整しながら1を目指す  Plasticity, Performance:今回触らなかったので不明 今のモード 一度に掴むノード数 Softwrap演算の ステータス 元メッシュと 目的形状 ? 対称拘束 形状剛性 せん断剛性 曲げ剛性 減衰幅 平滑性 四角形 トポロジー 張り付き強さ 塑性? デフォルトだとビヨンビヨン動く もしかしたら変形を固定できるかも 多分演算の設定 どう結果に影響するかは分からなかったが 計算量は大きく変わるっぽい(PCファンの音で判断)
  9. 実行環境  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
  10. 検討の変遷  更に複雑な元メッシュ  ここまでくると元メッ シュ作るのも一苦労  → 一応張り付いた 

    内部のメッシュの品質 は悪い  Softwrapで加工する前 提の内部メッシュ構造 を作る必要がありそう