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

ダウンロードはこちら

(2016/10/12公開)

不具合・更新情報はこちら



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

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_606

詳しくはこちら

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

DEXCS2016では、

  • ベースOSはLinux Mint 18 Xfce (LTS)
    • Mint 18 も Cinnamon⇒MATE⇒Xfce と試行の結果、これ(Xfce)が最も相性良さそうでした。
  • OpenFOAMやその他の組み込みツールのヴァージョンアップに対応
    • OpenFOAM-4.x-be7fba6cff9b
    • cfMesh v1.1.1
  • DEXCS2011から搭載するようになった中級者向けツール(TreeFoam)の機能強化を図りました。
    • FOCUSスパコンでの作業もチャチャッと出来るようになりました。但し、個別のユーザー毎のカスタマイズは必要で、設定方法はこちらを参照下さい。
  • FreeCADマクロ(cfMesh用簡単設定ツール)を、より使い易くしました。
  • DEXCS2015では搭載を見送ったHelyx-OSですが、Helyx-OSも進化して使いやすくなったので復活させました。但し、Helyx-OSそのものがOpenFOAM-4.xに未対応のため、ソルバー起動は出来ません。DEXCSではsnappyHexMeshを作成する際のGUIツールとしての活用を推奨しています。

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

 

インストールと利用法

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_607

詳しくはこちら


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

  • 起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Playerや、VirtualBox等の仮想環境で起動して、仮想環境を作成することも簡単です。
  • VirtualBoxにインストールする方法は、書籍「OpenFOAMによる熱移動と流れの数値解析」の付録AにDEXCS2015について詳しく記されていますが、基本は同じです。また、DEXCS2011までは、”Guest Additions”が入っておりませんでしたが、DEXCS2016では導入済みなので、共有ファイルの設定なども同様に実施可能です。
  • 国際化対応のレベルはDEXCS2015に同じ(英語版のみに対応)ですが、日本語⇆英語のベース環境切り替え方法が、DEXCS2015に比べやや煩雑になっています。(インストール方法メモの9〜15ページ)
  • 一部動作に不具合が確認されています(インストール方法メモの21ページ)。解決方法が見出だせませんでした。お判りの方、またこれ以外の不具合に気づかれた方はご連絡下さい。

同梱プログラム

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_567

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

    • 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のヘルプメニューから、「使い方」を参照して下さい。(但し、DEXCS2015では最新版に対応した内容になっていましたが、リモートサーバー関連の最新情報までは反映されておりません。)
    • TreeFoamに関する情報は、DEXCS公式HPの AboutTreeFoamの記事にまとめてあります。
    • DEXCS2016に搭載のTreeFOAMは、+dexcsSwakとして、上記公式ページに掲載ヴァージョンに対して独自のカスタマイズが加えてあります。%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_612
    • また、これに関連し、一部の機能が無効になっています。%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_613

 

FOCUS by DEXCS その2

その1の記事を書いてから2年近く経ってしまいましたが、ようやくDEXCSらしい使い方が出来るようになりました。


%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_388

  1. マウント用の空フォルダ(focusServer)を選択(空フォルダであれば名前は何でも良い)
  2. 右クリック⇒ポップアップメニューの「sshfsサーバマウント」を選択
  3. マウントが完了すると、空フォルダに▼マークがつくのでこれをクリック⇒FOCUS上のファイル構造がツリー展開される(赤枠部分)
  4. 解析したいフォルダ(work/test)を選択し、解析ケースに設定。
  5. ポップアップメニューの「loginシェル起動」を選択すると、以下のターミナルが現れる。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_370

所定のフォルダ(work/test)で所定(上の場合は2.4.x)のOpenFOAMコマンドを直ちに実行できるようになります。

バッチで実行中のジョブに対して、plotWatcherを起動して、下図のように計算の収束状況を確認する事もできます。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_371

 

とはいうもの、FOCUSへの接続は、個別のカスタマイズが必要であり、その部分はユーザーが自身で設定していただくしかありません。また、ここを間違えると、やり直しもうまくいかないなどあったりするので、以下備忘録です。

 



 

必要な環境

準備するもの

  • 鍵交換方式を用いたSSH接続用の秘密鍵

