OpenFOAMはじめてみました。
Openfoamをはじめたいとおもいたって、取り組んでみました。
今回は、環境構築のメモです。今回は、ソースコードをコンパイルしてインストールしています。
paraViewは、別のコンパイル済みのものを使うことにしています。
セットアップ環境
ハードは、ASUS chromebook Flip CM5 (CM5500)です。
Chromebookのlinux環境の設定は、以下にならって設定しました。
Chrome OSのバージョンは以下のとおりです。
Linuxのバージョンを以下のコマンドで確認してみました。
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Openfoam
Openfoam-v2106 をインストールしていきます。以下のサイトを参考にしています。
Openfoamには、.orgもあり、.comの方が機能は色々揃っているようです。くわしくは参考文献を参照ください。
ソースコードの取得と解凍
HPのDownloadよりSourceを選択して以下の画面に飛びます。
表示されているリンクをたどると
以下の画面に開きます。今回は、Paraviewは、独立して利用することを前提に考えているので、OpenFOAM-v2106.tgz (ソースコード)のみをダウンロードします。(ThirdPartyは、paraViewを独立して使う事を考えているので、今回は、コンパイルしません。)
ソースコードは、HOMEフォルダの直下にopenfoamフォルダをつくり、その中で解凍しました。以下のコマンドをソースコードを保存したフォルダで実行します。
tar -zxvf OpenFOAM-v2106.tgz
~/openfoam/OpenFOAM-v2106 というフォルダができてその下にソースコードが解凍されます。
コンパイルのための準備
ソースコードのダウンロードリンクのあったページを勧めていくと、コンパイルに必要な準備について記載があります。
以下の画面のsystem requirementsのリンクにすすみます
必要な各種ソフトのバージョンについての留意などが記載されています。
とりあえず必要なソフトをインストールしました。
sudo apt-get update
sudo apt-get install build-essential autoconf autotools-dev cmake gawk gnuplot
sudo apt-get install flex libfl-dev libreadline-dev zlib1g-dev openmpi-bin libopenmpi-dev mpi-default-bin mpi-default-dev
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
システムコンポーネントを使用する場合は、以下をインストールすることもできますと説明がありました。正確にはわからなかったのですが、入れておきました。
sudo apt-get install libfftw3-dev libscotch-dev libptscotch-dev libboost-system-dev libboost-thread-dev libcgal-devこ
ソースコードのダウンロードリンクのページにもどり、コンパイルのためのパスの設定の説明があります。ソースコードを展開舌場所が、~/openfoamになるので、以下のコマンドになります。
source ~/openfoam/OpenFOAM-v2106/etc/bashrc
コンパイルの実行
説明にならって以下のコマンドを実行してみる。
foamSystemCheck
以下の結果がえられました。
コンパイルの準備が整った様子。
foam
を実行すると、~/openfoam/OpenFOAM-v2106に移動します。
以下の説明にならって、
./Allwmake -j -s -q -l
と実行すると、コンパイルが始まります。4時間ぐらいかかります。コンパイルエラーとなることが何回かありましたが、./Allwamke -j -s -q -l を再実行すると完了まで行くことができました。
コンパイル後の確認
foamInstallationTest
を実行するとコンパイル結果が表示されます。
たくさんのメッセージが表示されて、最後にOKとなっていれば問題ないようです。
HOMEフォルダの直下に、practiceなどフォルダをつくりその中で
cp -r "$FOAM_TUTORIALS"/incompressible/simpleFoam/pitzDaily ./
を実行して、Tutorialの例題をコピーする。
cd pitzDaily && blockMesh && simpleFoam
を実行すると計算が始まり、
計算が終了すると表示される。
touch pitzDaily.foam
を実行して、paraview用のファイルを作成する。
このファイルをparaviewで開くと、計算結果を表示、確認することができる。
速度のコンター図、速度ベクトルを表示した結果を示す。
(paraviewのインストール、使い方の説明は省いている。)
まとめ
Openfoamのインストールと、インストール確認のためのチュートリアルの例を一つ実行した。
所感
とりあえずインストールして環境を準備してみた。流体力学、Openfoamについては、もっと勉強する必要がある。少しづつ積み上げていこうと思う。
参考文献
川畑 真一、OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing)) Kindle版、インプレスR&D、2021