DEXCS for OpenFOAM(R) on VirtualBox その1

これまでDEXCS for OpenFOAM(R) を仮想マシンで使う場合には、自身は主にVMwarePlayerを利用してきており、ユーザーの皆さんにも推奨してきていました。しかしここ最近、勉強会などで持参のノートパソコンでデモする際に、あまりの操作性の悪さに、ノートパソコンではVMwarePlayerをやめて、VirtualBoxを利用することに変更しました。
とはいうものの、その移行というか、問題が解決されるまでの経緯は簡単ではかったので、ここに備忘録として取りまとめておくこととしました。

 

何が問題であったのか

自分のノートパソコン(OSはWin8.1)は、13インチのディスプレイながら、1920×1080という高解像度で、老眼には虫メガネでも併用しないことにはちと辛い。ベースOSのWin8.1は画面解像度を変更して使用することができるのだが、仮想マシンの解像度とベースOSの解像度が一致しない。

つまり、フル解像度(1920×1080)でたとえば以下のような画面構成になったとして、
2014-08-12_1117

普通にベース解像度を落とす(1280x720)と下のような表示になってしまいます。

2014-08-12_1115

ちなみに、ベース(パソコン本体)の解像度は以下の画面で、

2014-08-12_1842

仮想マシンは以下の画面で、解像度を設定しています。

2014-08-12_2223

 

上の例ではベース解像度を落としたので、仮想マシンの(解像度は変えていないので)画面のサイズが大きくなってくれることを期待するのに、変わってくれないのです。おまけに、特にParaViewのマウス操作が異常にやりにくくなってしまい、散々な目にあいました(勉強会の聴衆の皆さんにはご迷惑をおかけしましたm(_ _;)m)。

ここで「普通に」と書いたところがミソで、実は後になってわかった事で、デフォルトでない方法(本記事末尾に記しておきます)でやればちゃんと期待通りの画面にすることが出来たのですが、その時点では判らなかったので、以下の展開になったという次第です。

VirtuaBoxはスケールモードで使う

それなら試しにVirtuaBoxでやってみようかとなり、やってみたら、VirtualBoxには「スケールモード」というウィンドウの表示方法があって、これを使うとベース解像度を変更することなく、仮想マシンの画面を拡大したり縮小したりすることができたのです。

つまり、普通(デフォルト)の表示では以下のようになりますが、

2014-08-12_1841

「ビュー」のメニューで、「スケールモードに切り換える」を選択すると、仮想マシンの画面を拡大したり、

2014-08-12_1840

縮小したり、

2014-08-12_1847

が自在に出来るということです。

ちなみに、VMwarePlayerだと、画面のピクセルサイズそのものが変わってしまい、これはこれでデスクトップ作業では有効なのですが、プロジェクターを使ってプレゼンする場合とか、老眼には易しくない高解像ノートパソコンでの作業には、このスケールモードの方が有り難いですね。

という訳で、今後ノートパソコンで使う場合には、VirtualBoxを使っていこうと思ったのですが、たとえば、上のスケールモードにしてしまうと、VirtualBoxのメニューが見えなくなってしまうので、これ(メニュー)を使いたくなった時にどうやって戻すのか、その方法を探すのも簡単ではなかったという点。

また、DEXCS for OpenFOAM(R)はもともとVMwarePlayer上の仮想マシンで作成しているので、最初から VMwareToolsがインストール済。なのでVMwarePlayerで使う分には親和性が良いというか、画面のリサイズやベースマシンとの間のファイルコピーが、ユーザーは何もしないでも最初から使えるようになっていますが、VirtualBox上ではそうもいかないので、あれこれ設定が必要(注記1)であるという点、などなどを次稿「その2」で掲載予定です。

(注記1)VMwarePlayerのVMwareToolsに相当するツールとして、VirtualBox では Guest Additions がありますが、これを入れる必要があるということです。但し。DEXCS2013 では、ベースOSがLinux Mint であったことが原因か、何故か最初から入っていた様で、これまでそこを意識せずに済んでいました。ところが、現在開発中のDEXCS2014ではベースOSをubuntuに戻したところ、これが入っていないことがわかったので、少々苦労したという事です。 

解像度変更のまっとうなやり方

2014-08-12_2208

上の赤枠部分をクリックすると、以下の画面に変わります。

2014-08-12_2210

ここで、赤の矢印で示す部分のチェックマークです。私のノートパソコンのデフォルトは外されておりました。これが諸悪の根源!

