OpenFOAM中topoSet和refineMesh的使用方法

通过 refineMesh进行网格加密,system 文件夹下需要两个文件,topoSetDict 和 refineMeshDict。

topoSetDict中的内容:

 1 /*--------------------------------*- C++ -*----------------------------------*\
 2 | =========                 |                                                 |
 3 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 4 |  \\    /   O peration     | Version:  5                                     |
 5 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 6 |    \\/     M anipulation  |                                                 |
 7 \*---------------------------------------------------------------------------*/
 8 FoamFile
 9 {
10     version     2.0;
11     format      ascii;
12     class       dictionary;
13     location    "system";
14     object      topoSetDict.1;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 
18 actions
19 (
20     {
21         name    c0;
22         type    cellSet;
23         action  new;
24         source  boxToCell;
25         sourceInfo
26         {
27             box (0.004 -0.001 -1) (0.012 0.001 1);//需要进行细化的区域
28         }
29     }
30 );
31 
32 // ************************************************************************* //

refineMeshDict中的内容:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  5                                     |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

set             c0;

coordinateSystem global;

globalCoeffs
{
    tan1            (1 0 0);//网格细化的第一个方向,这里可以理解为x方向
    tan2            (0 1 0);//网格细化的第二个方向,这里可以理解为y方向
    //tan3            (0 0 1);//网格细化的第三个方向,这里可以理解为z方向
}

directions      ( tan1 tan2 );//二维网格,只需要定义两个方向
//directions      ( tan1 tan2 tan3 );//三维网格则需要定义三个方向

useHexTopology  yes;

geometricCut    no;

writeMesh       no;


// ************************************************************************* //

refineMesh的使用命令:

1 blockMesh
2 
3 topoSet
4 
5 refineMesh -overwrite

如果需要在前面topoSetDict中定义的区域进一步细化,则需要再次执行:

1 topoSet
2 
3 refineMesh -overwrite

 

posted @ 2023-06-04 17:52  希望先生  阅读(917)  评论(0编辑  收藏  举报