OpenFOAM1.4をUbuntu7.04だかにインスコしたよ

OpenFOAMとかいうのはどっか外国の会社が最近フリーで配布し始めた数値流体(CFD((Computational Fluid Dynamicsだそうな)))のシミュレータで、色々と出来るらしいです。高機能なんだって。色んな奇麗な絵が沢山あります。
兎角この手のものは導入コストが果てしなくでかいので色々と逡巡するんですが、OpenFOAMは色んなWikiとかがあってフォローアップがしっかりしてそうなので、インスコしてみました。最近は英語のドキュメントも読めるようになったぜ。俺すげー。
おおもとは、

http://www.opencfd.co.uk/openfoam/

で、色んなサンプルが見られます。日本語Wikiは、

http://www.ofwikija.org/index.php/メインページ

にあります。日本語でドキュメントが読めるっていうだけで、他は英語へのサイトへの誘導がメインかと。お前が書けよと思うかもしれないけど、面倒なので華麗にスルー。2chではシミュレーション板で今2スレ目らしい。mixiでもOpenFOAMコミュがあるらしいんだけど、そっちは見られなかった。多分英語のサイトを探すのが速いかと思われます。
因みに、このインスコの方法がとても面倒臭いです。心が折れそうになります。makeしても糞やったらエラーが出るし、Linux用に作られてるんだけど、バイナリもDebian系では動いたと報告があるけど、赤帽は微妙とか。俺もMac OSでやって全く以て上手くいかなかった。けど、それは俺のOSのバージョンのせいもあるらしく、OS X 10.4.x以降ならパッケージがあるそうです。その辺は英語のフォーラムに載ってます。

http://openfoam.cfd-online.com/forum/messages/1/2311.html?1177009479

そういうことで、OpenFOAM使うためだけにOSをUbuntuにしました。Ubuntuでは多数の動いたよレポートがあったんで。まあ自分に自由になる機械があったから幸い。
まあ外部のライブラリを使わないで、全部自前でやろうっつーんだからそれだけ仕様は膨大になって、エラーの出て来るセクションも増えるよね。それを百人百様の環境でやるんだからたまったもんじゃねーわな。そういう訳でもうこの際上手くいってる系に乗り換えちまえと思ったのです。

インスコの方法

そういうことで、インスコの方法です。
まず自分でmakeすることは考えません。ダルいし、エラーに対応できる程詳しくないので。そのために鳥変えたんだぜと。
俺は、

http://ubuntuforums.org/showthread.php?t=156298

を参考にしました。この方法で上手くいった。ので、こっから下は上野ページの日本語訳だと思って下さいませ。
インスコのプロセスは、ダウンロード、解凍、設定のステップに分けられます。以下、その順にそって。

1. ダウンロードと解凍

そういうことで、本家のDLサイト、

http://www.opencfd.co.uk/openfoam/linux.html#linux

から、ファイル、

OpenFOAM-1.4.General.gtgz 
OpenFOAM-1.4.linuxGcc4DPOpt.gtgz 
OpenFOAM-1.4.linuxGcc4SPOpt.gtgz
gcc-4.1.2.linux.tgz
paraview-2.4.4.linux.tgz
j2sdk1.4.2_05.linux.tgz

の6つのファイルをもってきます。
全部それなりに重いです。結構時間かかります。
その後に、自分のホームディレクトリに、OpenFOAMというディレクトリを作ります。

$ mkdir ~/OpenFOAM

なんで/usrとか/usr/localじゃねーんだよと思うかもしれないが、これでちゃんと動くからビビる。どうやらホームディレクトリで動くらしい。そういう風にできてるらしい。
更にそのOpenFOAMの下にlinuxというディレクトリを作る。

$ mkdir ~/OpenFOAM/linux

これら2つのディレクトリはいずれOpenFOAMの本体が入るべきディレクトリ。そして、OpenFOAM*ってある3つのファイル、

OpenFOAM-1.4.General.gtgz 
OpenFOAM-1.4.linuxGcc4DPOpt.gtgz 
OpenFOAM-1.4.linuxGcc4SPOpt.gtgz