DEXCS2013 for OpenFOAM(R) にOpenFOAM-2.3.0をインストールする方法

先日の富山の勉強会のオフタイムにて、表題の質問をいただいたので、ここにその方法を記しておきます。

 

ポイントはlibcgal-dev

DEXCSの場合、ベースOSはlinux-Mint13ですが、ubuntu-12.04の派生版なので、たとえばOpenFOAMのソースDownloadのページに記してある、System Requirements中の、Dependent packages required for Ubuntuの部分を事前にインストールしておく必要があるとなります。

ただ、これらはすでにDEXCS2013の中でインストール済のものがほとんどです。唯一、libgcal-dev が新規に必要になります。そこで、

$ sudo apt-get install libcgal-dev

なり、パッケージマネージャ

ワークスペース 1_130範囲を選択_129

を使って、libcgal-dev さえインストールできれば、あとはソースパックなり、gitレポジトリなりからソースを入手してコンパイル(Allwmake)すればインストール出来るはずです。

 

ネットワークインストールが出来ない場合

問題は、会社で使用している仮想マシンなどでインターネット接続できない場合です。ベースマシンそのものはWindowsマシンなりでインターネットに接続できても、Windows上に構築した仮想マシンからはインターネットに接続できないというセキュリティパッチが加えられていたり、またネイティブのLinuxマシンとして使用していても、ネットワークから切り離したマシンでしか使用できないというユーザーもお見えになるようです。

こういう場合、上に記した、apt-get が実行出来ないからです。そういう場合は必要なパッケージを、ベースマシンなり他のマシンで入手して、それをインストールしたいマシンへコピー(またはファイル共有)する方法でやりましょう。今回の、libgcal-devに限らず、これ以外のパッケージでも、基本的に同じやり方で出来ると思います。

devパッケージを入手するには

先にも記しましたが、DEXCSの場合、ベースOSはubuntu-12.04なので、Ubuntu パッケージ検索のページで探すのが一番楽チンのようです。中段あたりに、パッケージ名を記入(この場合、libcgal-dev)し、Distrubutionは、preciseとして、検索ボタンを押します。

範囲を選択_127

そうすると、以下のページhttp://packages.ubuntu.com/search?keywords=libcgal-dev&searchon=names&suite=precise&section=all

範囲を選択_126

から、http://packages.ubuntu.com/precise/libcgal-devにたどりつき、

範囲を選択_125

と出てくるので、アーキテクチャamd64をクリックすれば、ダウンロードサイトのリスト

http://packages.ubuntu.com/precise/amd64/libgcal-dev/download

が出てくるので、適当なサイトをクリックしてダウンロード。

ダウンロードしたパッケージファイル(libcgal-dev_3.9-1build1_amd64.deb)

範囲を選択_123 をDECXCをインストールした(仮想)マシンにコピーし、ダブルクリックしてインストールします。 そうすると、、、

範囲を選択_124

上のようなエラーが出て、

 libcgal8 (= 3.9-1build1)

が必要だとなります。しかし、これは先に述べたページの依存関係リスト

範囲を選択_128

にちゃんと掲載されていたものなので、次はそこからリンクをたどって入手可能となります。

そこで入手したパッケージをインストールしようとすると、今度は、

 libboost-dev

が必要になって、さらに

libboost1.46-dev
libboost-thread-dev
libboost-thread1.46-dev
libboost-date-time1.46-dev (= 1.46.1-7ubuntu3)
libboost-date-time1.46.1 (= 1.46.1-7ubuntu3)
libboost-serialization1.46-dev (= 1.46.1-7ubuntu3)
libboost-program-options-dev
libboost-program-options1.46-dev
libgmp10-dev
libgmpxx4ldbl (= 2:5.0.2+dfsg-2ubuntu1)
libmpfr-dev

 と、芋づる式に必要パッケージをダウンロード、インストールを繰り返すことになります。エラーが出なくなったら、最終的にlibcgal-devがインストールされるという仕組みです。

 

OpenFOAM-2.3.0のバイナリインストール

なお、OpenFOAM本体に関しては、以上見てきたのと同じやり方で、バイナリ(Deb Package)のインストールも可能です。

Deb Package は、Ubuntu Deb Pack Installation のページを参考に、以下より直接ダウンロードします。

これらをインストールしたいDEXCSマシンへコピーして、インストールしようとすると、以下のパッケージが必要だとなるので、上に記したのと同じやり方で、ダウンロード&インストールすれば良い、となります。

