OpenFOAM初心者向け体験コース

OpenFOAMの初心者向けに体験コースを企画しました。

DEXCS2011 for OpenFOAM の特別版を使用して、約6時間の講義と実習です。

以下はDEXCS2011をベースとした説明になっていますが、現時点の最新版にて実施予定です。

狙い

OpenFOAMを含めてオープンCAEはコストフリーで導入できますが、活用するには使用者の自助努力が欠かせません。本コースを受講することにより、

  • OpenFOAMの機能の概要が理解できる
  • 実用レベルの解析が簡単にできることを体験できる
  • より高度な活用に向けての勉強方法、情報ソースがわかる

ことで、自助努力をやってみよう!・・・という気持ちになってもらうのが狙いです。

カリキュラム

  1. OpenFOAMの概要(20分)
    • 歴史、機能
  2. DEXCS for OpenFOAM の体験1(60分)
    • ランチャーを使った仮想風洞試験の演習体験
  3. DEXCS for OpenFOAMの概要(30分)
    • DEXCSの狙い、DEXCSとOpenFOAMの関係、DEXCS for OpenFOAMの仕組み
  4. OpenFOAMの基礎知識概要(60分)
    • 計算手順、メッシュ、パラメタファイルの構成、チュートリアルケースの仕組み
  5. DEXCS for OpenFOAM の体験2(2.5時間)
    • 簡単なモデル変更・メッシュ作成の演習
    • TreeFoam+dexcs十徳ナイフを使ったチュートリアルケースの演習
  6. 今後の活用に向けて(30分)
    • DEXCS for OpenFOAMの実践的な活用法と、OpenFOAM 関連の情報ソース紹介

内容の一部紹介

パワーポイント資料全249ページの縮刷版をダウンロードできるようにしておきましたが、受講者には2イン1のハンズアウトが配布され、基本的には本テキストに沿った説明になります。

実習部分が約150ページあります。縮刷版(16イン1)では詳細まで解像できないのでわからないかもしれませんが、講習を受けた後で、このテキストを見ながら自力の演習も出来るような内容になっています。

必要環境

【実習に必要なWindowsマシン】
CPUはPentium4以上、メモリー2GB以上

(メモリー1GBでも動作しますがスペース不足で十分な実習が出来ません)

DVDドライブがあり、ブート順序がDVD優先になっていること。

(既存のOS、HDDは使用しません)

申し込み方法(法人様、講習会)

費用や実施方法に関するお問い合せは、パートナーとなっている有限会社イワタシステムサポートさんにお問い合わせ下さい。

 

申し込み方法(個人、その他)

OCSE^2は個人事業主ですが、直接取引可能な人は、問い合わせフォームをご利用下さい。

 

講習テキスト原本(PDF)とisoイメージ(32bit/64bit)

講習を受ける時間がとれないという人向けには、近日中に有料(¥3,000程度)にてダウンロード出来るようにする予定ですが、いつになるのかはお約束できません。

テキスト原本(pdfフルサイズ、約35MB)と、DEXCS2011 for OpenFOAM(R)特別版のisoイメージをご希望の方は、以下のフォームをご利用下さい。

折り返し送金先をお知らせします。入金を確認次第手配(DL先URLの連絡又は郵送)いたします。

 

[contact-form-7 id=”2161″ title=”OpenFOAM初心者向け体験コース”]

 

DEXCS2011 for OpenFOAM(R) 特別版

来る6月8日(金)〜9日(土)にて開催されるオープンCAEワークショップ2012にて、

講習会A:「SwiftツールによるOpenFOAM®用メッシュ作成」

を担当させていただくことになりました。

この講習会ではライブDVDを使った実習形式を予定しており、現在、表題のライブDVDを鋭意製作中。9割方は完成したので、本稿にて、まずは起動画面のイメージ紹介と、特別版の概要(公開版からの変更点)を記しておくことにします。

ライブDVDの起動画面

Swiftツールの起動画面

公開版からの変更点

(参考)公開版リリースノート

  • blenderを2.49から2.62に変更。併せて、Swiftツール(SwiftSnap,SwiftBlock)を組み込みました。
  • ランチャーの標準チュートリアル問題も、Swiftツールを使う方法で出来るようにした。
    • ただし、Winkチュートリアルは未対応
  • Swiftツールの検証用サンプルを各種用意した
    • 公開されている3つの例題も含めて、OpenFoamのケースファイル付き(その場でメッシュ確認できるように構成)
  • OpenFOAMの最新マニュアル和訳版を同梱
    • UserGuideJa-2.1.0_beta.pdf (索引未完成のため β 版)
    • ProgrammersGuideJa-2.1.0.pdf 〔ソース〕
  • ランチャーと十徳ナイフの一部バグフィックス

blender on ubuntu 12.04

