OpenCAE Hobby Lab
OpenCAE Hobby Lab

GPT4oによるblockMeshDictの生成

OpenFOAMでメッシュを作成しようと思っています。直径1m、長さ10mの円形流路のメッシュを構築できるblockMeshDictを書いてください
OpenFOAMで直径1m、長さ10mの円形流路のメッシュを作成するための`blockMeshDict`ファイルの例を以下に示します。このファイルは、OpenFOAMの`system`フォルダ内に配置されるべきものです。

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \    /   O peration     | Version:  v2006                                 |
|   \  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
/* Description
 *  blockMeshDict for a cylindrical duct with diameter 1m and length 10m.
 */
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(
    (0 -0.5 0)       // 0
    (0 0.5 0)        // 1
    (10 -0.5 0)      // 2
    (10 0.5 0)       // 3
    (0 -0.5 1)       // 4
    (0 0.5 1)        // 5
    (10 -0.5 1)      // 6
    (10 0.5 1)       // 7
);

blocks
(
    hex (0 1 3 2 4 5 7 6) (100 20 1) simpleGrading (1 1 1)
);

edges
(
    arc 0 1 (0 0 0)
    arc 2 3 (10 0 0)
    arc 4 5 (0 0 1)
    arc 6 7 (10 0 1)
);

boundary
{
    inlet
    {
        type patch;
        faces
        (
            (0 1 5 4)
        );
    }

    outlet
    {
        type patch;
        faces
        (
            (2 3 7 6)
        );
    }

    wall
    {
        type wall;
        faces
        (
            (0 2 6 4)
            (1 3 7 5)
            (0 1 3 2)
            (4 5 7 6)
        );
    }
}

mergePatchPairs
(
);

この設定では、円形の断面を表現するために`arc`エッジを使用しています。また、メッシュの細かさは適宜調整してください(例:`(100 20 1)`はメッシュの分割数を示します)。`boundary`セクションでは、入口(`inlet`)、出口(`outlet`)、および壁(`wall`)を定義しています。

これを使用して、円形流路のメッシュを作成できます。必要に応じて、`vertices`や`blocks`の定義を調整してください。
hammamania.tech