OpenFOAM のインストール2025年7月9日 | |
はじめにOpenFOAM のインストールについて。 クイックスタート (Ubuntu 版 OpenFOAM v2506)インストール。 $ curl -s https://dl.openfoam.com/add-debian-repo.sh | sudo bash $ sudo apt update $ sudo apt install openfoam2506-default OpenFOAM 用のシェルセッションを開始。 $ openfoam2506 ParaView は入らないので、必要であれば別途入れる。 $ sudo apt install paraview 動作環境OpenFOAM の動作環境は以下の通り。
VirtualBox などの仮想環境上の Linux を使えば、Windows、macOS でも Linux 版を 利用可能。 パッケージの取得OpenCFD 版OpenFOAM Foundation 版非公式 Linux 版パッケージ非公式 Windows 版パッケージOpenCFD 版では OpenFOAM v1906 から WSL 用の Windows バイナリが提供されている。また、v2006 からは MinGW 版バイナリも提供されている。 OpenCFD 版と OpenFOAM Foundation 版現在、OpenFOAM Foundation 版がベースで、OpenCFD 版がそれの修正・機能拡張版となっている。OpenCFD 版は当初 "OpenFOAM+" ("OpenFOAM v1606+" など) という名前だったが、v1704 から単に "OpenFOAM v1704" となった (OpenFOAM v1704 は OpenFOAM-dev ベース)。 OpenCFD 版のほうが検証をきちんとやっているようなので、OpenCFD 版を使った方がよいだろう。 Linux ディストリビューションの選択Linux ディストリビューションは、ソースからコンパイルするなら基本的にどれでも動くはずだが、当然、新しいバージョンは比較的新しい開発用パッケージを要求してくる。 バイナリパッケージは、現在は Ubuntu 用のみが提供されている。インストールで悩みたくなければ Ubuntu 系のディストリビューションを選択するのが無難である。 バイナリ版のインストールOpenFOAM v2506 (OpenCFD 版)以下のページの指示に従えばよい。 ただし、バイナリ版ではいくつか使えなくなっている機能があることがあるようである。 OpenFOAM v13 (Foundation 版)Ubuntu 用であれば、こちら の指示に従えばよい。 下の方にあるインストールメモも参照。 ソースからコンパイルコンパイラの用意コンパイルにはそれなりのバージョンの GCC が必要。 ソースパッケージの取得公式ページから、以下のようなパッケージのペアを取得する。 ソースパッケージ (OpenCFD 版)
OpenFOAM のコンパイルパッケージを展開 $ mkdir ~/OpenFOAM $ tar xvzf OpenFOAM-v2106.tgz -C ~/OpenFOAM $ tar xvzf ThirdParty-v2106.tgz -C ~/OpenFOAM 環境設定として、シェルが bash の場合、~/.bashrc に以下を追加する。 . ~/OpenFOAM/OpenFOAM-v2106/etc/bashrc ~/.bashrc を読み込む。 $ . ~/.bashrc OpenFOAM のコンパイル。 $ foam $ ./Allwmake -j -s -l 上の方法だと CPU を全部使う。使う CPU 数を指定したい場合は、"-j 2" などとする。 ParaView の用意ParaView は ThirdParty でコンパイルする方法もあるが、公式バイナリ をダウンロードしてきたほうが早い。ただし、あまり新しすぎるとうまく動かないことがあるので、ほどほどのバージョンにする。 Ubuntu であれば、少し古いバージョンでよければ、次のようにインストールできる。 $ sudo apt-get install paraview OpenFOAM で ParaView を使うために、paraFoam というものが用意されている。公式バイナリを使う場合は、paraFoam に "-builtin" オプションをつけて実行するが、毎度は面倒なので、シェルの設定で次のように alias を設定しておけばよい。 alias paraFoam="paraFoam -builtin" 実行確認$ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . $ cd pitzDaily $ blockMesh $ simpleFoam $ paraFoam ソルバーのコンパイルのテスト$ cp -r $FOAM_SOLVERS/incompressible/simpleFoam . $ cd simpleFoam $ vi Make/files ここで、"EXE = ..." の行を以下のように書き換える。 EXE = mySimpleFoam コンパイル。 $ wmake 実行。 $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . $ blockMesh -case pitzDaily $ ./mySimpleFoam -case pitzDaily 上手くいかない場合
どうしてもインストールが上手くいかない場合あきらめよ。深追いは禁物。Linux のディストリビューションを変えるとあっさり上手くいくことがある。OpenFOAM インストール済みの Linux (DEXCS for OpenFOAM、CAELinux など) の導入を考える。 任意の場所へのインストール※OpenCFD 版は v1812 から設定が不要になった。 初期設定では OpenFOAM は "$HOME/OpenFOAM" にインストールされると想定されている。任意の場所にインストールする場合は $WM_PROJECT_DIR/etc/bashrc の FOAM_INST_DIR の値を変更する。 export WM_PROJECT=OpenFOAM ... #export FOAM_INST_DIR=$HOME/$WM_PROJECT export FOAM_INST_DIR=/opt/$WM_PROJECT 古いバージョン (3.0.x 以前) では foamInstall の値を変更する。 #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 ただし、環境によってはうまくいかないことがある。次のように、パスを通す必要があるかもしれない。 export PATH=/usr/lib64/openmpi/bin/:$PATH export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib/:$LD_LIBRARY_PATH エラーが出る場合$WM_PROJECT_DIR/etc/bashrc を読み込んだ時、次のようなエラーが出ることがある。 gcc: error: unrecognized command line option '--showme:link' これは mpicc のエラーである。この場合、OpenFOAM の並列計算がうまくいかないかもしれない。Anaconda (Python のほう) の MPICH のせいで (Anaconda の mpicc が呼び出されてしまって) このエラーが出て、並列計算がうまくいかなかったことがある。Anaconda のパスを一時的に外したら大丈夫だった。 実行に失敗するParaView を独自に用意している場合、mpiexec のパスが ParaView のものに上書きされてしまうことがある。その場合、OpenFOAM の並列計算はうまくいかないかもしれない。その場合、ParaView へのパスの優先度を下げるか、あるいは、mpirun を用いる。 複数のバージョンの混在複数のバージョンを混在させたい場合、各バージョンの設定ファイルを読み込むエイリアスを作っておけばよい。 ~/.bashrc alias of222='. ~/OpenFOAM/OpenFOAM-2.2.2/etc/bashrc' alias of230='. ~/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc' 次のように設定を有効にする。 $ of230 OpenCFD 版では (v2112 以降?)、公式で OpenFOAM 用のシェルセッションを開始するコマンでが用意されている。 $ openfoam2112 インストールメモ※古いバージョンのメモを参照する場合、リポジトリのパスが変わっている場合があるので注意。 OpenFOAM v13OpenFOAM v2506OpenFOAM v2412OpenFOAM v12OpenFOAM v2406OpenFOAM v2312OpenFOAM v11OpenFOAM v2306OpenFOAM v2212OpenFOAM v10OpenFOAM v2206OpenFOAM v2112OpenFOAM v9OpenFOAM v2106OpenFOAM v2012OpenFOAM v8OpenFOAM v2006OpenFOAM v1912OpenFOAM v7OpenFOAM v1906OpenFOAM v1812OpenFOAM v6OpenFOAM v1806OpenFOAM v1712OpenFOAM 5.0OpenFOAM v1706OpenFOAM 1612+OpenFOAM 4.1OpenFOAM 1606+OpenFOAM 4.0OpenFOAM 3.0+OpenFOAM 3.0.1OpenFOAM 3.0.0OpenFOAM 2.4.0OpenFOAM 2.3.1OpenFOAM 2.3.0OpenFOAM 2.2.2OpenFOAM 2.2.1OpenFOAM 2.2.0OpenFOAM 2.1.1OpenFOAM 2.1.0OpenFOAM 2.0.1OpenFOAM 2.0.0OpenFOAM 1.7.1OpenFOAM 1.7.0OpenFOAM 1.6OpenFOAM 1.5OpenFOAM 1.4.1OpenFOAM 1.3 | |
PENGUINITIS |