DEXCS2015 for OpenFOAM(R) リリースノート

ダウンロードはこちら

(2015/9/26公開)

DEXCS for OpenFOAM(R) は、OpenFOAMと、これをより簡単・高度に活用できるようにする為の様々なツールをすべてインストール済のオール・イン・ワンパッケージで、誰でも簡単・即使えるようにしたマシンイメージ(isoファイル)です。

範囲を選択_999(005)

詳しくはこちら

DEXCSランチャーのヘルプメニューからも参照できます

DEXCS2015では、

  • ベースOSはLinux Mint 17.1 Cinnamon No Codecs(LTS)
    • DEXCS2014ではやむ無くubuntu でしたが、Linux Mint に戻しました
    • 国際化にも対応しました。但し、ヘルプファイルは日本語のみ。
    • 2015/9/23 システムアップデート
  • OpenFOAMやその他の組み込みツールのヴァージョンアップに対応
  • DEXCS2011から搭載するようになった中級者向けツール(TreeFoam)の機能強化を図りました。
  • FreeCADマクロ(cfMesh用簡単設定ツール)を、より使い易くしました。

なお、DEXCS2012までは、32/64bit版がありましたが、DEXCS2013からは、64bit版のみです。

また、製作可能なisoイメージの最大容量の制限の関係上、今回はHelyx-OS と、OpenMDAOの搭載は見送る事としました。

 

インストールと利用法

範囲を選択_999(006)

詳しくはこちら


マシンイメージなので、DVDにイメージ書き込みすれば、DVDから起動してそのまま利用することができます。 (DEXCS初体験の人はこのライブDVDとして「まずは使ってみる」方法をお薦めします。)

  • 起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Playerや、VirtualBox等の仮想環境で起動して、仮想環境を作成することも簡単です。
  • 基本的に、DEXCS2011でやった方法と同じです.DEXCS2012,2013では、同じやり方が通用しない部分が一部ありましたが、それらの不具合はなくなりました。
  • VirtualBoxにインストールする方法は、こちらにDEXCS2013について詳しく記されていますが、基本は同じです。また、DEXCS2011までは、”Guest Additions”が入っておりませんでしたが、DEXCS2014では導入済みなので、共有ファイルの設定なども同様に実施可能です。

同梱プログラム

範囲を選択_999(007)

その他のドキュメントについて

    • DEXCSランチャーのヘルプメニューを参照下さい。
      • 本当に初めて使う人は、「ランチャーの使い方」-「まずは使ってみる」をご覧下さい。
      • 「ランチャーの使い方」-「形状作成」にて、FreeCADの使い方を概略説明しています。
      • 「ランチャーの使い方」-「メッシュ」にて、FreeCADマクロで起動される表形式のGUIの使い方と、cfMesh作成に必要なパラメタの概要を説明しています。
      • 「ランチャーの使い方」-「計算実行」「結果処理」を理解できるようになると、OpenFOAMの基本的なファイル構造を理解できたことにもなります。
      • 以上は動画チュートリアルになっていますが、「フラッシュプレーヤー」を変更して参照することを強くお勧めします。変更方法は、最下段の「フラッシュプレーヤーの変更方法」をご覧ください。
    • Blender⇒SwiftツールをDEXCSランチャーから使用することはなくなりましたが、ツールそのものは使用可能で、メッシュ作成用のテンプレートフォルダもBlenderモデルと併せて同梱してあります(デスクトップ上:DEXCS/template/swift_dexcsMesh)。
    • Swiftツールもヴァージョンアップして、出力ファイルの仕様が少々変更になっていますが、基本的な使用方法は変わっておりません。使用法の詳細を知りたい方はDEXCS2013のリリースノートをご覧ください。
    • SLURMというリソースマネージャもインストールしてあり、サブミット用のサンプルスクリプトを含んだケースファイルも同梱してあります(デスクトップ上:DEXCS/template/slurm_damBreak)。コア数が4つのマシンであれば、以下のコマンドを、そのまま利用可能(のはず)です。
      • $ sbatch submit.sh  (ジョブサブミット)
      • $ squeue  (ジョブ確認)
      • $ scancel [jobID] (ジョブ停止)
    • コア数が4でないなどの環境で、バッチジョブがペンディング状態のまま実行出来ない場合は、デスクトップ上、DEXCS/launcherOpen/doc/slurm.pdf を参考に設定ファイル(slurm.conf)を変更して使用して下さい。
    • ジョブサブミット、ジョブ確認は、TreeFoamの十徳ナイフからも起動できます.
    • 上記を含めて、TreeFoamから起動する十徳ナイフのメニューに変更はありません。
    • JAVA gnuplot GUI の使用方法
    • TreeFoamの基本的な使い方はTreeFoamのヘルプメニューから、「使い方」を参照して下さい。(DEXCS2014までは内容が古い物になっていましたが、DEXCS2015では、最新版に対応した内容になっています)
    • TreeFoamに関する情報は、DEXCS公式HPの AboutTreeFoamの記事にまとめてあります。
    • DEXCS2015に搭載のTreeFOAMは、+dexcsSwakとして、上記公式ページに掲載ヴァージョンに対して独自のカスタマイズが加えてあります。範囲を選択_999(008)
    • また、これに関連し、一部の機能が無効になっています範囲を選択_999(009)

 

