SwiftSnap and SwiftBlock, GUIs for OpenFOAM’s meshers

一昨日、CFD Onlineにて発見した表題ツールですが、機能と使い方の概要が判って、自前サンプルでの動作確認も出来たので、まずは速報です。

下の図は、DEXCS for OpenFOAM(R) をご利用の人にはお馴染みの、仮想風洞試験を模擬したモデルです。blenderの画面構成が、従来のVer.2.49からVer2.5以降大幅に変更になっており、従来のモデルをそのまま読み込むこともできたのですが、サイドメニューなどの画面構成を下図のように再構築する方法がまだよく判っていないので、普通に新しいblenderを立ち上げて、モデルの3つのパーツをstl形式で個別にインポート(+基礎メッシュ部分は四辺形モデルに変更)し、blender形式で保存したものです。(⇒dexcs.blend)

この段階では、モデルの3つのパーツが用途に応じて別々のオブジェクトになっているという点が重要で、この点はこれまでのDEXCSでモデル作成していた場合と全く同じです。

さて、ここで表題のツールをblenderにインストールしてあれば、それらのツールを使って、blockMeshと、snappyHexMeshの設定を完了して下の図の状態になります。(⇒dexcsSwift.blend)

図中、モデルのパーツ毎に色分けされていますが、該当色の部分にそれなりの設定が織り込み済みだということです。

SwiftSnapでsnappyHexMeshDictとtriSurfacesデータを自動作成

ここで、モデルを開いたばかりの時点だと、中央のDEXCSフォントを選択した状態になっているはずです。表面がカラー表示の場合は、選択状態がわかりづらいので、Zキーを押して、透過表示にすると、下のような状態になって、DEXCSフォント部分が選択されていることがわかります。

加えるに、注目点は、右方、赤枠で囲った部分に、表題ツールのGUIメニューが構成されていることです。そして、現在はsnappyの対象となるオブジェクトを選択しているので、SwiftSnapのメニュー(②)が展開された状態になっています。この②の部分を拡大したのが下の図です。

ここで、①のwriteボタンを押せば、②〜④で設定済のパラメタを織り込んだsnappyHexMeshDictと、triSurfaceフォルダを作成し、その中にsnappyHexMeshを実行する際に必要となるstlデータなどを出力してくれるというものです。

  • snappyHexMeshDictの一部抜粋

  • triSurfaceフォルダに出来たファイル

SwiftBlockでblockMeshDictを自動作成

一方、モデル表示画面にて、下図のように、基礎メッシュ領域を選択すると・・・

右方のメニューブロックで、①のSwiftBlockの部分が展開されるようになります(SwiftBlockの設定が織り込み済みだということです)。②のSwiftSnapの部分はボタン化されています。

さて、ここSwiftBlockのメニュー部分で色分けされていますが、これはオブジェクトを色付き表示させれば(Zキーを押す)一目瞭然です。下図のようになっているはずです。

つまり、パッチを部分ごとに名前を付けて、境界条件のtypeも区別指定してあり、どこがどうなっているかは、この色で判別できるということです。

ここで、①のwriteボタンを押せば、上記設定を織り込んだblockMeshDictが作成できるということです。

  • blockMeshDictの一部抜粋

これまでのblockMeshDictExporterでは、この名前付まではやってくれなかったので、この後で、autoPatch⇒createPatch という手間をかける必要がありましたが、これがちゃんと使えれようになれば必要なくなるということです。

以上の動作確認ができるように、Swiftツール(表題の2つのツールをまとめてこう呼ぶことにする)による設定が織り込み前のモデル(dexcs.blend)と、織り込み後のモデル(dexcsSwift.blend)を、まとめて(⇒dexcsSwift.zip)ダウンロードできるようにしておいたので、興味のある方はblenderにSwiftツールをインストールして確認してみて下さい。

なお、本稿では、Swiftツールを使って具体的にどうやってパラメタ設定するかの方法についてまで説明しません。ツールに添付のマニュアル、もしくはwikiのページにも具体的なやり方までは書いてなくて、管理人が試行錯誤でやったもので、正しいやり方であったかどうかも怪しい、結果オーライものです。織り込み前のモデルから各自の方法でやってどうなるかも挑戦してみてほしい。

ここでは以下、Swiftツールを導入するに際しての注意点を記しておきます。

blenderのヴァージョン問題

CFD Onlineの記事中には、ヴァージョンが2.6.x、多分2.5.xでも大丈夫と書いてありまして現時点の最新版は、2.6.3です。しかし、どうもこの最新版ではうまく動かないようです。GUIでの設定などは問題なく出来そうですが、writeする時に、何やらエラーを吐き出して、Dictファイルを作成してくれません。管理人はubuntu10.04/11.10(64bit)と、Windows7(64bit)上の、blenderで、本症状を確認。2.6.1と、2.6.2で正常動作することを確認しました。

blenderは過去の全ヴァージョンが、http://download.blender.org/release/から入手できる。ubuntuの場合は、

blender-2.**-linux-glibc27-i686.tar.bz2(32bit版)

blender-2.**-linux-glibc27-x86_64.tar.bz2(64bit版)

を適当な場所で展開して出来たバイナリがそのまま動くので、それを使えば良い。

ubuntu-12.04上での問題

自分が試したubuntuの最新ヴァージョンでは、何故かオブジェクトモードでの表示が異常になる。透過表示では問題ないのだが、非透過(シェイディング)表示でほとんど何も表示されなくなってしまう。つまり、透過表示でオブジェクトの選択切り替え作業は出来るのだが、エディットモードでSwiftツールで設定したパラメタを、オブジェクトモードにて確認する際、モデルの表面色での確認が出来ないということ。

これには表示関係のあれこれ設定を変えてみたが解決せず、最後には本家の掲示板にも同様のトラブル情報を見つけることとなった。しかし、今日現在ではまだ解決策らしき回答が出ていないようなので、ここで諦めた。

ただ、ubuntu-12.04そのものの問題なのか、マシンに固有の問題なのか、vmwareの問題である可能性もある。もう少し調べてみるが、どちらの問題にせよ、しばらく様子見せざるを得ない状況。

Swiftツールのインストール方法

インストール方法は、

Untar files into your Blender add-on directory. Then start up Blender

In Blender’s User Preferences, enable ‘Community’ add-ons, and locate SwiftSnap under the OpenFOAM category. Click to enable. Locate STL file export/import and enable. Return to 3D view.

と簡単に書いてあるだけで、判る人には判るんだろうけど、始めての人には、戸惑うことが多いでしょう。自分でも、すぐには判らなかった。

Swiftツールをダウンロードして解凍して出来るフォルダを、下図のように、addonsフォルダの下に入れてから、blenderを起動する。

blenderを起動したら、File – User Preferences のメニューを選択

Addons のタブを選択すると、アドオンファイルの一覧がリストアップされている。

左側のカラムで種類ごとに区分できるので、OpenFOAMを選択すると下図のように、addonsディレクトリにインストールしたSwiftツールがリストアップされるはず。但し、このままでは有効になっていないので、

右端のチェクボックスを有効にして、Save As Default ボタンを押す。

最後に、Swiftツールのメニューウィンドウは、Propertyウィンドウの、

Objectボタンを押すと・・・

一番下の方に、Swiftツールが組み込まれているのが判ります。

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください