マルチブートUSBを使ってみよう

来週(12/7)実施予定のオープンCAEシンポジウム2017の講習会ではマルチブートUSBを使ってみようと、準備がほぼ完了しました。



Linuxマシンの場合、これまで外部モニタ(プロジェクタ)出力が困難だったんですが、DEXCSも2017(Linux Mint 18 / ubuntu 16.04)になって、出来そうになってきた(少なくとも何年か前に景品で貰ったモバイルプロジェクターでOKな)ので、自分が担当する講習(OpenFOAM中級:OpenFOAMに使用するメッシュ生成法)を、このUSBを使ってやってみようかと考えております。

USBブートは基本的にはライブモード(ユーザー名:custom)で使用することになります。通常のライブモードだと、電源オフとともに、それまでの作業履歴が完全に消滅しますが、このUSBの空き領域は、記憶領域として使用可能なので、ここで作業すれば、万一システムがオーバーロード等にてフリーズしても、リセットしてフリーズ前の状態からの再開も可能になる訳です。以下は、TreeFoamでの作業場所(rootDir)設定手順。但し、この手順はUSBブート専用にカスタマイズ可能かもしれませんが、今の所、起動の都度必要な作業になります。

お客さんの所に行った時に、お客さんのパソコンで動かして、気に入って貰えればそのままお客さんに使って貰っても良いということにもなります。

講習会の当日、また講習を受講できなかった人向けに実費販売あるかもしれませんので、興味のある方はシンポジウム事務局【symposium2017@opencae.or.jp】またはオープンCAE学会事務局【office@opencae.or.jp】 (大文字@を小文字@に置換してください)にお問い合わせ下さい。

ちなみに今回作成したUSBは、16GB容量を使っており、isoイメージが2つ、講習会の全資料とケースファイル等一式が収納され、空き容量としては約8GBあります。

作成方法

約2年前の記事中の、Easy2BOOTで作成しております。現在は当時に比べてヴァージョンが上がっておりますが、基本的な使い方は同じでもあり、インストール不要のもっと簡単な使い方も出来るようになっています。

 

つまり、ダウンロードサイトから(1)入手した実行ファイルを(2)実行して、(3)ドライブと(4)言語を確認(5)ボタンを押すだけ。フォーマット方法や起動画面等オプションを変更したい場合は(5’)ボタン。

 

FreeCAD FEM ワークベンチ、その後

約1年半前の記事では、パンテオン神殿の構造解析問題が、5年半前の記事に比べて随分楽チンに出来るようになったと紹介しました。ただその時までのメッシュは1次テトラ要素だったのが、今回は2次要素でも出来るようになったというレポートです。

フルオートの自動メッシュは随分大胆な粗密配分をしてくれて、メッシュ数が大幅に低減できています。その為、計算時間も数分というオーダーで終わってくれます。また今回は自重解析も可能になっています。

但しここで使用しているFreeCADは正式公開版(v0.16、DEXCS2017 for OpenFOAMに搭載されているもの)でなく、日々更新されているDaily版(0.17-12549)です。

1年半前と比べてFreeCADのヴァージョンが異なっているのは当然として、さらに大きく異なっているのはメッシャーです。従来はNetgenが標準メッシュツールとして採用されていましたが、最近はGmshしか使えないようになっています(Netgenを起動するボタンはありますが、下記ダイヤログにて使用できない)。

しかもGmshのヴァージョンにも依存して挙動が異なるので注意が必要です。

DEXCS2017 for OpenFOAM のベースOSはLinuxMint18(ubuntu16.04相当)なので、Gmshは標準(apt-get とか、synapticパッケージマネージャで)インストール可能ですが、これでインストールされるのは v-2.10.1です。これを使うのであれば、上述の結果となって、ある意味問題はないのですが、、、

FreeCAD⇒Gmshでメッシュ作成する場合、ボタンを押すと、下図のようなダイヤログが現れます。

Applyボタンを押せば、メッシュ作成が始まって、完成したらOKボタンを押すだけという、実用面では何とも簡単で有り難い作りになっています。これで、大抵のものはメッシュが切れてしまえそうです。場合によっては、メッシュの最大・最小サイズを規定すれば、それなりに作ってくれる。