FreeCADとcfMesh用マクロの使い方

先の記事に書いた通り、ただいまDEXCS2015 for OpenFOAM(R) の動画チュートリアルを作成中ですが、その一部は単独でそのまま表題の説明用途にも使えるわなぁ・・・と改めて気付いたので、本記事にて紹介しておきます。

FreeCADの基本的な使い方

範囲を選択_987

DEXCSでは、複雑な形状作成はユーザーが使い慣れた3D-CAD(もちろん頑張ればDEXCSに搭載のFreeCADやBlenderでも可能です!)で作成してもらうとして、これをstepまたはstl形式でFreeCADにインポートして使ってもらう事を想定しています。

その際に、FreeCADに標準搭載のプリミティブ要素(直方体や円柱など)を使って、領域を追加で定義したり、解析用の境界面を定義するのに、面の分割や再結合の操作が必要になりますが、これらの操作方法を具体例で確認することが出来ます。

⇒ チュートリアルを見る

 

cfMesh用マクロの使い方と機能の概要説明

範囲を選択_988

上述の方法で、FreeCADのソリッドモデルで解析空間を定義できるようになれば、DEXCSに搭載のFreeCAD用マクロ(makeCfMeshSetting.py)を使って、cfMesh用に境界面の定義や分割方法を指定する為の設定ファイル(meshDict)を自動作成できます。

このチュートリアルでは、マクロで起動される表形式のGUIの使い方と、実際に作成したmeshDictを対比させながらmeshDictファイルのパラメタの意味を解説するとともに、GUIでは指定しなかった、または指定出来ないパラメタを手修正で追加する方法についても解説しています。

⇒ チュートリアルを見る

DEXCS2015 for OpenFOAM(R) 製作の最終工程

先の第42回オープンCAE勉強会@岐阜(夏合宿)にて使用したDEXCS2015のプロトタイプ版ですが、ほとんどトラブルは無さそうだったので、いよいよ製作の最終工程・・・Winkチュートリアルを作成中です。
ワークスペース 2_984

 

DEXCSは基本Linuxですが、Winkチュートリアルだけは、Windows環境で作成する必要があるので、DEXCS2009以来、毎度の事ながら、この工程が最大の難所です。

拙宅マシンも更新して、仮想WindowsマシンもWindows10に更新、ちょっぴりサクサク作業できるようにはなりましたが・・・

とりあえず、第1弾が完成です。

範囲を選択_985

⇒ まずは使ってみる

蛇足ながら・・・

上のスクリーンショットと、下のそれを比べてみて下さい。

範囲を選択_986

明らかに画像品質が違いますね。下の物は、拙宅のLinuxMint17のデスクトップ環境でChromeを使って表示した場合です。

