乱流モデルの設定

2020年12月29日

はじめに

乱流モデルの設定について。

使用バージョン

OpenFOAM v2006、v8

乱流モデルの設定

乱流モデルの設定は constant/turbulenceProperties で行う。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      turbulenceProperties;
}

simulationType RAS;

RAS
{
    RASModel        kEpsilon;

    turbulence      on;

    printCoeffs     on;
}

simulationType で以下の設定を行う。

laminar
層流。
RAS
レイノルズ平均に基づく乱流モデル。
LES
LES (Large Eddy Simulation) モデル。

※turbulence off は、層流とは異なるので注意。乱流モデルの方程式を解かなくなるだけで、乱流粘性は効き続ける。

レイノルズ平均による乱流モデルは一般的に RANS (Reynolds-Averaged Navier-Stokes) モデルと呼ばれるが、OpenFOAM では RAS (Reynolds-Averaged Simulation) モデルと呼ぶ。

RAS モデルを選択した場合は、辞書の RAS で設定を行う。RASModel で乱流モデルの種類を設定する。以下に代表的なものを挙げる。

RASModel乱流モデル
kEpsilon標準 k-εモデル
LaunderSharmaKELaunder-Sharma 低レイノルズ数型 k-εモデル
RNGkEpsilonRNG k-εモデル
realizableKERealizable k-εモデル
kOmega標準 k-ωモデル
kOmegaSSTSST k-ωモデル
LRRLaunder-Reece-Rodi レイノルズ応力輸送モデル
SSGSpeziale-Sarkar-Gatski レイノルズ応力モデル

非圧縮性流体ソルバーと圧縮性流体ソルバーでは選択できるモデルが異なる。上で挙げたものはどちらでも選択可能なものである。非圧縮性流体ソルバーでは、Lam-Bremhorst 低レイノルズモデル (LamBremhorstKE) や 3 次非線形 k-εモデル (LienCubicKE) なども利用できる。圧縮性流体ソルバーでは浮力を考慮した k-εモデル (buoyantKEpsilon) などが使える。

それぞれ必要とするフィールドファイルや境界条件が異なり、それに合わせてスキームやソルバーの設定をする必要がある。k-εモデルは k と epsilon、k-ωモデルは k と omega、レイノルズ応力輸送モデルは k と epsilon と R (レイノルズ応力) を必要とする。

LES モデルを選択した場合は、辞書の LES で設定を行う。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      turbulenceProperties;
}

simulationType LES;

LES
{
    LESModel        WALE;

    turbulence      on; 

    printCoeffs     on; 

    delta           cubeRootVol;

    cubeRootVolCoeffs
    {   
        deltaCoeff      1;  
    } 

    vanDriestCoeffs
    {
        delta           cubeRootVol;
        cubeRootVolCoeffs
        {
            deltaCoeff      1;
        }
    }

    SmagorinskyCoeffs
    {
        Ck              0.094;
        Ce              1.048;
    }

    kEqnCoeffs
    {
        Ck              0.094;
        Ce              1.048;
    }

    dynamicKEqnCoeffs
    {
        filter          simple;
    }
}

LESModel で LES モデルの種類を指定する。以下に代表的なものを挙げる。

LESModel乱流モデル
SmagorinskySmagorinsky モデル
kEqn1 方程式モデル
dynamicKEqnダイナミック 1 方程式モデル (Kim-Menon)
WALEWALE (Wall-adapting local eddy-viscosity) モデル

delta でフィルター幅の種類を指定する。フィルター幅をセル体積の 1/3 乗 とする "cubeRootVol" のほかに、van Driest 型減衰関数を使用する "vanDriest" などを指定できる。

LES モデルは通常は 3 次元非定常計算で用いるが、2 次元問題や定常計算でも選択できるので、注意が必要である。

バージョン 2.4.0 以前

定常解析における乱流モデルの設定

simpleFoam などの定常解析ソルバーでは、レイノルズ平均に基づく乱流モデルの設定を行うことができる。レイノルズ平均による乱流モデルは一般的に RANS (Reynolds-Averaged Navier-Stokes) モデルと呼ばれるが、OpenFOAM では RAS (Reynolds-Averaged Simulation) モデルと呼ぶ。RAS モデルの設定は constant/RASProperties で行う。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      RASProperties;
}

RASModel        kEpsilon;

turbulence      on;

printCoeffs     on;

RASModel で乱流モデルの種類を設定する。以下に代表的なものを挙げる。

