cfMesh によるメッシュの作成

2019年11月11日

はじめに

cfMesh によるメッシュの作成について。

使用バージョン

OpenFOAM v1906

ファイル

形状

cfMesh によるメッシュの作成

cfMesh は、もともと OpenFOAM の標準ユーティリティではないが、ESI 版 v1712 から組み込まれている。機能は snappyHexMesh と同様で、STL などの形状ファイルから、ほぼ六面体セルによるメッシュを半自動的に作成することができる。

ミキシングエルボーモデルでメッシュ作成してみる。チュートリアルファイルをベースにする。

$ cp -r $WM_PROJECT_DIR/modules/cfmesh/tutorials/cartesianMesh/elbow_90degree mixing_elbow
$ cp mixing_elbow.stl mixing_elbow
$ cd mixing_elbow

設定ファイルは "system/meshDict" である。

system/meshDict

FoamFile
{
    version   2.0;
    format    ascii;
    class     dictionary;
    location  "system";
    object    meshDict;
}

surfaceFile "mixing_elbow.stl";

minCellSize 0.001;

maxCellSize 0.001;

boundaryCellSize 0.003;

localRefinement
{
}

boundaryLayers
{
    nLayers 3;

    thicknessRatio 1.1;

    maxFirstLayerThickness 0.005;

    patchBoundaryLayers
    {
    }
}

renameBoundary
{
}

実行は "cartesianMesh" である。

$ cartesianMesh

snappyHexMesh に比べてだいぶん単純である。

境界層メッシュ

境界層メッシュは、境界ごとに設定を変えることもできる。

boundaryLayers
{
    patchBoundaryLayers
    {
        side
        {
            nLayers 3;

            thicknessRatio 1.1;

            maxFirstLayerThickness 0.005;
        }
    }
}

細分化

境界周辺を細分化指定することができる。

localRefinement
{
    in2
    {
        cellSize 0.0005;
    }
}