設定(ローカルマシン)

  • ホームディレクトリ直下の.TreeFoamUser/data/sshfs_data の朱字部分を編集(TreeFoamを一度でも実行すればこのファイルが存在するはず)

    #
    # sshfsによるサーバマウント
    # ———————–
    # FOCUSの例
    #

    HostName ssh.j-focus.jp
    User ****0001

    #マウントするホスト側のdir
    # #/home1/<グループ名>/<ユーザ名>
    HostDir /home1/****/****0001

    #local側のマウントする場所
    #(TreeFoam側で設定する)
    MountPoint
    #
    # sshによるサーバlogin
    # ——————-
    # FOCUSの例
    #

    #サーバlogin
    login
    ssh ff01Focus #logon先(~/.ssh/configで定義)

    #login後の環境設定
    # サーバ側に「setEnviron」ファイルを作成する。
    setEnviron
    . ~/OF230terminal     #OpenFOAMの環境設定
    cd ~                                #currentDirectoryを設定(TreeFoamが書き換える)

    青字部分は、FOCUSへログイン出来るようになったら、各自の必要な環境に応じて書き換える。(通常は指定したファイルOF230tweminalは存在せず、何も組み込まれない)

  • ホームディレクトリ直下の.ssh フォルダを作成し、用意した秘密鍵(id_rsa)を収納。以下のconfigファイルも収納しておく。

Host FocusLogin
User ****0001
Hostname ssh.j-focus.jp
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60

Host ff01Focus
HostName ff
User ****0001
ProxyCommand ssh FocusLogin -W %h:%p
ServerAliveInterval 60

  • 上記ファイルのパーミッションに注意。必要に応じて変更(下図参照)。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_372

  • keyringに秘密鍵パスワードを登録する為、seahorseを起動する(以下はDEXCS2015 linux mint17のGUI操作イメージ)


%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_373


%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_374

+ボタンを押すと、以下のメニューが現れる

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_375

Secure Shell Key を選択

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_376

名前は何でも良い

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_377

ここで入力するパスワードは何でも良いが、もう一度聞かれるので間違いなく入力すること。またちゃんと記憶しておくこと。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_378

FOCUSのサーバーアドレスとログイン名を入力

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_379

ここで入力するパスワードは秘密鍵を作成する際に使用したパスワード

 

  • とりあえず、コマンドラインにて、FOCUSへログイン出来る事を確認。

custom@custom ~ $ ssh ff01Focus

と入力してみる

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_387

上記ダイヤログが現れるので、ここで最初に入力したパスワードを入力すれば・・・

The authenticity of host ‘ff (<no hostip for proxy command>)’ can’t be established.
RSA key fingerprint is 6c:09:02:57:8f:4b:03:17:00:0a:dd:9f:39:d4:33:45.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘ff’ (RSA) to the list of known hosts.
Last login: Tue Sep 20 17:22:57 2016 from ***.***.4.11
[****0001@ff01 ~]$exit
logout
Connection to ff closed.
custom@custom ~ $

となってFOCUSのフロントエンドサーバーに、「秘密鍵のパスワードを入力しないで」接続できた! ということです。

  • これにて本記事冒頭のTreeFoamでFOCUSサーバーをマウント/アンマウント出来るようになる。但しログインシェル起動は、このままでは単にFOCUSのフロントエンドサーバーに接続できるというだけで、冒頭のような使い勝手を実現するには、以下のFOCUSサイドでの環境設定が必要。

 

設定(FOCUS)

  • TreeFoam上で、FOCUSサーバーのマウントポイント(focusServer)をダブルクリックすると、ファイルマネージャが立ち上がり、以下のように表示される。但しフォルダーの名前はあくまで筆者の環境であり、ユーザー毎に異なっているのは当然ですが、setEnviron という見慣れないファイルが存在しているはずです。
    %e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_389
  • このsetEnvironをダブルクリックしてテキストエディタで調べると、

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_390

となっており、これは設定(ローカルマシン)の最初に説明した.TreeFoamUser/data/sshfs_data の最下2行で定義された内容(最下行はログインシェルが起動されたフォルダ名に変更されている)になっており、TreeFoamが作成したものです。

  • ここでたとえば、以下のような内容

#!/bin/bash
# OpenFOAM terminal
#

module load gnu/openmpi165
unset FOAM_INST_DIR
source /home1/share/openfoam/2.3.0/gnu/openmpi/OpenFOAM-2.3.0/etc/bashrc

. $WM_PROJECT_DIR/bin/tools/RunFunctions

echo “set OpenFOAM-2.3.0 environment.”

OF230terminalというファイルを作成し、ホームフォルダ直下に収納しておけば、OpenFOAMの2.3.0の環境が組み込まれることになる。OpenFOAMの用途(ヴァージョン)に応じて、この内容を書き換えるなり、別のファイルを使いたい場合は、.TreeFoamUser/data/sshfs_data の下から2行目を変更する、

  • 但し、このsetEnviron ファイルが自動作成出来たとしても、このままではこの環境は組み込まれない。組み込む為にはもう一工夫必要で、たとえば。.bash_profile ファイル中の最下行に、以下のように記述しておくのが一案です。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_391

 

  • これにて、TreeFoam上のwork/testにて右クリック⇒ポップアップメニューからログインシェルを起動すれば、以下のような端末が現れるようになる。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_392

プラスアルファ