RASModel乱流モデル
laminar層流
kEpsilon標準 k-εモデル
LaunderSharmaKELaunder-Sharma 低レイノルズ数型 k-εモデル
RNGkEpsilonRNG k-εモデル
realizableKERealizable k-εモデル
kOmega標準 k-ωモデル
kOmegaSSTSST k-ωモデル
LRRLaunder-Reece-Rodi RSTM (レイノルズ応力輸送モデル)
LaunderGibsonRSTMLRR + Gibson-Launder 壁反射項 (wall reflection term)

非圧縮性流体ソルバーと圧縮性流体ソルバーでは選択できるモデルが異なる。上で挙げたものはどちらでも選択可能なものである。非圧縮性流体ソルバーでは、Lam-Bremhorst 低レイノルズモデル (LamBremhorstKE) や 3 次非線形 k-εモデル (LienCubicKE) なども利用できる。

それぞれ必要とするフィールドファイルや境界条件が異なり、それに合わせてスキームやソルバーの設定をする必要がある。k-εモデルは k と epsilon、k-ωモデルは k と omega、RSTM は k と epsilon と R (レイノルズ応力) を必要とする。

非定常解析における乱流モデルの設定

pimpleFoam などの非定常解析ソルバーでは、RAS モデルと LES (Large Eddy Simulation) モデルが利用できる。まず、RAS モデルを使うか LES モデルを使うかを constant/turbulenceProperties で選択する。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      turbulenceProperties;
}

simulationType  LESModel;

simulationType で "laminar" か "RASModel"、"LESModel" を指定する。"RASModel" を指定した場合、RASModel の設定を constant/RASProperties で行う。設定方法は定常解析の場合と同じである。

LES モデルを使用する場合、設定は constant/LESProperties で行う。

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      LESProperties;
}

LESModel        Smagorinsky;

delta           cubeRootVol;

printCoeffs     on;

cubeRootVolCoeffs
{
    deltaCoeff      1;
}

vanDriestCoeffs
{
    delta           cubeRootVol;
    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }
}

SmagorinskyCoeffs
{
    ce              1.048;
    ck              0.094;
}

homogeneousDynSmagorinskyCoeffs
{
    filter          simple;
    ce              1.048;
}

oneEqEddyCoeffs
{
    ce              1.048;
    ck              0.094;
}

dynOneEqEddyCoeffs
{
    filter          simple;
    ce              1.048;
}

LESModel で LES モデルの種類を指定する。以下に代表的なものを挙げる。

LESModel乱流モデル
SmagorinskySmagorinsky モデル
homogeneousDynSmagorinskyダイナミック Smagorinsky モデル
oneEqEddy1 方程式モデル

非圧縮性流体ソルバーと圧縮性流体ソルバーでは選択できるモデルが異なる。上で挙げたものはどちらでも選択可能なものである。非圧縮性流体ソルバーでは、ダイナミック 1 方程式モデル (dynOneEqEddy) なども利用できる。

delta でフィルター幅の種類を指定する。フィルター幅をセル体積の 1/3 乗 とする "cubeRootVol" のほかに、van Driest 型減衰関数を使用する "vanDriest" などを指定できる。

乱流モデルの選択

ある問題に対してどの乱流モデルを採用すべきかは、問題によるため一概にはいえない。目安として、各モデルについてつぎのような傾向がある。

  • RANS モデルはレイノルズ平均をベースにしている関係で、詳細な非定常現象の再現には向かない。
  • 標準 k-εモデルは比較的計算しやすく、大まかな流れのパターンを見るような用途に向いている。
  • k-ε系統のモデル (渦粘性モデル) は乱れの等方性を仮定しているため、曲がりや旋回、はく離などの流れには向かない。RNG k-ε モデル、Realizable k-ε モデルなどは標準 k-ε モデルのもつ欠点の改善を試みたモデルであり、標準 k-ε モデルよりはいくらかましな結果を出すことがある。
  • レイノルズ応力輸送モデルは乱れの非等方性を考慮できるため、k-ε系統のモデルよりは旋回流などの傾向を捉えられる可能性がある。ただし、方程式の数が増えるため、単純に方程式の数で考えると、計算時間が k-ε系統の 3 倍以上になる。
  • レイノルズ応力輸送モデルよりも精度が必要な場合は LES モデルを検討することになるが、さらに計算時間がかかるため、計算資源と時間を確保できる場合にかぎられる。

自分が解きたい問題と似たような問題に取り組んでいる文献を見つけ、どのような乱流モデルを使っているか参考にするとよい。

乱流計算の手順

どの乱流モデルを使うか決められたとして、はじめからそのモデルを使用して計算するとに発散してしまうことがある。その場合は、まず最も安定して計算できる標準 k-εモデルで計算し、その結果をもとに目的のモデルの計算を行うとうまくいくことがある。