このメッシュは1次要素なのか2次要素なのか?

別途調べた所、確かに2次要素であったので、実用面では問題ないかもしれないが、教育面ではせめて1次要素と2次要素での違いくらいは見れるようにしておきたい。 しかし、それだけの事が出来ないのを何としたものか。

Gmshを単独で使用してメッシュ作成すれば、1次・2次要素だけでなく、3次要素も出来る。しかも少し前にツイッターにて紹介したチュートリアル

で見たように、工夫すれば六面体要素も作成できる事が判ったのですが、残念ながらGmsh-2.10.1で作成したメッシュをFreeCADに戻すのに(メッシュ変換ツールを駆使すれば可能性はあるとは思うが)簡単な方法がないことが判明。

Gmshの進化点と問題

件のチュートリアルで使用しているGmshは最新のもの(Gmsh-3.0.5)のようで、こちらを使えばちゃんとunvファイルにエクスポートが出来て、そのままFreeCADにインポートし、解析(Calcuilixでの計算)が出来る事も判った。

Gmsh最新版は、GmshのHPからダウンロードできて、linux版を解凍すれば、DEXCS2017ではそのまま問題なく動いてくれる。

但し、こちらを使うと、今度はこのPanteon神殿の問題でFreeCADから起動した時のデフォルト設定ではメッシュ作成エラーが生じてしまうという新たな問題が発生。

しかしGmsh単独で起動して、メッシュ作成時のオプションを以下のよう(デフォルトでは①にチェックマークが付いているが、これを外すか、②にチェックマークを付ける)に変更すればエラーのないメッシュを作成できる事までは確認できたので、これなら教育的利用面でも使えそうな感触が出てきました。

Gmsh-2.10.1と比べて、メッシュの違いは明白で、応じて計算結果も異なっております。

残された課題

本パンテオンの例では無理としても、二次元メッシュを押し出す方法であれば、件のチュートリアルで判明した方法で六面体メッシュを作成しインポートできるのですが、現時点で最大の問題は、六面体の高次要素(C3D20)の場合、Caliculix用計算データに変換する際に1次要素としてしか変換出来ていない点です。

FEM Callculixのページによれば、そもそもまだ対応出来ていないようにも読み取れるのですが、FEM Mesh のページによれば対応出来ているようにも読み取れる。いずれにせよ、出来ていない原因と対策をFreeCAD FEM のフォーラム記事を読みながら調査中です。ご存知の方あればお知らせ下さい。

 

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

不具合情報

 



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

最終更新は、2017/10/22

 

 


FreeCADマクロ⇒STLファイル出力不能

FreeCADのFEMモジュール起動出来ない

対処法

構築した(仮想)マシンがインターネット接続環境にある場合

Synapticパッケージマネージャ

又は、

sudo apt-get install netgen

にて、netgenをインストールして下さい

構築した(仮想)マシンでインターネット接続出来ない場合

DEXCSダウンロードサイトより最新版(MD5:b5f7b90a410b6e018929fffc1d66c30e)を入手して下さい。

(参考)旧版(MD5:a8d51b7b845908790bc3af82c94dd7a9)

MD5ハッシュ値を求める方法

Linuxの場合

md5sum DEXCS2017OFv1706.iso

Windowsの場合

certutil -hashfile DEXCS2017OFv1706.iso -md5

 




構築したマシンにssh接続できない

以下、構築したマシンのipアドレスが172.16.144.147、ユーザー名dexcsでアクセスする例

クライアントのマシンから、

$ ssh -l dexcs 172.16.144.147
Connection reset by 172.16.144.147 port 22

となってしまい、接続できない。こういう場合、-vv オプションを付けると、デバッグモードになるらしい。

$ ssh -l dexcs 172.16.144.147 -vv
OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/et/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving “172.16.144.147” port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 172.16.144.147 [172.16.144.147] port 22.
debug1: Connection established.
debug1: identity file /home/et/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/et/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 172.16.144.147:22 as ‘dexcs’
debug1: SSH2_MSG_KEXINIT sent
Connection reset by 172.16.144.147 port 22