csh
libcgal8
libptscotch-5.1
binutils-dev
binutils (= 2.22-6ubuntu1.1)

libcgal-devがまだ未インストールであれば、これもインストールする必要があります。

 

Remastersys から Relinux

DEXCSで、OSを含めたisoイメージを作成するのに、これまでRemastersys を使用してきましたが、とうとう開発を止めるとアナウンスされてしまいました。1年半ほど前に同じような事態になって、その時は自分を含めて多くのユーザーからの要望(少ないながらもDonationさせていただきました)もあって再開してくれたのですが。しかし、今回はどうにもならないみたいです。

さて、困った・・・ということなんですが、調べてみると代替の仕組みもあるもので、ズバリ

What are the Alternatives For RemasterSys?!

なる記事を見つけることができました。

これによれば、表題のRelinuxもしくは、 Ubuntu Builderが使えそうだ、となって早速試してみた結果、Remastersys の後継として、Relinuxを選択したという次第。

ただ、上の参照先記事は情報が古く、インストール方法や使用方法がよくわからないなどあったので、ここに自分がやった方法を記しておきます。

入手とインストール方法

入手先は、https://launchpad.net/relinux

現在はdebパッケージでダウンロードできるので、ダウンロードしたら、ダブルクリックするだけで、インストールが完了し、システムメニューから起動できるようになる。

範囲を選択_414

 

 

範囲を選択_415範囲を選択_408

 

起動失敗

上記メニューから、すんなり起動できるかと思いきや、

splash_light

一瞬画面が出て、すぐ終わってしまう。こういう時は、コンソールで起動してみる。

範囲を選択_416すると、何やらエラーメッセージがたくさん出てきた。

範囲を選択_417

 

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe3

あたりでググってみると・・・たとえば、こんなページが引っ掛かった。

http://tatsushim.blogspot.jp/2011/09/python-unicodedecodeerror-ascii-codec.html

要するに、デフォルトのエンコーディングがasciiなってるらしいのでそれをutf-8に変えれば良いということらしい。

DEXCS(LinuxMint13)の場合、デフォルトのsite.py は、

/usr/lib/python2.7/site.py

になるので、これを変更する。

範囲を選択_418

 

使用方法

起動に成功すれば、後はボタンを順番に押していくだけ。色々とオプションがあるようですが、よくわかりません。

範囲を選択_409

範囲を選択_410

 

 

範囲を選択_411

範囲を選択_413

作成が完了すると、/home/relinux/ の下にisoイメージファイルと、md5チェックサムファイルが出来ているはずです。

範囲を選択_419

 

作成所要時間は数10分といったところでしょうか。Remastersysの場合とほとんど変わりません。

ライブDVDの起動

作成したisoイメージを使ってライブDVDを起動した際の起動画面は以下のようになります。

範囲を選択_420DEXCS2013 for OpenFOAM(R) にて、まもなく公開です。

 

 

 

DEXCSを外付けHDD(USBドライブ)で利用上の注意点

DEXCSはベースOSがLinuxなので、

  1. 専用マシンにインストールして使用
  2. 通常利用のWindowsマシンとは別ドライブにインストールして、起動時に切り替えて使用
  3. 仮想マシンプレーヤー(VMWarePlayerや、VirtualBOXなど)上で使用

といった使用方法があり、これまで2の方法、しかもインストール先を表題のUSBで接続する外付けHDDにインストールすることが一番シンプルだろうと、推奨してきておりました。

ただ、大きな会社だと、セキュリティの問題でUSBドライブを使えないだとかあって、現実にはそういう利用方法に関する実績も多くはなかったようで、これまでその利用方法に関するトラブルは、ブートセレクタに関する問題以外は聞いたことはありませんでした。

しかし、筆者が最近購入したUSBドライブ(アイ・オー・データ機器製、HDPX-UT500)では、うまく起動出来なかったこともあり、必ずしもこの方法を推奨できないとなったので、ここにその注意点を記しておくこととしました。

結論的に、現時点で、上記の機器はLinuxの起動ドライブとしては使用できません。使用するマシンやインストールするLinuxも色々変えて実施してみましたが駄目でした。メーカーサポートにも問い合わせてみましたが、「Linuxに関するサポートはしない」ということでバッサリでした。

これまで、少なくとも筆者の環境ではUSBドライブにインストール出来て、それで起動できなかったということはありませんでした。これが上記の機器に固有の現象なのか、類似の機器で起こりうる現象なのかまでは判っておりませんが。これまではUSBといってもUSB2であったのが、上記機器はUSB3なので、そちらの問題であった可能性も捨て切れません。