Chrome(on Linux Mint 17)でなく、FireFoxを使うなり、WindowsマシンのChrome を使えば、上の画像になってくれます。なんでだろ?

baffleMeshing by cfMesh

表題の資料をslideshare

範囲を選択_228

 

にアップしておきましたが、ここに補足解説しておきます。

モデルとメッシュ一式は⇒こちら

要旨

cfMeshでバッフルを有するメッシュを普通に作成すると形状が大きく崩れてしまい、とても使い物にならない(snappyHexMeshで作成したものと比べて)という問題があったので、解決策を調査したものです。

結論

CADモデルとしては、厚みの無いシェルではなく、有限の厚みを持たせるようにすれば、それなりにメッシュが作成できるようです。メッシュとして理想的なバッフル(厚みがゼロ)にはなりませんが、実用面を考えれば、実際の対象物の厚みをそのままモデリングすれば良く、メッシュもその厚み(隙間)サイズを再現してくれるので、これはこれでそれなりに使えそうです。

但し、ファンタイプ境界のようにバッフルの表裏面で、変数の受け渡しが出来るのかどうかは課題になりそうです。

 

おまけ

応用例として、OpenFOAM標準チュートリアルの、interDyMFoam/mixerVesselAMI:撹拌槽問題でバッフルが何ヶ所かあるので、これをcfMeshで作成することとし、その際のTipsをほんのさわりだけですが紹介しています。

実はすでにメッシュも完成し、interDyMFoamの計算も問題なく動いています。

このメッシュ作成法ですが、FreeCADの使い方を含めて、Tipsがたくさんありました。そこで、第42回オープンCAE勉強会@岐阜(夏合宿)

演習4:「cfMeshによる実践的なメッシュ作成」

の題材にならんかなぁ・・・と思案中です。

 

マルチブートUSB

2015-04-28_1552.png_999

約1か月後(5/30)に開催予定の、オープンCAE講習会では、初めて表題のマルチブートUSBなるものを手懸けることになり、これを製作するに際してあれこれ調べたので以下に備忘録として記しておきます。

 経緯

今回のオープンCAE講習会は、流体系と構造系の2本立てで講習が実施されますが、講習参加費は参加コース、本数によらず一定額となっております。その拠り所としては、講習用に講習環境(仮想マシン用イメージファイル)やテキストを全て同梱したUSBを支給する点が挙げられます。したがって講習用USBには流体系と構造系のそれぞれに対応した仮想マシンを同梱し、用途に応じて使い分けできるように、いわゆるマルチブート可能なUSBメモリとして配布しようとなりました。(同一の仮想マシンで、流体系・構造系、どちらも動くように出来ればもっと良いのですが、ディスク容量の制限上困難でありました。)

マルチブートUSB作成法の基本は、こちらのページに詳しく書いてありましたが、これらをステップ踏んでやるのは少々荷が重い。やはり簡便に作ってくれるツールはあるもので、ライブUSBツール(Windows版)に関するまとめ記事なるものも見つかって、これをベースに調査を開始しました。これまで使用していた、LinuxLive USB Creator (LiLi)についても記されていましたが、これはSingleブート用で、今回の用途(マルチブート)には使えないということも判りました。

この中から、マルチブート用には、XBOOT, Easy2Bootというのが定番のようで(他にも、YUMI, SARDUもあったが日本語版で問題がありそうなのでパスした)これらを試してみました。⇒どちらも使えましたが、どちらを選択するかは悩ましい所です。

また、こうやって作成したブータブルUSBの動作確認を、これまではいちいちPCを再起動して確認していましたが、仮想マシンで確認する方法もあるとの事で、とりあえず今回は、VirtualBoxで確認できるようになったので、その方法についても記しておくこととしました。

 

 


XBOOT