通常は。

debug1: SSH2_MSG_KEXINIT sent

の後に

debug1: SSH2_MSG_KEXINIT received

となるはずだが、これが帰って来ないということのようだ。これでググルと、

https://stackoverflow.com/questions/2419412/ssh-connection-stop-at-debug1-ssh2-msg-kexinit-sent

の記事にたどりつく。

構築したマシンにて、

dpkg-reconfigure openssh-server

をやりなさい、ということのようです。

$ sudo dpkg-reconfigure openssh-server
Creating SSH2 RSA key; this may take some time …
2048 SHA256:9ngrCIuicrYqhLnNqB2CIErWGpIcVGte9COHfjGi/94 root@dexcs2017Test-virtual-machine (RSA)
Creating SSH2 DSA key; this may take some time …
1024 SHA256:+bA0gbMH+52mBRoeBjiC+iK2iTZZzX2jR3dU1peJ9zc root@dexcs2017Test-virtual-machine (DSA)
Creating SSH2 ECDSA key; this may take some time …
256 SHA256:j70HhP/khIf7tb++fA62y82BZcKuFwteBG9JXBFva/U root@dexcs2017Test-virtual-machine (ECDSA)
Creating SSH2 ED25519 key; this may take some time …
256 SHA256:tHMi8LUQ9skVE+dQm58YS5c5a3jUBq0nTH75u2lVtsg root@dexcs2017Test-virtual-machine (ED25519)

これで、再度クライアントから、

$ ssh -l dexcs 172.16.144.147
The authenticity of host ‘172.16.144.147 (172.16.144.147)’ can’t be established.
ECDSA key fingerprint is SHA256:j70HhP/khIf7tb++fA62y82BZcKuFwteBG9JXBFva/U.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘172.16.144.147’ (ECDSA) to the list of known hosts.
Received disconnect from 172.16.144.147 port 22:2: Too many authentication failures
Connection to 172.16.144.147 closed by remote host.
Connection to 172.16.144.147 closed.

ということで、少し前進。このメッセージはお馴染みのもので、てっとり早くやるには、.ssh/configna中に以下のように記述してやれば良い。

Host vmTemp
HostName 172.16.144.147
User dexcs
  IdentitiesOnly yes

これにて、

$ ssh -l dexcs vmTemp
dexcs@172.16.144.147’s password:
Welcome to Linux Mint 18 Sarah (GNU/Linux 4.4.0-21-generic x86_64)

* Documentation: https://www.linuxmint.com

となって、めでたしめでたし・・・

 


DEXCSランチャー:Select Platformで「No」ボタンを押してもTreeFoamが起動しない

DEXCSランチャーにて解析フォルダを新規作成または既存フォルダを選択した後に現れる下図のダイヤログ画面で、

「No」ボタンを押してもダイヤログ画面が消えるだけで何の変化もない(TreeFoam」が起動しない場合には、DEXCSランチャーが起動した時に同時に開いた「端末」画面において、以下のエラーメッセージ有無を確認下さい(朱字部分は使用しているユーザー名)。

Traceback (most recent call last):
File “/opt/DEXCS/launcherOpen/dexcs.py”, line 670, in eventMenu102
self.selectPlatform()
File “/opt/DEXCS/launcherOpen/dexcs.py”, line 497, in selectPlatform
self.configTreeFoam(self.workDir)
File “/opt/DEXCS/launcherOpen/dexcs.py”, line 1587, in configTreeFoam
f = open(configTreeFoamFile)
IOError: [Errno 2] No such file or directory: ‘/home/custom/.TreeFoamUser/configTreeFoam’

.TreeFoamUser/configTreeFoamが存在しないという事で、これはTreeFoamが一度も起動された事がない場合にそうなります。この場合は、一度TreeFoamを起動して、そのまま終了させて下さい。

⇒再度、先に指定したフォルダを解析フォルダに設定し直してSelectPlatform⇒「No]を選択すれば、DEXCSランチャー画面は消えて、選択したフォルダを解析フォルダとして設定した状態のTreeFoamが起動します。