以下、あれこれ丸二日間くらいかけての苦心譚ですが、興味のある方、もしくは類似のトラブルでお困りの方に向けてのお話です。

Boot-Repair

インストールしたUSBドライブで起動すると、、、

範囲を選択_054BusyBox v1.18.5 でググると、割と簡単にBoot-Repairというツールにたどり着く。これを使えば良さそうだ、ということで、

ここで、Recommended repair をやったのが大失敗。修復されるのは、USBドライブのブートローダーでなく、起動したパソコン本体のブートローダーであったということです。その事に気づかないまま、これをやってうまく行かなかったので、あれこれやっているうちに、おかげで1台のパソコンは起動不能になり、全再インストールを余儀なくさせられました。

ようやく、この注意点に気づいて、Advanced options を使うなり、あげくの果てに、HDDをすべて取り外したパソコンを用意して、そのパソコンを使って作業するなりやってみたが、結局駄目。状況は少し進展して、ブートセレクタは起動するようになったものの、インストールしたLinuxを起動しようとすると。。。

範囲を選択_055

となって、エラーの原因が特定された(/dev/disk/…以下の、ドライブ情報が存在しない)ということで、進展はあったものの、これ以上先へ進めませんでした。一応、それでも駄目な場合には、ご連絡。。。とあったので、メールは出しておきましたが、どうなることやら。

その他、マシンによっては、

範囲を選択_057

 

というメッセージで起動できない場合があって、このメッセージでググると、これは日本語情報も多く、大抵は

>set prefix=(h0,***)/boot/grub
>insmod (h0,***)/boot/grub/normal.mod

という方法で直せるというものでしたが、

範囲を選択_058というように、/boot/の下に何も存在しないとなって、この方法も使えませんでした。

 

DEXCSのインストールサービス

かようなトラブルにもめげずに、OCSE^2のコンサル事業の1アイテムとして、DEXCS for OpenFOAM(R) の他、お客様ご要望のオープン系ツール(Dakota、Salome-Mecaなど)をインストール済の外付けUSBドライブの販売もやっております。

価格は搭載ツールの内容に応じて要相談ですが、USBドライブの実売価格に数万円〜10万円程度の上乗せでやらせていただきます。ご希望のお客様は申し付け下さい。

 

 

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

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

DEXCS2012では、OSやOpenFOAMのヴァージョンアップに対応、初心者向けのランチャーをより簡単にするとともに、DEXCS2011から搭載するようになった中級者向けツールの機能強化を図りました。

インストールと利用法

詳しくはこちら

  • マシンイメージなので、DVDにイメージ書き込みすれば、DVDから起動してそのまま利用することができます。 (DEXCS初体験の人はこのライブDVDとして「まずは使ってみる」方法をお薦めします。)
  • 起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Player等の仮想環境で起動して、仮想環境を作成することも簡単です。
  • 基本的に、DEXCS2011でやった方法と同じですが、同じやり方が通用しない部分が一部あるので、DEXCS2011の利用経験者はご注意のほど。

同梱プログラム

OSはLinux Mint13

といっても、ベースはUbuntu-12.04なので、アプリケーションのインストール方法などは、ubuntuのそれと全く同じです。違うのはデスクトップのGUI環境だけです。

標準のターミナル、ファイルマネージャ、テキストエディタがubuntuとは異なりますが、DEXCSランチャーやTreeFoamは、ubuntuの標準ツールを使用することを前提に作られているので、ubuntu互換ツールとして起動できるようにしてあります。

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

  • DEXCSランチャーのヘルプメニューを参照下さい。
  • 本当に初めて使う人は、「ランチャーの使い方」-「まずは使ってみる」をご覧下さい。
  • 「ランチャーの使い方」-「形状作成」にて、Swiftツールの使い方を概略説明しています。
  • 「ランチャーの使い方」-「メッシュ」「計算実行」「結果処理」を理解できるようになると、OpenFOAMの基本的なファイル構造を理解できたことにもなります。
  • 以上は動画チュートリアルになっていますが、「フラッシュプレーヤー」を変更して参照することを強くお勧めします。変更方法は、最下段の「フラッシュプレーヤーの変更方法」をご覧ください。
  • Swiftツールのより実践的な使用方法は、以下の講習会資料をご覧ください。
  • JAVA gnuplot GUI の使用方法