使いこなさない、使えるCAEのブログ -34ページ目

Calculixですが、Windows版より Linux版が、随分速い ← 間違いでした

Calculixは、 Windows版 Linux版 双方ある点が魅力ですが
1)オンメモリー計算での大規模対応 ⇒ Linux版が優秀
2)計算速度 ⇒ 1CPUなら大体同じ能力
     

Windows版が大規模に弱いのは、SPOOLESいう、外部ライブラリの行列式ソフトが、
Longint使ってなく桁数不足とか、かなり間抜けな理由らしく、直して欲しいですが…
SPOOLESは、昔に開発終えたソフトっぽいですが

マトリクス(行列式)ソルバーは インテル社の(以前はPardisoと呼ばれた)MKL(Math-Kernel-Libraly)
呼ばれるライブラリーが著名です。 他も沢山あるのですが… CPU開発企業がコンパイラを持つ
(当然とも言えますが)反則技で、しかもコンパイラに、行列式解く超優秀ライブラリー付き、
最近はGPUにも対応とか(CPUメーカーには商売敵の筈)、まぁ巨人インテル圧勝(そうでもない?)
マトリクスの種類は多彩で GPU・マルチCPU・マルチコア対応、重解処理やら、色々やる事多く、
しかも全部超高難度。なのに無料ソルバー多く、一方で巨人インテルは、ソルバーCPUコンパイラ
3つ揃った(反則的)最強三点セット。 商用ベースのマトリクスソルバーは、ビジネスとして超大変
絶望域であります





Windows で Spoolesで可能な限界まで規模を大きくして計算
マトリクスソルバーSPOOLESで、Win7もVirtualBOXも7分 こちらは正しいっぽい感じ



Windows7       test41:36分36秒  test42:16分39秒  test4(SPOOLES):7分18秒
Linux&VirtualBox   test41:38分    test42:17分    test4(SPOOLES):7分

 
シェル二次要素&節点数18万強の計算。 今度はWinPCやや優勢で こちらが正解っぽい。
SPOOLESは、かなり最強部類っぽいですが、インテル製のMKLなら更に速度UP?
メモリーも食わないらしいですが…  マトリクスソルバー開発は、超人的能力を要する
大変さで

優秀なマトリクスソルバーで、(粗悪メッシュを元にした)優秀でないマトリクスを解き、粗悪解を得る

現CAEはそうなっており、用途が限定的で、専門筋以外では相手にされない 
そこらの弱点を、是正したいところですが…




また別のPCで計算



Windows7       test41:38分22秒  test42:17分31秒  test4(SPOOLES):7分36秒

Linux&VirtualBox   test41:40分    test42:18分    test4(SPOOLES):8分


ソリッドは1節点3自由度⇒上限節点数40万弱。
シェルは1節点6自由度⇒上限節点数18万強 こちらで確認したWinPC&SPOOLESの上限です。
上限突破法は 1)SPOOLES以外の(遅いが大規模に強い)計算法を使う 2)Linuxを使う
いずれかで、Calculix固有値計算は、SPOOLES以外の、他の計算法が選択できない点に注意。
振動以外は、遅いのを我慢すれば、他のソルバでWinPCで大規模計算可能。(であってる筈)

VirtualBox でのファイル共有設定

VirtualBoxを使うと、パソコンが、WinPC でありつつ Linuxとして動作
SAMBAを使わず、WinPC(自分自身)とファイル共有できます
(自分自身)とのファイル共有、なんて出来て当然!  ですが、簡単事項に難儀するのがLinux
Linuxに取組む予定が、SAMBAでのファイル共有でコケて前に全然進まない
被害妄想な私にすれば、VirtualBoxは、ファイル共有は割合簡単で、そこは大変嬉しいところです。

左下、『共有フォルダー』 アイコンをクリック ⇒ 次に右の赤丸内のアイコンをクリック


共有したいフォルダーをマウス選択&指定します。 C:\MAPROTEMP 共有設定例で、以下のようにしました


こんな風になると設定は完成   


起動ボタンを押すと (先日設定)Cae2013.isoからブートします  Xウィンドウを出します
Xウィンドウで ls と打つと Publicフォルダ等が確認できます



