Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. foam-extend-4.0 pisoFoam 计算二维圆柱绕流

foam-extend-4.0 pisoFoam 计算二维圆柱绕流

已定时 已固定 已锁定 已移动 OpenFOAM
17 帖子 5 发布者 4.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • G 离线
    G 离线
    Gunther
    写于 最后由 编辑
    #1

    各位大佬!我目前进行二维圆柱绕流的计算,Re=1e4和5e4。圆柱直径D=0.1m,介质是水(nu=1e-6),计算域和生成网格(STARCCM生成并导入)如图所示:

    图片1.png
    图片3.png

    湍流模型为 RAS kOmegaSST,边界条件参考Chalmers大学教程设置:

    图片2.png

    计算结果如下:最大库朗数为0.27,最大壁面y+<0.3,阻力系数误差<1%,St误差约为30%。St计算公式为:fD/U,f由升力时历曲线fft得到。

    fvSolution

    solvers
    {
    p
    {
    solver PCG;
    preconditioner DIC;
    tolerance 1e-05;
    relTol 0.01;
    }
    pFinal
    {
    solver PCG;
    preconditioner DIC;
    tolerance 1e-07;
    relTol 0;
    }
    U
    {
    solver BiCGStab;
    preconditioner DILU;
    tolerance 1e-08;
    relTol 0;
    }
    k
    {
    solver BiCGStab;
    preconditioner DILU;
    tolerance 1e-08;
    relTol 0;
    }
    omega
    {
    solver BiCGStab;
    preconditioner DILU;
    tolerance 1e-08;
    relTol 0;
    }
    }
    PISO
    {
    momentumPredictor yes;
    nCorrectors 3;
    nNonOrthogonalCorrectors 2;
    pRefCell 0;
    pRefValue 0;
    }
    

    fvSchemes:

    ddtSchemes
    {
    default CrankNicolson 0.7;
    }
    gradSchemes
    {
    // default cellLimited Gauss linear 0;
    // grad(U) cellLimited Gauss linear 0.333;
    default leastSquares;
    }
    divSchemes
    {
    default none;
    div(phi,U) Gauss linearUpwind grad(U);
    div(phi,k) Gauss linearUpwind default;
    div(phi,omega) Gauss linearUpwind default;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
    }
    laplacianSchemes
    {
    default Gauss linear limited 1;
    }
    interpolationSchemes
    {
    default linear;
    }
    snGradSchemes
    {
    default limited 1;
    }
    

    跪求老师指点迷津,如何提高St计算精度。

    1 条回复 最后回复
  • C 离线
    C 离线
    cresendo
    写于 最后由 编辑
    #2

    可以尝试下ddt scheme改为backward,div scheme里的div(phi, U)改为LUST

    C G 2 条回复 最后回复
  • C 离线
    C 离线
    cresendo
    在 中回复了 cresendo 最后由 编辑
    #3

    同时检查下壁面的y+值,以及是否需要采用nutLowRe这个边界条件

    G 1 条回复 最后回复
  • tidedrinkerT 离线
    tidedrinkerT 离线
    tidedrinker
    写于 最后由 编辑
    #4

    @Gunther ,我有个问题,我看到你在另一个帖子里发了类似的信息,误差是一致的,但是你贴的fvScheme和fvSolution有很大区别,可以说一下你用的是哪个吗?还是说,两个你都试过,但是结果差别很小?

    我也在做圆柱绕流的模拟,网格是用ICEM生成的结构网格,中央O型分割的那种,各种论文中很常见的形式。但我的问题是,在亚临界区(2e4)我做出来的Cd高得离谱,大概比Wieselsberger的数据高50%。反而在临界区和超临界区看上去还好,虽然那个断崖还是对不太上。然后我试了一下的三维的模拟,然后数据一下子正常了;但三维的计算资源消耗太厉害了,而且在临界区和超临界区没什么优势。所以想问一下,你的计算设置是什么样的。

    另外,关于St,St用的那个f,和升力的f不是一回事吧?我记得是有个两倍的关系,虽然你那个值考虑倍数关系后还是不对。我的阻力差的很多,反而St大差不差,0.2多一点,不到0.21,还算可以。

    此外,还有个问题,圆柱绕流对网格很敏感,不确定你这种网格会有多大影响。

    更高的主频,更多的核心

    G 1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 cresendo 最后由 编辑
    #5

    @cresendo 好的,谢谢,我尝试一下

    1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 cresendo 最后由 编辑
    #6

    @cresendo 您好!我监测了y+,目前y+满足小于1的条件。

    以下是我查到的对于nut边界条件的设置。之前也将壁面nut设为0,但是我记忆中这样就无法使用yPlusRAS操作得到壁面y+了。
    nutLowReWallFunction seems to be only a placeholder for a fixedValue zero for nut, but holds some inherited information like yPlus calculation and coefficients/constants from nutWallFunction.

    1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 tidedrinker 最后由 编辑
    #7

    @tidedrinker 您好!先回复关于St计算的事。如图所示。我这里面的f是升力的波动频率,如果是阻力的 波动频率为2f。

    图片1.png

    其次,非常感谢您分享您的研究经历,我看到很多学者和论文提到了圆柱绕流高雷诺数的三维效应,高雷诺数下二维相较于三维就是有问题。我也是因为计算资源的事情一直执着二维计算。但结合您的经验来看,高雷诺数下的三维计算不可避免。

    图2.png
    Modelling turbulent flow past a circular cylinder by RANS, URANS, LES and DES

    至于我fvSchemes的设置,两个帖子都是我的设置,计算结果影响不大。并且有些unbounded的二阶格式会导致结果震荡。

    tidedrinkerT 1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    写于 最后由 编辑
    #8

    更新一下,参考了这个大神的帖子:Cd计算不准的问题-LES-Re3900-三维圆柱绕流-pisoFoam and 分享:OpenFOAM不同离散格式的简单研究

    修改了离散格式,全改为了二阶精度并进行非正交修正。并且重新绘制了网格。

    微信截图_20241030163847.png

    结果目前不是很理想,仍在修改。同时我计算了二维和三维的圆柱绕流(Re=3900),发现计算维度对计算结果影响较大,二维计算得到的阻力系数和斯特罗哈数都相较三维结果和试验值均偏大。

    但受限于计算资源,希望各位高雷诺数二维圆柱绕流计算结果较好的大佬分享一下经验,救救孩子,先行拜谢!

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #9

    二维计算得到的阻力系数和斯特罗哈数都相较三维结果和试验值均偏大

    至少在多相流领域,2D计算跟3D计算的差别非常大。http://dyfluid.com/openfoam.html#id13 在这个算例里面,只有3D才有理想的周期运动。

    针对你圆柱绕流2D与3D的区别,可能也是如此,不过这个我之前还真没关心过。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    G 1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 李东岳 最后由 编辑
    #10

    @李东岳 谢谢李老师的经验分享!

    1 条回复 最后回复
  • tidedrinkerT 离线
    tidedrinkerT 离线
    tidedrinker
    在 中回复了 Gunther 最后由 编辑
    #11

    @Gunther 三维效应这个东西,我模拟的时候在1e4到1e5的时候比较明显;1e5之后,进入临界区了二维模拟就可以提供还算可以的结果了,临界区的那个骤降-回升的趋势也大致可以做出来,虽然具体数值有差异;更小的1e3量级的我还没试过,不确定什么情况。

    我咨询过其他人,有人用StarCCM模拟二维圆柱绕流,1e4到5e4能得到大差不差的阻力系数。我这无论如何都做不出来,各种求解参数,边界层参数都改过,最近的还差1/3,就很离谱。

    然后我就怀疑是网格类型的问题,用ICEM生成的,无论是矩形计算域还是圆形计算域,都不行;ICEM生成的非结构网格,过渡很僵硬,算起来会报错;如果减少中央O形区域的直径,会有强烈的不规则的振荡。我想试试二维的多面体网格和笛卡尔网格,但是Fluent Meshing、Ansys mesh和ICEM都不支持,可以用棱柱体,但操作起来很麻烦。后来发现StarCCM可以做三维转二维,我也确实实现了。但是,新的问题是,ccmToFoam不支持转二维网格,通过fluent进行中转也走不通,plt格式也好,cgns也好,对二维的支持都有问题。所以想问一下你,你的CCM网格是怎么转成OpenFOAM网格的?

    更高的主频,更多的核心

    李东岳李 G 2 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 tidedrinker 最后由 编辑
    #12

    @tidedrinker 你用ccmToFoam转换3D网格过去后,extrude成2D的呢?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 tidedrinker 最后由 编辑
    #13

    @tidedrinker 非常感谢您分享您的经验!
    我这个算例拿starccm跑过(二维网格,没有z轴厚度)结果并不理想,我也十分苦恼。

    关于starccm网格导入openfoam,我个人的经验是先有starccm导出.ccm格式的三维网格,之后用ccm26ToFoam *.ccm操作就可以将三维网格导入openfoam了,值得注意的是,openfoam没有纯二维,都是通过设置empty边界条件实现二维的模拟,需要注意的是z方向网格数为1,这里会用到extrudeMesh的操作,具体内容见田东老师的视频
    希望能够帮到你!

    1 条回复 最后回复
  • I 在线
    I 在线
    ice_flow
    写于 最后由 编辑
    #14

    您好,我使用starccm绘制网格导入openfoam后计算会出现误差,CL值不在零轴附近波动(相同的设置计算blockMESH绘制的网格没有这个问题)。

    image.png
    我是在starccm中通过定向网格直接绘制的三维网格,然后用ccm26ToFoam转化,想请教是什么原因。

    image.png

    image.png

    G 1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 ice_flow 最后由 编辑
    #15

    @ice_flow 您好!个人感觉这点误差是可以接受的。还有向您请教一下,openfoam识别多面体网格么?是否可以在paraview中展现多面体网格

    I 1 条回复 最后回复
  • I 在线
    I 在线
    ice_flow
    在 中回复了 Gunther 最后由 编辑
    #16

    @Gunther
    您好,想了解切割体网格是怎样绘制的(这个网格更接近snanpy出来的网格),定向网格里没有这个选项,是通过绘制二维网格后转换的吗。
    可以识别,多面体四面体都可以。paraview里关闭这个选项就可以正常显示了。
    94a70660-83fa-43dc-a7e0-deebd83290a9-image.png

    G 1 条回复 最后回复
  • G 离线
    G 离线
    Gunther
    在 中回复了 ice_flow 最后由 编辑
    #17

    @ice_flow 您好!在starccm中创建切割体网格如图所示。
    62a57432-e75f-48aa-9a79-17908e1071e6-image.png

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]