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

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

概要

Slackware Linux 14.1(64bit)でOpenFOAM-devをビルド・インストールしてみる。

手順

ThirdParty-dev

ThirdParty-devを~/OpenFOAM以下にクローンする。

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

必要なソフトウェアをダウンロードする。各ソフトウェアのバージョンはアップグレードされていくはずなので、README.orgを読んでその時点で必要なバージョンをダウンロードすること。

wget https://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz
tar xvf scotch_6.0.3.tar.gz
wget https://gforge.inria.fr/frs/download.php/file/34704/CGAL-4.6.tar.gz
tar xvf CGAL-4.6.tar.gz

ParaView-4.4.0をダウンロードし、解凍:

tar xvf ParaView-v4.4.0-source.tar.gz
mv ParaView-v4.4.0-source ParaView-4.4.0

ThirdParty-dev/README.orgに説明があるように、ParaView-4.4.0/Qt/Components/CMakeLists.txtの4行を消去またはコメントアウトする:

vim ParaView-4.4.0/Qt/Components/CMakeLists.txt
#if(PARAVIEW_INSTALL_DEVELOPMENT_FILES)
#  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_pqExportStateWizard.h"
#             DESTINATION "${VTK_INSTALL_INCLUDE_DIR}")
#endif()

makeParaViewを実行し、ParaViewをビルドする。次のビルド例ではPythonが使えるようにしている。

LDFLAGS='-ldl' ./makeParaView -python -python-lib /usr/lib64/libpython2.7.so.1.0 2>&1 |tee makeParaView4.log

OpenFOAM-dev

OpenFOAM-devリポジトリをクローン:

cd ~/OpenFOAM
git clone https://github.com/OpenFOAM/OpenFOAM-dev.git
cd OpenFOAM-dev

または、gitリポジトリを最新の状態にする:

cd ~/OpenFOAM/OpenFOAM-dev
git pull

etc/bashrcを読み込む:

source etc/bashrc

ここで以前にビルドしていて、gitリポジトリを更新した後、再びビルドする場合は、クリーンな状態に戻す作業が必要である[note 1]

Allwmakeを実行

./Allwmake 2>&1 |tee Allwmake.log

Allwmakeが終わったら、PV4Readersをビルド:

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

インストールのチェック:

./bin/foamInstallationTest

次の行を~/.bashrcへ追加し、ofdevでOpenFOAM-devのbashrcスクリプトを実行するようにしておく:

alias ofdev='export FOAM_INST_DIR=~/OpenFOAM;source $HOME/OpenFOAM/OpenFOAM-dev/etc/bashrc;export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-4.3'

この場合、OpenFOAM-devのソルバを実行する前には端末ごとに毎回ofdevを実行する必要がある。aliasでなくて~/.bashrc内で直接OpenFOAM-devのbashrcスクリプトを読み込むようにしておいても良いのだが、OpenFOAM-devやfoam-extendと共存させるためにこのようにしている。

Note

  1. *.C.depファイルのみ消して
    find . -name *.C.dep -delete
    

    wmakeLnIncludeAllでlnIncludeディレクトリを更新する:

    wmakeLnIncludeAll -update
    

    lnIncludeフォルダとは、ソースコードのディレクトリ(src)以下の各項目ごとのディレクトリに存在し、下位に存在するヘッダファイルのリンクをすべて置いてあるフォルダなのだが、ファイルの追加・削除・名前変更などがあると更新しなければならない。 個別のディレクトリで更新する場合は、

    wmakeLnInclude -u <lnIncludeのあるパス>
    

    とする。 あとは、lnIncludeディレクトリにあるデッドリンクを消す:

    find -xtype l -delete