ここで 下記入力にてmountされ 共有が実現します maprotemp は、小文字でOKのようで
sudo chmod 777 Public
sudo mount -t vboxsf maprotemp Public

cd Public 
にてフォルダに移動 ls で C:\Maprotemp にあるファイルを確認できます

ccx_2.5 ジョブ名  で、Calculixは動作   例えば C:\Maprotempに test.inp がある場合
ccx_2.5 test にて計算です   ⇒ http://ameblo.jp/jishii/day-20141123.html
解の可視化は、計算後 cgx_2.5 test.frd で可能です


上記は test_S8.frd 可視化実行例 
大文字子文字違いでも動かず、キーボード苦手な私には使い辛い!
Calculixのソルバーは、大規模問題の固有値計算等 利用価値十分。 問題は前後
ソルバー開発が最優先。プリポストは付足し的で地味でショボい毎度のパターン。
開発者所属先は 独の航空エンジン企業 MTU Aero Engines ウィキで売上27億ユーロ 
会社のお金で正統的GPLソフト作製=日本では有り得ない、恵まれ技術者のなせる技か?  どうなんでしょう?

簡単でもないようで VirtualBOXの設定を少しだけ説明

VirtualBox=簡単 前回に紹介しましたが、後で確認しますと結構厄介。書いたまま放置もまずく
まずは、Linuxを起動させる、その設定から紹介します ちょっと気合を込めまして…
① PCのバイオス設定で Intel Virtualization Technology を有効化させる
② Virtualboxインストと CAElinux2013.isoをダウンロ&PCのどこかにコピー  を行う
③ VirtualBox設定

最後③は、やや難議です。難議した事をすっかり忘却でして…  計算のため、行うべきは下記
★ Linuxを起動させること 
★ PC上のフォルダとファイル共有を行う事 
★ 計算 
 でOK ファイル共有は、超重要なのに、LinuxのCAEにて情報少なく、少々不満ですが

まずは、最初のステップ&関門 Linuxを起動まで… 最初はVirtualBOXインスト-ル
インスト⇒VirtualBOX起動後、(下記)Ubuntu64を選択&設定 ①ができてないとできませんで注意!
Intel Virtualization Technology (何なのか?) 設定変更で利用可になるPC 元々利用可能なPC
双方ありました。  古いPCは、未対応な可能性も高いです。


仮想マシン云々は ??ですが 成行き設定で行けました。使用メモリは後に設定可能です





ストレージでブートディスクを設定するのが、最初の関門です  CD/DVDデバイス追加 


ここから CAELinux2013.iso クリック設定

下記、ユーティリティー何とか…は、利用者の Cealinux2013.iso があるフォルダ名になります


ストレージ設定が、下記のようになればOKです


上記の要領で設定しますと、WinPCにある、CAElinux2013.iso を起動ディスクとし
(VirtualBoxではHDDでなくCD/DVDでやや紛らわしい iso故当然?) Linuxが起動可能になります
設定後の操作は VirtualBoxクリック⇒CAELinux起動 Window内がLinux、PC本体はWin7や8です


上図が出るとOK。 CAElinux2013.iso からの起動で、パス設定済でアプリが利用できますので、
PCとのファイル共有が実現されていれば、ソルバーのみの利用で、かなり使えます

常時、CAElinux2013.iso から起動で、作業履歴を全て保存する起能もありますが、
その機能は当てにすべきでなく、使用(起動)の度に、毎回オールリセットと思っておいた方が◎
ですので、PCとのファイル共有が実現されてない場合、全然使えません

ファイル共有していれば、結果はWinPC内に残ります、毎回オールリセットでも問題なし
Virtualbox、使えるか駄目かは、ファイル共有にかかっているのですが、これが優秀でして
2つ上の絵 設定画面左下に、共有フォルダーアイコンがあり、共有設定は、そこで行ないます
Linuxでファイル共有いえば、普通はSAMBAですが、Virtualboxは、SAMBA不要
そこが、素晴らしい長所です。 SAMBAは申し訳ないが !難議過ぎて全然使えない!

元々難議なのに 仕様変更で滅茶苦茶いう
従来は、SAMBAがガンで、私は、Linuxを利用できておりませんが…