OpenFOAM の概要

2016年3月15日

はじめに

OpenFOAM の概要について。

使用バージョン

OpenFOAM 2.4.0/3.0.1

OpenFOAM マップ

計算の手順

計算の手順を下図に示す。

解析対象の条件が固まったら、ふつうはまずメッシュの作成から取りかかる。メッシュは、商用メッシャー (商用ソルバー付属のものや、各商用ソルバーに対応したメッシュ作成専用ソフトなど) があれば、それで作ったメッシュを OpenFOAM 用に変換するのが手っ取り早い。商用メッシャーがなければ、OpenFOAM 付属のもの (blockMesh、snappyHexMesh など) を利用するか、オープンソースのメッシュ作成ソフト (Salome など) を利用する (下図。詳しくは OpenFOAM 用メッシュの作成 を参照)。

最後の結果の評価には、OpenFOAM 付属の paraFoam (ParaView) を用いる (ParaView の使い方については ParaView 入門 を参照)。商用のポスト処理ソフトを使ってもよい。

計算条件の設定

計算条件の設定の手順を下図に示す。

ソルバーの選択

OpenFOAM は流体解析ソルバーではなく、流体解析ソルバー開発用ツールであるが、標準ソルバーが備わっている。一般的な流体解析ソルバーと異なり、ひとつのソルバーにおいて解きたい問題に合わせてオプションを選択するのではなく、問題ごとにソルバーが分かれているため、まずは解きたい問題に合ったソルバーを選択する必要がある (もし適当なものがなければ開発する必要がある)。

標準ソルバーのコードは $FOAM_SOLVERS にある。ソルバーはカテゴリごとに分けてあり、そのカテゴリに応じたディレクトリに入っている。

主なソルバーは以下の通り。

basic : 基本

  • laplacianFoam : 拡散方程式ソルバー
  • potentialFoam : ポテンシャル流れソルバー
  • scalarTransportFoam : スカラー輸送方程式ソルバー

incompressible : 非圧縮性流体

  • icoFoam : 非定常層流解析ソルバー
  • simpleFoam : 定常乱流解析ソルバー (SIMPLE 法)
  • pisoFoam : 非定常乱流解析ソルバー (PISO 法)
  • pimpleFoam : 非定常乱流解析ソルバー (PIMPLE = PISO + SIMPLE 法)

heatTransfer : 熱流動

  • buoyantBoussinesqSimpleFoam : 定常熱流動解析ソルバー (Boussinesq 近似)
  • buoyantBoussinesqPimpleFoam : 非定常熱流動解析ソルバー (Boussinesq 近似)
  • buoyantSimpleFoam : 定常熱流動解析ソルバー
  • buoyantPimpleFoam : 非定常熱流動解析ソルバー

multiphase : 混相流

  • interFoam : VOF 法による 2 相流解析ソルバー
  • multiphaseInterFoam : VOF 法による多相流解析ソルバー

標準ソルバーのより詳細なリストについては ユーザーガイド を参照。

下図に、よく利用されるソルバーについての選択手順を示す。

ケースの設定

計算条件の設定 (ケース) は、1 つのファイルではなく、1 つのディレクトリになっており、その中にいくつかのファイルが含まれる形になっている。これらのファイルをエディタで編集して設定を行う。必要なファイルをすべて自分で用意するのは大変だが、標準ソルバーに対応したケース例 (チュートリアルケース) が $FOAM_TUTORIALS に含まれているので、ふつうはそれをコピーするなり参考にするなりして、ケースを作成する。

ケースディレクトリには以下のようなファイル、ディレクトリが含まれる。

constant

メッシュや物性値、乱流モデルなどの設定が含まれるディレクトリ。以下のようなファイル、ディレクトリを含む。

  • polyMesh
    メッシュ情報を含むディレクトリ。
  • transportProperties, thermophysicalProperties
    物性値の設定ファイル。ソルバーによって必要なファイルが異なる。
  • g
    重力の設定ファイル。浮力などの考慮に必要。
  • turbulenceProperties, RASProperties, LESProperties
    乱流モデルの設定ファイル。Ver. 3.x では、turbulenceProperties で設定を行う。Ver. 2.x では、定常解析ソルバーでは RASProperties、非定常解析ソルバーでは turbulenceProperties で設定を行う。後者では RAS を使うか LES を使うかで、別途 RASProperties, LESProperties がそれぞれ要求される。

0

フィールド (場) の変数の設定ファイル (たとえば、速度 U、圧力 p、温度 T など) が含まれるディレクトリ。フィールドファイルにおいて境界条件や初期値の設定を行う。0 は初期時刻の意味で、計算中、同様の形式の計算結果ファイルを含むディレクトリが各出力時刻の名前で作成される。

system

計算の制御の設定ファイルなどが含まれるディレクトリ。以下のようなファイルを含む。

  • fvSchemes
    離散化スキームの設定ファイル。
  • fvSolution
    代数方程式ソルバーの設定と、SIMPLE 法などの設定を含むファイル。
  • controlDict
    計算の制御の設定ファイル。計算の終了時刻や時間刻み幅、結果の出力タイミングなどを設定できる。

設定ファイルの書式については 設定ファイルの書式 を参照。

計算条件の設定の詳細については、以下を参照。

計算の実行

計算の実行するには、ケースディレクトリ内でソルバーを実行すればよい。たとえば、simpleFoam をソルバーとして用いる場合は、端末でケースディレクトリに移動し、以下のようにコマンドを打ち込む。

$ simpleFoam

詳細については ソルバーの実行 を参照。