を、/home/User_Name/OpenFOAMに移します。仮にDLしてきたファイルが、/tmpにあるなら、

$ mv /tmp/OpenFOAM-1.4.General.gtgz ~/OpenFOAM
$ mv OpenFOAM-1.4.linuxGcc4DPOpt.gtgz ~/OpenFOAM
$ mv OpenFOAM-1.4.linuxGcc4SPOpt.gtgz ~/OpenFOAM

になります。
残りの、

gcc-4.1.2.linux.tgz
paraview-2.4.4.linux.tgz
j2sdk1.4.2_05.linux.tgz

の3つのファイルは、/home/User_Name/linuxにぶち込みます。ので、

$ mv /tmp/gcc-4.1.2.linux.tgz ~/OpenFOAM/linux
$ mv /tmp/paraview-2.4.4.linux.tgz ~/OpenFOAM/linux
$ mv /tmp/j2sdk1.4.2_05.linux.tgz ~/OpenFOAM/linux

です。
その後、それぞれのディレクトリで圧縮されたファイルを解凍します。どうやって解凍しようが問題ないらしいですが、tar -xzvf File_Nameでやるのが手っ取り早いようです。これも結構時間掛かる。

2. チェックと設定とインスコ

次に設定をするみたいです。
この辺は正直良く分からん。自分が上手くいったケースだけ紹介します。Ubuntu7.04なら上手くいくらしい。
解凍すると、自分のホームディレクリに作った ~/OpenFOAM/に新しいディレクトリができてて、 ~/OpenFOAM/OpenFOAM-1.4ができてるんだそうな。その中のbinに用があるので、

$ cd  ~/OpenFOAM/OpenFOAM-1.4/bin

で移動。そして、インスコできるかチェックする。

$ chmod -v 555 foamSystemCheck

で、実行可能なのに権限を変える。そしてチェックするプログラムを実行。

$ ./foamSystemCheck

ここで、./打ちたくなかったらPATHを、

$ export PATH=$PATH: ~/OpenFOAM/OpenFOAM-1.4/bin

ってやってとおしても良いんだぜ。こうすると、上のは、

$ foamSystemCheck

だけでおk。
で、ここでチェックされる。たぶんネットワーク上で使うということがない限りなんらかのエラーが出るはず。メッセージを詳細に見ると、sshがどうだとか出るけど、スタンドアローンで使うんだったらネットワークなんて関係ねーから気にすんなと俺が参考にしたサイトには書いてある。
sshだとかrshだとかのエラーは気にしなくておk。どーせ使わない。

$ chmod -v 555 foamSystemCheck

その後に環境変数の設定。
自分のホームディレクトリにある、.bashrcファイルを編集する。ので、emacsなり、その他エディタなりで、

$ emacs ~/.bashrc &

で、最後の行に、

. ~/OpenFOAM/OpenFOAM-1.4/.OpenFOAM-1.4/bashrc

を付け加えて、保存して終了(要するにC-x C-s, C-x C-c)。まあemacsはデフォルトでは入ってないんで、geditなりで開けば良かろうかと思われます。
そして環境変数をアップデートするために、

$ . ~/.bashrc

する。
そしてテストとインスコ。ということで、foamInstallationTestを実行。する前にまたchmodする。

$ chmod -v 555 foamInstallationTest

そして、実行。

$ foamInstallationTest

で、これでインストール終了的なメッセージが出たら終了。たぶんrshとsshが使えねーよタコということで、Fattal Error 1とかでるけど、それは気にしなくておk。それで使えてるようになってるはず。Fatal_Error 2とかでたら、何が悪いんだか分かんないけど、失敗。またどっかからやり直す感じです。そして、OpenFOAM1.3では、起動はFoamXとかいうコマンドを使ってたらしいんだけど、1.4ではそんなのはなくて、各自マニュアルを参照してくれだそうです。さながら後楽園遊園地で僕と握手ですね。

FoamXを使う

そして、FoamXと打つと、本来ならOpenFOAMのツールボックスが出てくるはずなんだけど、libssl0.9.7というライブラリがないと動かないらしい。なので、

$ sudo apt-get libssl0.9.7

としてそれをインスコすればFoamXで起動します。