ToB企服应用市场:ToB评测及商务社交产业平台

标题: 09、openfoam案例之圆柱绕流 [打印本页]

作者: 曂沅仴駦    时间: 2023-4-10 22:54
标题: 09、openfoam案例之圆柱绕流
1、原视频地址

https://www.bilibili.com/video/BV1ME411A73k/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=33b50a4dd201d7564e6e63d321809ce9
2、网格划分及导入

2.1 网格划分

本案例使用ICEM划分网格,并导入openfoam中

2.2 网格转换

目前通过在 3 维中定义网格来处理 2 维几何,其中前平面和后平面定义为空边界块类型。读取二维 Fluent 网格时,转换器会自动在第三方向拉伸网格并添加空面片,将其命名为 frontAndBackPlanes。
fluentMeshToFoam:读取fluent.msh网格文件。(指南的5.5章)
命令:
  1. fluentMeshToFoam <meshFile>
复制代码

2.3 检查网格
  1. checkMesh
复制代码

system/blockMeshDict文件可以删除
3、边界条件

3.1 网格boundary

这是转换网格后自动生成的。
  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       polyBoundaryMesh;
  12.     location    "constant/polyMesh";
  13.     object      boundary;
  14. }
  15. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  16. 5
  17. (
  18.     INLET
  19.     {
  20.         type            patch;
  21.         nFaces          30;
  22.         startFace       13060;
  23.     }
  24.     OUTLET
  25.     {
  26.         type            patch;
  27.         nFaces          30;
  28.         startFace       13090;
  29.     }
  30.     WALL
  31.     {
  32.         type            wall;
  33.         inGroups        List<word> 1(wall);
  34.         nFaces          100;
  35.         startFace       13120;
  36.     }
  37.     CYLINDER
  38.     {
  39.         type            wall;
  40.         inGroups        List<word> 1(wall);
  41.         nFaces          120;
  42.         startFace       13220;
  43.     }
  44.     frontAndBackPlanes // 空,表示2维
  45.     {
  46.         type            empty;
  47.         inGroups        List<word> 1(empty);
  48.         nFaces          13200;
  49.         startFace       13340;
  50.     }
  51. )
  52. // ************************************************************************* //
复制代码
3.2 0/P文件

  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       volScalarField;
  12.     object      p;
  13. }
  14. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  15. dimensions      [0 2 -2 0 0 0 0];
  16. internalField   uniform 0;
  17. boundaryField
  18. {
  19.     INLET // 压力梯度为0
  20.     {
  21.         type            zeroGradient; // 压力梯度为0
  22.     }
  23.    
  24.     WALL
  25.     {
  26.         type            zeroGradient;
  27.     }
  28.     CYLINDER
  29.     {
  30.         type            zeroGradient;
  31.     }
  32.    
  33.     OUTLET // 出口压力为固定值0
  34.     {
  35.         type            fixedValue;
  36.         value           uniform 0;
  37.     }
  38.     frontAndBack
  39.     {
  40.         type            empty;
  41.     }
  42. }
  43. // ************************************************************************* //
复制代码
3.3 0/U文件

  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       volVectorField;
  12.     object      U;
  13. }
  14. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  15. dimensions      [0 1 -1 0 0 0 0];
  16. // 场内初始值
  17. internalField   uniform (50 0 0);
  18. boundaryField
  19. {
  20.     INLET // 速度为固定值ux=50m/s
  21.     {
  22.         type            fixedValue;
  23.         value           uniform (50 0 0);
  24.     }
  25.    
  26.     WALL
  27.     {
  28.         type            fixedValue;
  29.         value           uniform (50 0 0);
  30.     }
  31.    
  32.     OUTLET
  33.     {
  34.         type            zeroGradient;
  35.     }
  36.     CYLINDER
  37.     {
  38.         type            fixedValue;
  39.         value           uniform (0 0 0);
  40.     }
  41.     frontAndBack
  42.     {
  43.         type            empty;
  44.     }
  45. }
  46. // ************************************************************************* //
复制代码
oepnfoam中zeroGradient和uniform (0 0 0)的区别:
zeroGradient只表示在边界上梯度不变,并不是不随时间变化。
uniform (0 0 0)更强硬一些,就是为某个值。
4、计算参数

4.1 controlDict
  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       dictionary;
  12.     location    "system";
  13.     object      controlDict;
  14. }
  15. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  16. application     icoFoam;
  17. startFrom       startTime;
  18. startTime       0;
  19. stopAt          endTime;
  20. endTime         0.05;
  21. deltaT          0.00001; // Co = U * t / x
  22. writeControl    timeStep;
  23. writeInterval   100;
  24. purgeWrite      0;
  25. writeFormat     ascii;
  26. writePrecision  6;
  27. writeCompression off;
  28. timeFormat      general;
  29. timePrecision   6;
  30. runTimeModifiable true;
  31. // ************************************************************************* //
复制代码
4.2 fvSchemes
  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       dictionary;
  12.     location    "system";
  13.     object      fvSchemes;
  14. }
  15. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  16. ddtSchemes
  17. {
  18.     default         Euler;
  19. }
  20. gradSchemes
  21. {
  22.     default         Gauss linear;
  23.     grad(p)         Gauss linear;
  24. }
  25. divSchemes
  26. {
  27.     default         none;
  28.     div(phi,U)      Gauss linear;
  29. }
  30. laplacianSchemes
  31. {
  32.     default         Gauss linear orthogonal;
  33. }
  34. interpolationSchemes
  35. {
  36.     default         linear;
  37. }
  38. snGradSchemes
  39. {
  40.     default         orthogonal;
  41. }
  42. // ************************************************************************* //
复制代码
4.3 fvSolution
  1. /*--------------------------------*- C++ -*----------------------------------*\
  2.   =========                 |
  3.   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
  4.    \\    /   O peration     | Website:  https://openfoam.org
  5.     \\  /    A nd           | Version:  9
  6.      \\/     M anipulation  |
  7. \*---------------------------------------------------------------------------*/
  8. FoamFile
  9. {
  10.     format      ascii;
  11.     class       dictionary;
  12.     location    "system";
  13.     object      fvSolution;
  14. }
  15. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  16. solvers
  17. {
  18.     p
  19.     {
  20.         solver          PCG;
  21.         preconditioner  DIC;
  22.         tolerance       1e-06;
  23.         relTol          0.05;
  24.     }
  25.     pFinal
  26.     {
  27.         $p;
  28.         relTol          0;
  29.     }
  30.     U
  31.     {
  32.         solver          smoothSolver;
  33.         smoother        symGaussSeidel;
  34.         tolerance       1e-05;
  35.         relTol          0;
  36.     }
  37. }
  38. PISO
  39. {
  40.     nCorrectors     2;
  41.     nNonOrthogonalCorrectors 0;
  42.     pRefCell        0;
  43.     pRefValue       0;
  44. }
  45. // ************************************************************************* //
复制代码
5、计算
  1. icoFoam > log
复制代码

6、后处理

生成临时后处理文件
  1. paraFoam -builtin
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4