OpenFOAM のインストール

2014年11月15日

はじめに

OpenFOAM のインストールについて。

パッケージの取得

最新のパッケージは OpenFOAM のページ からダウンロードできる。古いバージョンが必要な場合は SourceForge のプロジェクト から入手する。

バイナリ版のインストール

OpenFOAM 2.3.0

Ubuntu, SUSE, Red Hat (RHEL) 用にバイナリ版が用意されている。インストールの手順については こちら を参照。

Ubuntu 12.04 LTS へのインストール例は こちら を参照。

OpenFOAM 2.2.2

Ubuntu, SUSE, Fedora 用にバイナリ版が用意されている。インストールの手順については こちら を参照。

2.2.x であれば非公式な CentOS 用バイナリもある: CentOS - OpenFOAM build project

OpenFOAM 2.1.1

Ubuntu, SUSE, Fedora 用にバイナリ版が用意されている。インストールの手順については こちら を参照。

非公式な CentOS 用バイナリもある: CentOS - OpenFOAM build project

OpenFOAM 2.0.1

Ubuntu と SUSE 用にバイナリ版が用意されている。インストールの手順については こちら を参照。

OpenFOAM 1.7.1

Ubuntu と SUSE 用にバイナリ版が用意されている。インストールの手順については こちら を参照。

OpenFOAM 1.6

インストールの手順については こちら を参照。

ソースからコンパイル

OpenFOAM 2.0.0 以降

コンパイラの用意

コンパイルにはそれなりのバージョンの GCC が必要。GCC のコンパイル手順については こちら を参照。

ソースパッケージの取得

OpenFOAM のページ から以下を取得する。

ソースパッケージ

  • OpenFOAM-2.3.0.tgz
  • ThirdParty-2.3.0.tgz

OpenFOAM のコンパイル

パッケージを展開

$ mkdir ~/OpenFOAM
$ tar xvzf OpenFOAM-2.3.0.tgz -C ~/OpenFOAM
$ tar xvzf ThirdParty-2.3.0.tgz -C ~/OpenFOAM

環境設定として、シェルが bash の場合、~/.bashrc に以下を追加する。

. ~/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc

~/.bashrc を読み込む。

$ . ~/.bashrc

OpenFOAM のコンパイル。

$ cd $WM_PROJECT_DIR
$ ./Allwmake

ParaView のコンパイル

ParaView のコンパイルには、それなりのバージョンの CMake と Qt の開発環境が必要。必要に応じて CMake のコンパイルを実施する。

(ParaView 4 の場合)

$ cd $WM_THIRD_PARTY_DIR
$ ./makeParaView4

(ParaView 3 の場合)

$ cd $WM_THIRD_PARTY_DIR
$ ./makeParaView

ParaView で Python を有効にするには、次のようにオプションを指定する。

$ ./makeParaView4 -python -python-lib /usr/lib/libpython2.7.so.1.0

"-python-lib" の後ろは、環境に合わせて修正する。

また、MPI に対応させるには、"-mpi" オプションを指定する。

$ ./makeParaView4 -mpi

ParaView がコンパイルできたら、OpenFOAM 用プラグインのコンパイルを行う。

(ParaView 4 の場合)

$ cd $FOAM_UTILITIES/postProcessing/graphics/PV4Reader/
$ ./Allwmake

(ParaView 3 の場合)

$ cd $FOAM_UTILITIES/postProcessing/graphics/PV3Reader/
$ ./Allwmake

実行確認

$ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
$ cd pitzDaily
$ blockMesh
$ simpleFoam
$ paraFoam

ソルバーのコンパイルのテスト

$ cp -r $FOAM_SOLVERS/incompressible/simpleFoam .
$ cd simpleFoam
$ vi Make/files

ここで、"EXE = ..." の行を以下のように書き換える。

EXE = mySimpleFoam

コンパイル。

$ wmake

実行。

$ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
$ blockMesh -case pitzDaily
$ ./mySimpleFoam -case pitzDaily

上手くいかない場合

  • エラーメッセージから必要なプログラムやライブラリを推測し、インストールする。

コンパイル例

Ubuntu 12.04 LTS におけるコンパイル例は こちら (ただし Clang 使用) を参照。

