OpenFOAM v2212 を RHEL 8.3 にインストールメモ2023年1月29日 | |
はじめにOpenFOAM v2212 をインストールする。 インストール対象マシンRed Hat Enterprise Linux 8.3 OpenFOAM のインストールソースコードの展開ソースからコンパイルする。ここ からソースコードをダウンロードする。
パッケージを展開。 $ mkdir ~/OpenFOAM $ tar xvzf OpenFOAM-v2212.tgz -C ~/OpenFOAM $ tar xvzf ThirdParty-v2212.tgz -C ~/OpenFOAM Open MPI をコンパイルする。設定ファイルを修正する。 ~/OpenFOAM/OpenFOAM-v2212/etc/bashrc #export WM_MPLIB=SYSTEMOPENMPI export WM_MPLIB=OPENMPI 設定を読み込む。 $ . ~/OpenFOAM/OpenFOAM-v2212/etc/bashrc ThirdParty のコンパイルCMake の準備CMake は yum でインストールすればよい。 Open MPI$ cd $WM_THIRD_PARTY_DIR $ ./makeOPENMPI HYPREPETSc で使うために、HYPRE をコンパイルする。以下のパッケージをダウンロードする。 各バージョンの情報は BUILD.md に書いてあるようで、これと設定ファイルのものが一致している必要がありそうである。BUILD.md の HYPRE のバージョンが 2.24.0 で、$WM_PROJECT_DIR/etc/config.sh/hypre のバージョンが 2.23.0 なので、修正する。 $WM_PROJECT_DIR/etc/config.sh/hypre #hypre_version=hypre-2.23.0 hypre_version=hypre-2.24.0 設定ファイルを読み直す。 $ . ~/OpenFOAM/OpenFOAM-v2212/etc/bashrc ソースコードは $WM_THIRD_PARTY_DIR/sources に展開する。 コンパイル。 $ ./makeHYPRE OpenBLASPETSc で使うために、OpenBLAS をコンパイルする。こちらは自力でやる。ここ からパッケージを入手する。 ここではコンパイル済みのものを用いる。 設定。 ~/.bashrc export OPENBLAS=~/OpenBLAS export LIBRARY_PATH=$OPENBLAS/lib:$LIBRARY_PATH export LD_LIBRARY_PATH=$OPENBLAS/lib:$LD_LIBRARY_PATH 読み直す。 PETScマトリックスソルバー PETSc を利用できるように、コンパイルする。 $ cd $WM_THIRD_PARTY_DIR $ tar xvzf petsc-lite-3.18.2.tar.gz -C sources $ ./makePETSC hypre-2.24.0 OpenFOAM のコンパイル$ foam $ ./Allwmake -j -s -l エラーが出た。 /usr/bin/ld: warning: libfftw3.so.3, needed by /home/kasuga/OpenFOAM/OpenFOAM-v2212/platforms/linux64GccDPInt32Opt/lib/librandomProcesses.so, not found (try using -rpath or -rpath-link LD_LIBRARY_PATH の fftw3 のパスがおかしいようだったかが、設定を読みなおしたらなおった。 再度コンパイル実行すると、またエラーが出た。 /opt/OpenFOAM/ThirdParty-v2206/platforms/linux64GccDPInt32/petsc-3.17.2/include/petscsys.h:104:6: エラー: #error "PETSc was configured with one OpenMPI mpi.h version but now appears to be compiling using a different OpenMPI mpi.h version" これも設定の問題のようだったので、ログインしなおしたらなおった。 PETSc が有効になっているかどうかの確認は、次のようにする。 $ foamHasLibrary -verbose petscFoam Could not load "petscFoam" 有効にするには、次のようにする。 $ eval $(foamEtcFile -sh -config petsc -- -force) $ foamHasLibrary -verbose petscFoam Can load "petscFoam" ~/.bashrc などに次のように設定する。 ~/.bashrc alias of2212='. ~/OpenFOAM/OpenFOAM-v2212/etc/bashrc; eval $(foamEtcFile -sh -config petsc -- -force)' 次のようにすれば設定が有効になる。 $ of2212 | |
PENGUINITIS |