OSアップデートについて

リリースノートに記してありますが、

OSアップデートはしておりません。後述のWinkチュートリアルがFireFoxでの表示に不具合が生じる為。

FireFoxを除いてアップデートすると問題なく動くことは確認出来ています。

但しアップデートの途中で、 ’/etc/compizconfig/config’ と ’/etc/gnome/defaults.list’ について置換するかどうかのダイヤログが出てきますが、ここはいずれも「保持」としています。置換するとどうなるかは未確認。


FOCUSへの自動ログインに時間がかかりすぎる

リモートサーバをマウントする方法について記したやり方で、自動ログインは出来るけど応答に時間がかかりすぎる。長い短いは主観の問題もあるが具体的には1分以上かかってしまう場合があり、これではちょっと使えない。どうも環境依存があるようで、これまでに判った事を記しておきます。

FOCUSでは、ログインサーバーを経由してフロントエンドサーバーにログインする必要があり、その際下記のような多段アクセスする方法を用いているんだが、これを使うと応答が長くなる場合があるということ。

ProxyCommand ssh FocusLogin -W %h:%p

名大スパコンや秘密鍵を使わない通常のパスワード認証では問題ないはず。

今のところ、不具合の起きる環境は、

Window10マシン上のVmplayer上で動作する仮想マシン

VirttualBoxでは問題なし。Linux上のVmplayerでも問題なしです。Windows8以前は未確認。

 

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

ダウンロードはこちら(2017/10/6よりOK)

不具合・更新情報



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

 

詳しくはこちら

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

DEXCS2017では、

  • ベースOSはLinux Mint 18 Xfce (LTS)
    • Mint 18 も Cinnamon⇒MATE⇒Xfce と試行の結果、これ(Xfce)が最も相性良さそうでした。
    • OSアップデートはしておりません。後述のWinkチュートリアルがFireFoxでの表示に不具合が生じる為。

OSアップデートを普通に実施すると、Winkチュートリアルを参照できなくなります。多分、FireFoxのアップデートを除外すれば大丈夫だとは思いますが確認していません。なお、Winkチュートリアルを参照できなくなった場合にも、Web版では参照可能です。

セキュリティの観点から、OSアップデートはした方が良いと思いますが、上記を読んで自己責任で実施して下さい。

  • OpenFOAMやその他の組み込みツールのヴァージョンアップに対応
    • OpenFOAM-v1706
    • cfMesh v1.1.2

(但し、cfMeshはOpenFOAM-4.x上で動作します。リリース時点で、cfMeshをOpenFOAM-v1706上でコンパイル出来なかった為)

    • pyFoam は、OpenFOAM-v1706への対応はアナウンスされておりません。DEXCSランチャーやTreeFoamで使っている機能(pyFoamPlotWatcher.pyやFoamCleaCase.pyなど)についてのみ動作確認しており、その他の機能については動作未確認です。
  • DEXCS2011から搭載するようになった中級者向けツール(TreeFoam)の機能強化を図りました。
    • FOCUSスパコン以外のサーバーでの作業もチャチャッと出来るようになりました。但し、個別のユーザー毎のカスタマイズは必要で、設定方法はこちら左記リンクは旧ヴァージョン用で本ヴァージョン用は工事中)を参照下さい。
  • FreeCADマクロ(cfMesh用簡単設定ツール)を、より使い易くしました。2016年6月のオープンCAE学会総会付帯講習会にてお披露目したものです。
  • DEXCS2016より収録を再開したHELYX-OSですが、snappyHexMeshメッシュ作成、ソルバーではsimpleFoamが動作することは確認できています。
  • swak4Foam とDAKOTA(最適化ツール)の搭載は見送りました。
    • swak4FoamはOpenFOAM-v1706上でコンパイル出来なかったことが主原因ですが、よく使っていた機能の多くがOpenFOAM本体にて実現できるようになってきたという理由もあります。
    • DAKOTAは、先の記事に示した通り同梱も可能でしたが、GUIの使い方に十分な知識が必要になるので、不特定多数への配布は困難と考えました。DAKOTA有識者は、先の記事を参考に自身でインストールして使ってみて下さい。
  • なお、DEXCS2012までは、32/64bit版がありましたが、DEXCS2013からは、64bit版のみです。
  • DEXCSランチャー等を含むDEXCSフォルダを、従来デスクトップ上に配置していたものを、本ヴァージョンより、/opt/下に変更しました(パッケージ化を狙ってますが、まだ出来ていません)。

 

