OpenFOAMをSlackware Linuxへインストールする

提供: Akionux-wiki
Share/Save/Bookmark
移動先: 案内検索

概要

Slackware Linux 14.1でOpenFOAM-2.3.xをビルド・インストールしてみる。

また、システムへOpenMPIをインストールしてOpenFOAMから使用できるようにする。

MPI用の依存パッケージ

slackbuildsで依存パッケージのインストール。

system/openmpi
libraries/CGAL
libraries/scotch

libraries/scotchは公式リポジトリには無いので、拙作のslackbuildが使えるかもしれない。

ビルド・インストール

OpenFOAMディレクトリを作り、そこでOpenFOAM-2.3.xをgit cloneする。

mkdir ~/OpenFOAM
cd ~/OpenFOAM
git clone https://github.com/OpenFOAM/OpenFOAM-2.3.x.git

システムのOpenMPIを使うためには$WM_PROJECT_DIR/etc/bashrcのWM_MPLIBの値をSYSTEMOPENMPIに変えておく必要がある。

vim $WM_PROJECT_DIR/etc/bashrc
#- MPI implementation:
#    WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI
#               | GAMMA | MPI | QSMPI | SGIMPI
export WM_MPLIB=SYSTEMOPENMPI

$WM_PROJECT_DIR/etc/bashrcを読み込む。

cd $WM_PROJECT_DIR
source etc/bashrc

ここで、

Cannot open configuration file /home/user/OpenFOAM/ThirdParty-2.3.x/platforms/linux64Gcc/openmpi-1.6.5/share/openmpi/mpicc-wrapper-data.txt
Error parsing data file mpicc: Not found

というエラーが出る場合、以前に実行した$WM_PROJECT_DIR/etc/bashrcによってOPAL_PREFIXの値が設定されている可能性があるので

unset OPAL_PREFIX

としてから$WM_PROJECT_DIR/etc/bashrcを読み込む。

ビルド開始。

./Allwmake > make.log 2>&1

.bashrcまたはユーザーのデフォルトシェルのrcファイルへ以下を追記。

source $HOME/OpenFOAM/OpenFOAM-2.3.x/etc/bashrc

ThirdPartyをインストールする。

cd ~/OpenFOAM
git clone https://github.com/OpenFOAM/ThirdParty-2.3.x.git

Slackware Linux 14.1ではQtのversionは4.8.5なのでそのまま使えるから、ParaViewのみインストールする。ここでは、pythonとMPIを有効にしてビルドした[1][2]

cd $WM_THIRD_PARTY_DIR
wget http://www.paraview.org/files/v4.1/ParaView-v4.1.0-source.tar.gz
tar zxvf ParaView-v4.1.0-source.tar.gz
mv ParaView-v4.1.0 ParaView-4.1.0
LDFLAGS='-ldl' ./makeParaView4 -mpi -python -python-lib /usr/lib64/libpython2.7.so.1.0 > makeParaView4.log 2>&1

環境変数をセットしなおして、PV4Readersをビルドする。

source ~/.bashrc
cd $FOAM_UTILITIES/postProcessing/graphics/PV4Readers
./Allwclean
./Allwmake

最後にインストールのチェック。

cd $WM_PROJECT_DIR
./bin/foamInstallationTest

ドキュメントのビルド

graphvizが必要なので、インストールされていなければ、SlackBuildsからインストールしておく。

graphics/graphviz

ドキュメントのディレクトリでAllwmakeスクリプトを実行する。

cd $WM_PROJECT_DIR/doc
./Allwmake

$WM_PROJECT_DIR/doc/Doxygen/html/index.htmlにDoxygenによるC++ドキュメンテーションができる。

トラブルシューティング

Pstream

ソルバを並列で実行時に、

--> FOAM FATAL ERROR: 
Trying to use the dummy Pstream library.
This dummy library cannot be used in parallel mode

    From function UPstream::init(int& argc, char**& argv)
    in file UPstream.C at line 37.

FOAM exiting

というエラーが出る場合は、ビルド時のMPI関係の環境変数の問題で、Pstreamがビルドできていない可能性がある[3]。 $FOAM_SRC/Pstream/でAllwmakeしてうまくビルドできるか確認してみる。

cd $FOAM_SRC/Pstream/
./Allwmake

References