OpenFOAM 3.0.1 を Ubuntu 12.04 LTS にインストールメモ

2016年3月23日

インストール対象マシン

Ubuntu Desktop 12.04 LTS (x86_64)。

OpenFOAM のインストール

Rheologic 社が公開している非公式版バイナリ RheologicRemix を用いる。

ダウンロードして展開。~/OpenFOAM ディレクトリ内に展開されるので注意。

$ tar xvf RheologicRemix-3.0.1.tar.xz -C ~/

ParaView の設定が付属のものと異なるようなので、以下のように変更。

$WM_PROJECT_DIR/etc/config/paraview.sh

export ParaView_VERSION=4.1.0
#export ParaView_VERSION=4.3.1
#export ParaView_VERSION=4.4.0

~/.bashrc の設定。

. ~/OpenFOAM/OpenFOAM-3.0.1/etc/bashrc

~/.bashrc を読み込む。

$ . ~/.bashrc

ParaView のプラグインをコンパイル。

$ cd $FOAM_UTILITIES/postProcessing/graphics/PV4Readers
$ ./Allwclean
$ ./Allwmake

エラーが出た。

/usr/include/features.h:324:26: fatal error: bits/predefs.h: そのようなファイルやディレクトリはありません
 #include <bits/predefs.h>
                          ^

"libc6-dev-i386" をインストール。

参考: Ubuntu 64bit で32bit バイナリのコンパイル (Going My Linux Way)

$ sudo apt-get install libc6-dev-i386

まだエラーが出る。

/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status

~/.bashrc に以下の設定を追加。

参考: ubuntu12.04 g95でコンパイル時にcannnot find crt1.oとcannnot find crti.oの表示 (Ubuntu 日本語フォーラム)

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

まだまだエラーが出る。

make[2]: *** `/home/cfd/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib/paraview-4.1/libPV4FoamReader_SM.so' に必要なターゲット `/home/andras/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc/qt-4.7.3/lib/libQtHelp.so' を make するルールがありません.  中止.

付属の ParaView の利用をあきらめて、すでに入っているものを使う。

$WM_PROJECT_DIR/etc/config/paraview.sh

#export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName
export ParaView_DIR=/opt/paraviewopenfoam410

これでプラグインのコンパイルに成功。

Open MPI の再コンパイルをしないと並列計算できない。以下のように実行。

$ cd $WM_THIRD_PARTY_DIR/openmpi*
$ ./configure --prefix=`which mpirun | sed -e 's/~/$HOME/;s/bin\/mpirun//'`
$ make && make install