DEXCS2016 for OpenFOAM(R) 不具合、更新情報

公開して間もないのですが、早くも不具合情報がいくつか寄せられており、本ページにて対処方法など取り纏めておきます。ここに見当たらない不具合情報があったら、遠慮なくお問い合わせ下さい。本記事に対するコメントで頂けると、記事を書く手間も省けるので、ご協力のほどお願いします。

最終更新は、2016/10/18 5:25

DEXCSランチャーの表示不具合

1

上図にて「DEXCS2015 for OpenFOAM(R) 2015/7」 と表示されている部分、ツール⇒「端末(OF-2.3.x)」と表示されている部分は、単なる表示上の間違いで、内容的には以下のようになっており、また正しくは、

  • 「DEXCS2015 for OpenFOAM(R) 2015/7」⇒「DEXCS2016 for OpenFOAM(R) 2016/8」
  • 「端末(OF-2.3.x)」⇒「端末(OF-4.x)」

と表示されるはずでした。

単に、表示上の不具合で、実害は無いはずです。



【対処方法】

どうしても正しい表示をしたいという方は、

ダウンロードページより更新ファイル(DEXCS2016LauncherFix.zip)をダウンロード)(注:2016/10/17 21:50 以前にダウンロードしたファイルには誤りがあり、うまく更新できなかった方は再度お試し下さい)

解凍すると、dexcs.py , dexcs.mo というファイルが出てくるので、これらを、

  • ~/Desktop/DEXCS/launcherOpen/dexcs.py
  • ~/Desktop/DEXCS/launcherOpen/locale/en_US/LC_MESSAGES/dexcs.mo

に上書き更新して下さい。

TreeFOAM起動時のOpenFOAMヴァージョンチェック

TreeFOAM起動時にOpenFOAMのヴァージョンをチェックしていますが、

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

図中、赤枠部で示したように、

OpenFOAM−xxxx

となって、これは正しく認識出来ていないことを表します。

但し、これは形式上の問題で、OpenFOAM-4.xはちゃんと動きますので、ご安心あれ。

今のところ確認されている唯一の問題は、標準チュートリアルケースを使って新規ケースを作成する場合です。

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

上図ボタンを押して、

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

「case取得」ボタンを押せば、

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

チュートリアルケースの一覧表が現れるはずですが、上図のようにブランク状態です。OpenFOAMの形式的なヴァージョンを認識出来ていないことが原因。

対処方法

は簡単で、

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

「場所を変更する」にチェックマークを入れ、「参照」ボタンを押す。

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

正しいチュートリルケースの場所(上図参照)を選択して「決定」すれば、

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

となって、後は普通に使えるようになります。

二回目以降の起動時には「case取得」ボタンで最初から上図の状態になります。

TreeFOAM英語版の辞書が不完全

ポップアップメニュー表示が、下図の通り。

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

これはTreeFoamで新しく機能追加した部分で、リリースノートにも記してありました。

新規機能追加は現在も進行中で、辞書やマニュアルの更新は、ある程度まとまった段階でリリース、どうしても後手に回ってしまいます。何せ一人だけのボランティア作業でやっているので、ご理解の程お願いします。

 

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

リマスターツールのあれこれ

そろそろDEXCS2016を考えねば・・・なんですが、毎度悩むのはリマスターツールをどうするかっていうことです。

先のオープンCAE2016講習会では、DEXCS2015をベースに、DEXCS2016に搭載予定のDEXCS独自ツール(FreeCADのカスタマイズとマクロツール)を組み込んた特別版を使用しましたが、システム構築においてリマスターの不具合が講習の数日前になって発覚して、システム再構築を余儀なくされ、受講者にも多大なご迷惑をおかけすることとなった。さらに講習本番においてもwinkツールが動かないなど一部不具合が見つかった。

そこで、講習会が終わって、再度リマスターツールの動作検証を始めたというか、本来こうなるはずであったDEXCS2015特別版をつくり直そうと思ったのですが・・・ますます悪化の一途。結論は

blacklabimagerは1回こっきりでないと使えない

リマスターして作ったisoイメージにはリマスターツールも同梱されているので、原理的には孫やひ孫のisoイメージも作成できることになるんですが、孫のisoイメージを作成する際に、何も追加しなかったとしても子供のisoイメージと同一にはなってくれなくて、どんどん巨大化していくようです。今回作成したのは、孫のisoに少しだけツールを追加したものですが、ひ孫のisoイメージでは4GB超!となり、さらにその子供は7GB超!となってしまいました。

 

復活? remastersys

あれこれ探しているうちに、実は、昔使っていたremastersys がこっそりと復活している!という情報を発見

ubuntuのレポジトリリストだったが、mint17(ubuntu14.04)で動作確認OK.オープニングの選択画面の背景イメージは昔のままのものが出てきました!

し、しかし・・・

ようやくリリースされた、mint18(ubuntu16.04)では、

以下のパッケージには満たせない依存関係があります:
remastersys : 依存: xresprobe しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

ひょっとして、mintの問題か?と思い、純正ubuntu 16.04 でも試してみたが、全く同じ症状。 話が違うじゃん!

うーん、と諦めかけていたが、もうひと頑張り。純正ubuntuでも動かないとなれば、きっと情報もあるはずと、Remastaesys does not work に辿り着いた。何気に読んでいくと、まだ1週間ばかり前の書き込みだったが、

 

Pinguy Builder

なるものがあるという。早速インストールしてみたが、問題なくインストールも出来て、isoイメージの作成もこれまでとほとんど同じ。オープニング画面に至っては、ああ懐かしい!remastersysyの前だったかなぁ?

範囲を選択_999(385)

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 バックナンバーはこちら