2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

functionを利用したOpenFOAMソルバーへのscalar transportの追加

Last updated at Posted at 2021-12-05

はじめに

化学種などの輸送を解析したいケースでは、combustionカテゴリーにあるソルバーを使うことになります。
その前にざっくりと計算をしてみたいときなどは、simpleFoamやpimpleFoamなどの既存ソルバーに、スカラー量の輸送方程式、モデルを追加するのが早いです。
ここでは、OpenFOAMのfunctionを利用した実装方法をまとめます。

なお、スカラー量輸送の追加方法は、既に他サイト(例えばここ)でまとめられているところではありますが、自分の学習・復習目的のために、ここでまとめさせていただきます。その点、ご容赦ください。

functionを用いた実装方法

解きたいスカラー量を$C$とした場合、

\frac{\partial C}{\partial t} + ({\bf U} \cdot \nabla) {C} = D \nabla^2 {C}

の支配方程式を追加することになります。修正、追加が必要となるファイルは次の

  • system/controlDict
  • system/fvSolution
  • system/fvScheme
  • 0/C

になります。

system/controlDict

スカラー量の輸送解析を追加するのは、controlDict内のfunctionsの中で行います。
以下のように追記してください。

controlDict
functions
{
    scalar0
    {
        type    scalarTransport;
        functionObjectLibs ("libsolverFunctionObjects.so");
        enabled true;
        writeControl    outputTime;

        field   C;
        nCorr 1;
        D   0.0001; // Diffusion coefficient

        log yes;
    }
}

system/fvSolution

行列解法の指定を行います。
おすすめは以下にあるPBiCGStabです。

fvSolution
solvers
{
   ...
   C
    {
        solver      PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-6;
        relTol          0;
        minInter        1;
    }
}

system/fvScheme

所望の差分スキームを追記します。
多くの場合は、以下のスキームで良いと思います。

fvScheme
divSchemes
{
    ... 
    div(phi,C)    Gauss   linearUpwind grad(C);
}

解析例

以下はpimpleFoam/channel1395に対し、スカラー量$C$の輸送を追加したものになります。下面からスカラー量が染み出してきて、それが左から右に流されている様を表しています。

キャプチャ.PNG

まとめ

以上が化学種などの輸送を想定したスカラー量輸送解析のfunction機能を利用した実装方法です。比較的、容易に化学種の輸送を計算することができます。
なお、化学種輸送をより正確に計算したい場合は、combustion系のソルバーを用いるのが良いと思います(化学種濃度分布による密度変化や多元素輸送拡散時の拡散係数を考慮できる)。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?