2015-04-28_0852

  • 起動画面では、10秒間何もしないとデフォルトメニューが立ち上がってしまいます。
  • 普通に作ると、一番上の Boot from Hard Disk が立ち上がりますが、これだとまずい(Windowsが立ち上がってしまい、再起動させるまでの時間ロスが大きい)。かつ、2番目(流体用)や3番目(構造用)にしておいても、用途に応じて再立ち上げが必要になるので、一番下の Help! が立ち上がるようにしておきました。
  • このブートメニューはUSBを作成した後でも再編集できるので助かる。
  • これだと、下の画面になって、
  • 2015-04-28_0854
  • ここでF10を押せば。
  • 2015-04-28_0854_001
  • となり、Enterキーを押せば、最初の立ち上がり画面に戻れる。
  • 作成方法の要点としては、初期フォーマットが必要な点と、イメージ収納方法のオプションを間違えないようにする事。

初期フォーマットの方法

XBOOTそのものにはフォーマット機能がなく、実は通常のフォーマットではUSBブートした時にブートデバイスとして認識されない。そこでどうすれば良いのかは、こちらの記事に詳しかった・・・のだが、難解すぎて(意味不明のisoイメージの引用が多すぎて)よく判りませんでした。何度も読み直して自分なりに理解した事は、

なんでも良いのISOイメージを持ってきてLinuxLive USB Creator (LiLi)を使ってUSBブートできるようにしてから、USB上に作成されるRemove_LiLi.batというバッチコマンドを実行してファイルを全消去する。(上記記事の文中、まるで、「 フォーマット ソフトとして使ってくれ。 」と言わんばかりの仕様の部分)

というものでした。これをやっておけば、焼き直しの際にも通常のフォーマットでいけるようです。

イメージ収納方法

XBOOTそのものの使い方は簡単で、ブートしたいisoイメージファイル2015-04-28_1051.png_999をドラッグ&ドロップして、USB(又はDVD)作成ボタンを押すだけです。

問題は、ドラッグ&ドロップした時に、それが何であるかを、以下の選択メニューの中から選ばなくてはならない所で、これを間違えると正しく起動してくれない。

2015-04-28_1053

 

上の図には見えていないが、スクロールすると下の方には

Linux — ubuntu

というメニューがあって、これで良いかと思うのだがそうはいかない。しかも、isoイメージファイルが2重で保存されてしまっている。

また、ライブUSBツール(Windows版)に関するまとめ記事を書いた人のXBOOT関連ページには、ubuntu日本語版では、

XBOOT - 【ISO files wihch supports iso-scan/filename kernel parameter】を選択する画面のスクリーンショット

とあったのだが、これで作ると、2重保存の問題は解消されるんだが、やはり起動不能。起動不能というのは、冒頭の選択メニューは表示され、個別のisoを選択した後、

2015-04-29_0905

の画面まではたどり着けるのだが、この後で・・・

2015-04-29_0904

と、よくある起動不能のパターン。

色々試してみた結果の結論は、

ISO files which supports Live-media-path kernel parameter

を選択しなさい・・・ということでした。

 


Easy2Boot

2015-04-28_1552

  • こちらは、メニューがたくさん出てくるが、デフォルトが勝手に起動する事はない。落ち着いて必要なメニューを選択してEnterキーを押せば良い。
  • USBの作成方法は、XBOOTのようにGUI画面でボタンを押して・・・というわけにはいかなくて、ファイルマネージャ上での操作と、実行画面(コマンド端末)でのキー入力。やり方さえ理解すれば、簡単な一本道(フォーマットもやってくれる)だが、isoイメージファイルを所定のフォルダーに入れた後で、デフラグ処理が必要。

USB作成方法

ダウンロードしたzipファイルを解凍すると、Easy2Bootというフォルダが作成されるので、_ISO/docs/Make_E2B_USB_Drive

2015-04-30_1839

というフォルダの中の、MAKE_E2B_USB_DRIVE.cmd というファイルがあるので、これ選択し右クリック⇒管理者として実行する。

以下、端末画面が現れる、

2015-04-29_2216

色々尋ねてくるので、キー入力で回答していくがほとんどデフォルト(Enterキー)で良い。キーボードで Japan を選択するくらいか。設定がすべて完了し、問題なければ緑色の背景色に変わって、何かキーを押せば終了する。問題があると赤色の背景色になって、設定のやり直しを促される。