以上で基本的な設定は完了ですが、このままだとFOCUS上のファイル構造をツリー展開するのに、結構な待ち時間が生じてしまってイライラさせられます。実はこれに対する対策もすでに実現済みですが、TreeFoam本体の改良が必要で、その更新正式版が出来たら・・・ということで。

最後に

本記事の冒頭あたりに記したように、手順を間違えたりすると、keyringがうまく動いてくれない事がよくあって手こずりました。その際に参考になるかもしれない情報を以下に掲載しておきます。

  • keyringがうまく動かない場合、TreeFoamを起動した際の小さな端末上で、秘密鍵のパスワード入力待ち状態だったりします。%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_393

この場合は、その端末上でパスワードを入力してやれば、とりあえずマウントしたりすることは出来るようになります。

  • 上記方法にて、FOCUSへログイン出来ておれば、seahorseの設定を再度やり直してうまく動くようになる場合もありました。ローカルマシンの.sshフォルダは以下のようなファイル構成になっているはずですが、known_hosts を削除してやり直すとうまく動くようになる場合もありました。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_394

  • 近日公開予定のDEXCS2016(Linux mint 18)では、seahorseの起動メニューが異なる

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_367

ばかりでなく、デフォルトでkeyring そのものを自動起動させる一手間も必要でした(DEXCS2016では組み込み済です)。

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_396

%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_397%e7%af%84%e5%9b%b2%e3%82%92%e9%81%b8%e6%8a%9e_398

OpenFOAM全チュートリアルのAllrunやってみた第9弾 OpenFOAM-v-3.0+

チュートリアルの数も大きく増えて、とうとう1ヶ月では計算できない規模になってきました。

範囲を選択_560

当初、ソースコードのコンパイル版で実施しましたが、ライブラリーの欠損があり、実行できないケースがいくつかありました。

しかし、これを岐阜の勉強会にて報告したところ、バイナリ(docker)版では問題ないとの情報を得て、該当ケースについてのみ、docker版で計算してあります。

今回のトピックス的なチュートリアルとして、heattransfer/chtMultiRegionFoam/windshieldCondensation と、windshieldDefrostがあり、特に後者の計算時間は

ExecutionTime = 1481580.2 s

ClockTime = 1484746 s (17.2 days)

という、これまでの最長記録を大幅に更新しています。これについてのまとめも、OpenFOAMチュートリアルドキュメント作成プロジェクトのほうで公開していますので、ご参考まで。

 

tutorials/Allrun バックナンバーはこちら

DEXCS2015 for OpenFOAM(R) でSalome-Meca

先日(4/9)岐阜のオープンCAE勉強会にて、質問がありました。表題の環境にて、Salome-Mecaをインストール出来たものの、ジョブのSubmissionに失敗するとの事でした。

そこで、昨日のオープンCAE勉強会@広島にて、Salome-Mecaの講習会があったので、その場にてこの現象を確認、併せて以下の方法にて対処できることが判ったので、ここに記しておきます。

メニューで、Aster – Current study case – Edit を選択(下図、赤矢印部分)。

2016-04-17_0711

または、Asterモジュールを選択して、右クリックメニューからEditを選択(下図、赤矢印部分)

2016-04-17_0713そうすると、以下のパネルが現れる。
2016-04-17_0639

赤矢印部分、Interactive follow up のチェックマークを外す。⇒OKボタンを押す。

以上で、ちゃんと動くようになるはず。お試しあれ。

mixingElbow

先日(2016/3/11)のオープンCAE地方(長野)講習会での演習アイテムの一つに表題モデルの作成方法がありました。

このモデルは、OpenFOAMでは著名なサイトに紹介されているもので、FreeCADでの3Dモデル作成方法についても公開されていますが、講習で使用したDEXCS2015 for OpenFOAM®に搭載したFreeCADでは使えない機能があったので、講習会では代替方法を説明しました。

その後、DEXCSユーザーさんで困っている人がいるかもしれないかと思い、この演習部分だけですが要領を取り纏め公開しました。 ⇒ slideshare資料

ただ、その後の更なる調査によって、上述の問題はFreeCADの本質的なバグではなく、設定上の問題である事も判ってきたので、ここに対処方法を記しておきます。

設定の問題

メニューの「編集」⇒「設定」⇒標準(出力ウィンドウ)にて、

設定_494

上図、赤の矢印で示した部分にチェックマークを入れて、最下段「OK」した後、FreeCADを終了。再立ち上げすると問題は生じなくなります。

 



 

ひとりごと・・・

Python出力のレポートビューへのリダイレクトの有無によって、何で挙動が変化するのか意味不明・・・というか、やっぱバグじゃない? という気もするが、結果オーライということで。

上記の設定で対処できるとなったら、slideshare資料の公開は意味あるのかなぁ?・・・という感はありましたが、3D-CADの作成方法は必ずしもいつもベストの方法があるという訳ではないので「こういうやり方もある」の一例として公開する事としました。