OpenFOAM 1.7.1

コンパイラの用意

コンパイルには GCC 4.3 以上が必要。OpenFOAM 1.6 に付属する GCC 4.3.3 を使えないことはないが、少々めんどくさい (詳細については こちら を参照)。

ソースパッケージの取得

SourceForge のプロジェクト から以下を取得。

ソースパッケージ

  • OpenFOAM-1.7.1.gtgz
  • ThirdParty-1.7.1.gtgz

手順は上記と同様。ParaView のコンパイルには Qt 4.5 以上が必要。

ParaView プラグインのビルドは以下のとおり (2.0.0 以降とちょっとパスが違う)。

$ cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader/
$ ./Allwmake

OpenFOAM 1.6

SourceForge のプロジェクト から以下を取得。

ソースパッケージ

  • OpenFOAM-1.6.General.gtgz
  • ThirdParty-1.6.General.gtgz

手順は上記と同様。

どうしてもインストールが上手くいかない場合

あきらめよ。深追いは禁物。Linux のディストリビューションを変えるとあっさり上手くいくことがある。OpenFOAM インストール済みの Linux (DEXCS for OpenFOAM, CAELinux など) の導入を考える。

任意の場所へのインストール

初期設定では OpenFOAM は "$HOME/OpenFOAM" にインストールされると想定されている。任意の場所にインストールする場合は $WM_PROJECT_DIR/etc/bashrc の foamInstall の値を変更する。

export WM_PROJECT=OpenFOAM

...

#foamInstall=$HOME/$WM_PROJECT
foamInstall=/opt/$WM_PROJECT

システムの Open MPI を使う

システムにインストールされている Open MPI を使う場合、$WM_PROJECT_DIR/etc/bashrc の WM_MPLIB に "SYSTEMOPENMPI" を指定する。

#export WM_MPLIB=OPENMPI
export WM_MPLIB=SYSTEMOPENMPI

複数のバージョンの混在

OpenFOAM は、もし必要であれば、複数のバージョンの混在が可能である (たぶん)。

たとえば 1.6 と 1.7.1 を混在させたい場合、同じディレクトリ (~/OpenFOAM など) に 2 つをインストールし、環境設定のために 1.7.1 のスクリプトを読み込むようにする。

バージョンを切り替えるには、ソルバー実行の際 foamExec あるいは foamJob を使う。

$ icoFoam (1.7.1 版が起動)
$ foamExec icoFoam (1.7.1 版が起動)
$ foamExec -v 1.6 icoFoam (1.6 版が起動)
$ mpirun -np 4 foamExec -v 1.6 icoFoam -parallel (1.6 版が起動)

あるいは、各バージョンの設定ファイルを読み込むエイリアスを作っておけばよいかもしれない。

~/.bashrc

alias openfoam222='. ~/OpenFOAM/OpenFOAM-2.2.2/etc/bashrc ; . ~/.bashrc'
alias openfoam230='. ~/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc ; . ~/.bashrc'

~/.bashrc を読み込みなおしているのは、~/.bashrc で設定されている PATH の設定を有効にするため。

便利ツール

PyFoam や swak4Foam があると便利である。

PyFoam

ここ に従って svn でソースコードを入手。

$ svn co https://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder/other/scripting/PyFoam/

あるいは上記ページのリンク ("Downloads" の "Current Version") からパッケージをダウンロードできる。

インストール。

$ cd PyFoam
$ mkdir ~/OpenFOAM/PyFoam
$ python setup.py install --prefix=~/OpenFOAM/PyFoam

以下を ~/.bashrc に追加。

export PYTHONPATH=~/OpenFOAM/PyFoam/lib/python2.7/site-packages:$PYTHONPATH
export PATH=~/OpenFOAM/PyFoam/bin:$PATH

上記の "python2.7" の部分は Python のバージョンによって変わる。

Gnuplot と Python の Numpy モジュールもインストールしておく。

swak4Foam

ここ に従って svn でソースコードを入手 (下は OpenFOAM 2.0 の場合)。

$ svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_2.0/libraries/swak4Foam/ swak4Foam_2.x

コンパイルに bison が必要なのでインストールしておく。

コンパイル & インストール。

$ cd swak4Foam
$ ./Allwmake