OpenFOAM

最終更新日:2024年6月25日


OpenFOAM (Field Operation and Mnipulation) は、 複雑な条件の流体計算から分子動力学や電磁気学等、さまざまな現象をシミュレートする構造化された統合ソルバー集です。 OpenFOAM は OpenCFD 社が開発している版 (vYYMM) と、 The OpenFOAM Foundation が開発している版 (4.x, 5.x, …) があり、ともに GPL ライセンスの下でオープンソースとして開発と配布がなされています。

OpenFOAM に関する情報は以下をご覧下さい。
OpenFOAM 公式ドキュメント(英語)

OpenCAE 学会


利用環境

  • ノードグループA, B, C, ログインノード
バージョン 九州大学構成員 学術研究機関構成員 民間利用の方
OpenCFD 版 v2106

利用方法

準備

計算を始める前の準備はログインノード上で対話処理により行います。
OpenFOAM で実行可能な case 一式を既にお持ちの場合は準備は必要ありません。

◆環境設定

version: v2106

$ module load gcc/8
$ module load impi/2021.12
$ module load openfoam/v2106
$ source $WM_PROJECT_DIR/etc/bashrc

◆case の作成

OpenFOAM で計算をするための case を作成してください。
case の場所は $HOME 以下であれば何処でも構いませんが、
$WM_PROJECT_USER_DIR で指定されている場所に置くことが推奨されています。

なお、チュートリアルが $WM_PROJECT_DIR/tutorials/ 以下にありますので、 case のサンプルとして利用できます。

◆pre-processing

前処理として、メッシュの生成や並列実行の為のメッシュ分割などを行います。

なお、これらの処理がログインノード上で実行するには重すぎると判断される場合にには、
あらかじめメッシュ分割を済ませた case を用意するか、バッチ処理にて実行して下さい。

◆プログラムのコンパイル

自作のプログラムを OpenFOAM に組み込んで利用する場合は wmake で コンパイル を行います。

コンパイルした実行形式は $FOAM_USER_APPBIN に入れてください。
ライブラリをコンパイルされた場合は $FOAM_USER_LIBBIN に入れてください。
これらの設定は、プログラム・ソースディレクトリにある Make/files で行います。

実行方法(バッチジョブ)

$WM_PROJECT_DIR/tutorials/incompressible/simpleFoam/turbineSiting
にあるサンプルディレクトリをコピーしたものを、ノードグループAにおいて実行する例です。

#!/bin/bash
#PJM -L "rscgrp=a-batch"
#PJM -L "vnode=1"
#PJM -L "vnode-core=8"
#PJM -L "elapse=00:10:00"
#PJM -j

module load gcc/8
module load impi/2021.12
module load openfoam/v2106

source $WM_PROJECT_DIR/etc/bashrc
./turbineSiting/Allclean
./turbineSiting/Allrun