ubuntu 12.04 上で、blenderの表示不具合が生じる件について調べてみた。

 

ubuntu-12.04の実マシン上で動くblenderは問題ないが、仮想マシン上で動くblenderに問題あり・・・ということです。

仮想マシンは、いろいろな構成で試してみましたが同一症状でした・・・ので、OSの問題なのか、blenderの問題なのか、依然結論は出ませんが、ここしばらくは、こういうものだ・・・と思って使っていくしかなさそうです。

ちなみに上の画面キャプチャーは、

  • 実マシン(ubuntu 12.04 32bit) × VirtualBox(ubuntu 12.04 32bit)

にて実施したものですが、以下の構成でも確認しました。

  • 実マシン(ubuntu 10.04 64bit) × VmwarePlayer(ubuntu 12.04 64bit)
  •  実マシン(ubuntu 10.04 64bit) × VirtualBox(ubuntu 12.04 64bit)
  •  実マシン(Windows Vista 32bit) × VirtualBox(ubuntu 12.04 64bit)

 

 



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ツールが組み込まれているのが判ります。

OpenFOAM-2.1.x on ubuntu 12.04(続き)

昨日、tutorialケースのAlltestにていくつかエラーが見つかり、その後、実際にそのエラーケース(たとえば、simpleFoam/tubineSiting)を調べてみたんだが、確かに計算できないことを確認。

そこで、改めて、git pull してみたところ・・・

$ git pull

remote: Counting objects: 87, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 50 (delta 34), reused 46 (delta 30)
Unpacking objects: 100% (50/50), done.
From git://github.com/OpenFOAM/OpenFOAM-2.1.x
fb1588b..8167bbd master -> origin/master
Updating fb1588b..8167bbd
Fast-forward
…/surfaceSplitByTopology.C | 4 +-
src/dynamicFvMesh/Make/files | 2 +
…/multiSolidBodyMotionFvMesh.C | 219 ++++++++++++++++++++
…/multiSolidBodyMotionFvMesh.H | 115 ++++++++++
…/axisRotationMotion/axisRotationMotion.C | 108 ++++++++++
…/axisRotationMotion/axisRotationMotion.H | 115 ++++++++++
src/finiteVolume/fvMatrices/fvMatrix/fvMatrix.C | 28 ++-
…/CellZoneInjection/CellZoneInjection.H | 4 +-
…/SurfaceFilmModel/SurfaceFilmModel.C | 4 +-
…/fvFieldReconstructorReconstructFields.C | 6 +-
10 files changed, 581 insertions(+), 24 deletions(-)
create mode 100644 src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.C
create mode 100644 src/dynamicFvMesh/solidBodyMotionFvMesh/multiSolidBodyMotionFvMesh.H
create mode 100644 src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
create mode 100644 src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H

かなり、更新が進んでいた。特に、昨日目についたReconstruction関係の更新もあったようで、これは期待できそう。早速 Allwmake ⇒ Alltest をやってみた。

確かに、reconstructionの途中で止まってしまうことはなくなったが・・・

$ less testLoopReport | grep ERROR
Application renumberMesh – case pisoFoam/les/motorBike/motorBike: ** FOAM FATAL ERROR **
Application pisoFoam – case pisoFoam/les/motorBike/motorBikeLES: ** FOAM FATAL ERROR **
Application renumberMesh – case simpleFoam/turbineSiting: ** FOAM FATAL ERROR **
Application extrudeToRegionMesh – case reactingParcelFilmFoam/hotBoxes: ** FOAM FATAL ERROR **
Application reactingParcelFilmFoam – case reactingParcelFilmFoam/hotBoxes: ** FOAM FATAL ERROR **

 

それにしても、かくも頻繁に更新があって、悪くなる場合があるというのにも困ったものです。エラーが皆無の状態のものを、どこかに保管しておくことも考え無くてはなりません。

2012/5/5追記

5/5に改めて更新したところ、上記の状況は変わっていないようです。一方、ubuntu10.04上では、以下のようになっています。

$ less testLoopReport | grep ERROR
Application renumberMesh – case pisoFoam/les/motorBike/motorBike: ** FOAM FATAL ERROR **
Application pisoFoam – case pisoFoam/les/motorBike/motorBikeLES: ** FOAM FATAL ERROR **
Application renumberMesh – case simpleFoam/turbineSiting: ** FOAM FATAL ERROR **

並列分割ケースに対するrenumberMeshが失敗するのと、motorBikeLESケースに関して、pisoFoamが動かない点ですが、後者に関してはAlltest固有の問題のようで、本番計算は問題なく動きます(後日報告予定)。したがって、あとは、前者の問題(renumberMesh)が解決すればOKとなります。

ubuntu-12.04上では加えるに、reactingParcelFilmFoam/hotBoxes が動作しない問題がある、ということになります。