文書の過去の版を表示しています。
# apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
# apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl
ディレクトリ名はインストーラのスクリプトで利用されるため,ディレクトリ名を変更したい場合,インストーラの中身を編集する必要がある.
$ mkdir -p $HOME/OpenFOAM $ cd OpenFOAM $ wget -O - http://dl.openfoam.org/source/8 | tar xvz $ mv OpenFOAM-8-version-8 OpenFOAM-8 $ wget -O - http://dl.openfoam.org/third-party/8 | tar xvz $ mv ThirdParty-8-version-8 ThirdParty-8
wgetがリンク切れの場合,以下からダウンロード.
$ source $HOME/OpenFOAM/OpenFOAM-8/etc/bashrc
並列ビルドのため,WM_NCOMPPROCに並列プロセス数を設定可能である.WM_NCOMPPROCSが定義されていない場合,1プロセスでビルドされる.
$ export WM_NCOMPPROCS=8
$ foam $ cd ../ThirdParty-8 $ ./Allwmake $ ./makeParaView $ wmRefresh
$ foam $ ./Allwmake
管理者権限を所有しない場合でも,gccなどの最低限のライブラリは必須. 最低限のライブラリは以下によりインストール.
# apt install build-essential
未記載
/path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集
[ "$BASH" -o "$ZSH_NAME" ] && \ export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ export FOAM_INST_DIR=/path/to/install # export FOAM_INST_DIR=$HOME/$WM_PROJECT # export FOAM_INST_DIR=~$WM_PROJECT # export FOAM_INST_DIR=/opt/$WM_PROJECT # export FOAM_INST_DIR=/usr/local/$WM_PROJECT
Note: コンパイラを変更する場合,それに依存するライブラリのコンパイラも変更する必要がある
自分用のコンパイラとして,MyCompilerを設定する.ここでは,OpenFOAMのインストールディレクトリは/path/to/install/,versionは<ver>と記載する.
a. /path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集
... #export WM_COMPILER=Gcc export WM_COMPILER=MyCompiler ...
b. /path/to/install/OpenFOAM-<ver>/etc/config.sh/compilerを以下のように編集
case "$WM_COMPILER" in MyCompiler) export WM_CC='gcc-10' export WM_CXX='g++-10' ;; esac
c. MyCompiler用のwakeルールを作成
$ cp -r /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64Gcc /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler
c-1. /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler/cを以下のように編集.
... cc = ${WM_CC} -m64 ...
c-2. /path/to/install/OpenFOAM-<ver>/wmake/rules/linux64MyCompiler/c++を以下のように編集.
... CC = ${WM_CXX} -std=c++11 -m64 ...
デフォルトでは“etc/bashrc”には“WM_MPLIB=SYSTEMOPENMPI”が設定されており,システムのmpicc, mpic++を使用する. 任意のパスに置かれたMPIライブラリを使用する方法を記載する.
b. /path/to/install/OpenFOAM-<ver>/etc/bashrcの一部を以下のように編集
... # export WM_MPLIB=SYSTEMOPENMPI export WM_MPLIB=MPI ...
b. /path/to/install/OpenFOAM-<ver>/etc/config.sh/mpiの一部を以下のように編集
... MPI) export FOAM_MPI=mpi export MPI_ARCH_PATH=/opt/mpi export MPI_ARCH_FLAGS="-DOMPI_SKIP_MPICXX" export MPI_ARCH_INC="-isystem $MPI_ARCH_PATH/include" export MPI_ARCH_LIBS="-L$MPI_ARCH_PATH/lib -lmpi" _foamAddPath $MPI_ARCH_PATH/bin _foamAddLib $MPI_ARCH_PATH/lib ;; ...
c. /path/to/install/OpenFOAM-<ver>/OpenFOAM-8/wmake/rules/General/mplibMPIを以下のように編集.
PFLAGS = ${MPI_ARCH_FLAGS} PINC = ${MPI_ARCH_INC} PLIBS = ${MPI_ARCH_LIBS}
/path/to/install/OpenFOAM-<ver>/etc/config.sh/scotchを編集.(scotch version 6.1.0の場合)
export SCOTCH_VERSION=scotch_6.1.0 export SCOTCH_ARCH_PATH=/opt/scotch/v6.1.0
/path/to/install/OpenFOAM-<ver>/wmake/rules/General/flexを編集.
SUFFIXES += .l ltoo = $E $(call QUIET_MESSAGE,flex,$(<F)) \ $(WM_SCHEDULER) /opt/flex/2.6.4/bin/flex -o $(@D)/$(<F).c $< $(AND) \ $(cc) $(cFLAGS) -c $(@D)/$(<F).c -o $@
/path/to/install/OpenFOAM-<ver>/wmake/rules/General/flex++を編集.
SUFFIXES += .L Ltoo = $E $(call QUIET_MESSAGE,flex++,$(<F)) \ $(WM_SCHEDULER) /opt/flex/2.6.4/bin/flex -+ -o$(@D)/$(<F).C -f $< $(AND) \ $(CC) $(c++FLAGS) $(c++LESSWARN) -I/opt/flex/2.6.4/include -c $(@D)/$(<F).C -o $@