インストールと利用法

詳しくはこちら(日本語と英語の切り替え方法も含む)


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

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

同梱プログラム

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

    • DEXCSランチャーのヘルプメニューを参照下さい。
      • 本当に初めて使う人は、「ランチャーの使い方」-「まずは使ってみる」(本記事、冒頭の約10分間アニメーション)をご覧下さい。
      • 「ランチャーの使い方」-「形状作成」にて、FreeCADの使い方を概略説明しています。
      • 「ランチャーの使い方」-「メッシュ」にて、FreeCADマクロで起動される表形式のGUIの使い方と、cfMesh作成に必要なパラメタの概要を説明しています。
      • 「ランチャーの使い方」-「計算実行」「結果処理」を理解できるようになると、OpenFOAMの基本的なファイル構造を理解できたことにもなります。
      • 以上は動画チュートリアルになっていますが、「フラッシュプレーヤー」を変更して参照することを強くお勧めします。変更方法は、最下段の「フラッシュプレーヤーの変更方法」をご覧ください。
    • Blender⇒SwiftツールをDEXCSランチャーから使用することはなくなりましたが、ツールそのものは使用可能で、メッシュ作成用のテンプレートフォルダもBlenderモデルと併せて同梱してあります(/opt/DEXCS/template/swift_dexcsMesh)。
    • Swiftツール使用法の詳細を知りたい方はDEXCS2013のリリースノートをご覧ください。
    • SLURMというリソースマネージャもインストールしてあり、サブミット用のサンプルスクリプトを含んだケースファイルも同梱してあります(/opt/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のヘルプメニューから、「使い方」を参照して下さい。
    • TreeFoamに関する情報は、DEXCS公式HPの AboutTreeFoamの記事にまとめてあります。
    • DEXCS2017に搭載の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

 

DakotaUI (GUI?) 版について

昨日(7/15)のオープンCAE勉強会@関西にて発表した資料です。総枚数130という大作ですが、結論としては、、、

  • DEXCS(というかubuntu系Linux)上でDakotaUIを動かすにはソースコンパイル+アルファが必要でしたが、なんとかなりました。
  • DakotaUIとは、
    • コマンドライン起動できるようにしたSimulationモデルに対して、その入出力パラメタとDakotaエンジンとの接続を、ウイザードGUIで容易化してくれるものであった(****FRONTIERのようなブロック接続ではない)。
    • 探索結果一覧表の自動作成やグラフ化機能があり、それなりに使えそう。
  • UI版での動作にはいくつか問題があり、これらを回避する為の手間は増えるが実用は可能(?)。
    • DakotaStudy変数切り出しカラム設定において、Linux版では入力ファイル形式を( window形式)とし、保存時には(Linux形式)にする必要がある(Windows版では変換の必要無し)。
    • DajotaStudyファイル中、

      Interface / copy_file

      にディレクトリ識別子(/)が存在すると、プロジェクトの再ロードが出来なかったり、他項目のGUI編集が出来なくなる(Linux / Windows版共通)。

    • 他にもありそう・・・

ということで、次期DEXCS2017に搭載するかどうかの判断は微妙な状況です。

なお、本資料中で使用しているdakota-openfoam連携計算サンプルファイルを右のダウンロードコーナー(Latest Downloads)よりDL出来るようにしておきましたので、興味のある方は自身で体験していただき、上記判断に対するコメントなり、現時点で見つかっている上記問題点に対する改善策なり、新たな問題発見なりをレポートしていただければありがたいです。

また、インストールが面倒、、、でも試してみたいという方には。インストール済のDEXCS特別版も配布しますので、申し付けください。