OpenFOAM のインストール

2014年2月19日

はじめに

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

パッケージの取得

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

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

OpenFOAM 2.3.0

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

2.3.x であれば非公式な CentOS 用バイナリもある (ただし RHEL 6.x 向け): CentOS - OpenFOAM build project

インストールメモ

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 4.3 以上が必要。OpenFOAM 1.6 に付属する GCC 4.3.3 を使えないことはないが、少々めんどくさい (詳細については こちら を参照)。

ソースパッケージの取得

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

ソースパッケージ

  • OpenFOAM-2.2.1.tgz
  • ThirdParty-2.2.1.tgz

OpenFOAM のコンパイル

パッケージを展開

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

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

. ~/OpenFOAM/OpenFOAM-2.2.1/etc/bashrc

~/.bashrc を読み込む。

$ . ~/.bashrc

OpenFOAM のコンパイル。

$ cd $WM_PROJECT_DIR
$ ./Allwmake

ParaView のコンパイル

CMake と Qt 4.6 以上の開発環境が必要。

$ cd $WM_THIRD_PARTY_DIR
$ ./makeParaView

ParaView プラグインのビルド

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

実行確認

$ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity .
$ cd cavity
$ blockMesh
$ icoFoam
$ paraFoam

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

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

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

EXE = myIcoFoam

コンパイル。

$ wmake

実行。

$ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity .
$ blockMesh -case cavity
$ ./myIcoFoam -case cavity

上手くいかない場合

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

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 プラグインのビルドは以下のとおり (ちょっとパスが違う)。

$ 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 版が起動)

便利ツール

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

インストールメモ

OpenFOAM 2.3.0

OpenFOAM 2.2.2

OpenFOAM 2.2.1

OpenFOAM 2.2.0

OpenFOAM 2.1.1

OpenFOAM 2.1.0

OpenFOAM 2.0.1

OpenFOAM 2.0.0

OpenFOAM 1.7.1

OpenFOAM 1.7.0

OpenFOAM 1.6

OpenFOAM 1.5

OpenFOAM 1.4.1

OpenFOAM 1.3