正常に終了すれば、ファイルマネージャでUSBドライブを調べると、ドライブの名前がE2Bになっており、その中身は先に解凍して出来たEasy2Bootフォルダとほとんど同じファイル構成になっている。

2015-04-30_1859

isoイメージファイルの収納方法

_ISO/MAINMENU のフォルダにコピーするだけです。

2015-04-30_1904

 

LINUXのフォルダに入れたりすると、メインメニューにLINUXが現れて、そのサブメニューで選択できるようになるようです。

ちなみに、このisoイメージファイルは、そのまま仮想マシン用の起動イメージファイルとして使うことも出来る。ちなみにXBOOTで作成したUSB上のisoファイルはNGです。

isoイメージファイルの追加や変更も、ファイルマネージャ上の通常の操作でOK。

 

デフラグが必要

但し、USB起動ディスクとして使うためには、このコピーの後で、デフラグ作業をしておく必要がある。デフラグツールは何を使ってもよいそうだが、作成されたUSBの中に同梱されているので、それ(MAKE_THIS_DRIVE_CONTIGUOUS.cmd)を使う(ダブルクリックするだけ)のが一番手っ取り早い。

注意点は、コピーのやり方。たとえば2つのisoイメージファイルをコピーする際、面倒だからといって2つ同時にコピーしてしまうと、デフラグに必要な時間が長大になってしまう。

1つコピーして一度デフラグにかけると、2つ目のファイルをコピーした後のデフラグは瞬時に終わることもあるようで、isoイメージファイルの追加や変更を実施した際にも、操作の都度デフラグにかけるのが良さそう。

 

 


 

LiveUSB on VirtualBox

Easy2USBのチュートリアルムービーを眺めていたら、ブート用USBを作成して、その場でVirtualBoxで動作確認をやっているシーンがあった。詳しく調べると、その方法(仮想マシンで動作させる方法)について記したページも見つかった。色んな方法があるようだが、ここでは、「Running VBox in ‘read-only’ USB mode」についてのメモです。

MakeUSBvmdk.cmdをダウンロードして、管理者として実行する。⇒USBドライブ番号を指定すると、USBPort1.vmdkというファイルを作成してくれるので、何処に作成されたかを覚えておく。

2015-04-30_2251_001VirtualBoxを管理者として実行。新規マシンを作成し、設定メニューにて、ストレージのIDEコントローラーでハードディスク追加⇒既存のディスクを選択⇒上記ファイル(USBPort1.vmdk)を指定(覚えておいた場所から探す)。

2015-04-30_2246

 注意事項

この方法で起動した際に、下記の画面が立ち上がる事がありました。

2015-04-30_1823

何かキーを押せば続けられるとの事で、インストールした環境そのものは実行可能になりました・・・が、しかし、仮想環境では実行できても、実環境(実際にUSBからブート)ではブートデバイスとしては認識されませんでした(Windowsが立ち上がってしまう)。

ちなみに、このデバイスは再起動されたWindowsマシンから(他のLinuxマシンからも)全く認識されなくなり、修復も不能になってしまいました(;_;)/~~~ 上記画面が出た時点(USBそのものは認識出来ている)で、USBそのものの初期化なり、再フォーマットした方が良いということかもしれません。

 


まとめ

本記事の作成に着手した時点では、経緯に記したように、XBOOTにするかEasy2USBにするかの選択は悩ましかったのですが、その理由は、

  • チャチャッと作るならXBOOTだが、仮想マシン用のisoイメージを別に同梱する必要がある。
  • Easy2USBはその必要がない(ブート用と仮想マシン用で共用できる)が、製作時間(デフラグに要する時間)がかかりすぎ。

といったものでした。記事を書きながらいろいろ検証しているうちに、Easy2USBの最大の問題であったデフラグに時間がかかる事について、やり方次第で、短く出来る事も判ってきた事と、出来上がったUSBに対して、isoイメージファイルの変更や追加も簡単に出来る事が判ってきたので、本番用にはEasy2USBを使うことになりそうです。