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. 一个关于 Axisymmetric Subsonic Jet 的问题

一个关于 Axisymmetric Subsonic Jet 的问题

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

    有个关于rhoPimpleFoam求解亚音速射流的问题求助CFDer。我刚入手OpenFoam,最近在做一个亚音速射流的问题(出口流速大概在165m/s),采用轴对称方法计算(旋转角度1deg,采用wedge边界条件),需要给定总压力入口边界条件(totalPressure)。参考实验来自NASA官网:https://turbmodels.larc.nasa.gov/jetsubsonic_val.html
    算例的网格和边界如下:
    批注 2020-06-27 103534.jpg
    我刚开始采用稳态的求解可压缩问题的rhoSimpleFoam求解器,射流的速度云图结果还不错,如下图:
    3.jpg
    现在我想采用瞬态的rhoPimpleFoam求解器,网格和边界条件设置均相同,但是得到的速度云图看起来是错误的,没有出现明显的射流界面,时间步1e-6s计算稳定,在0.85s时的结果如下图:
    2.jpg
    想请问CFDer有没有做过类似计算,发生这个错误的可能原因有些什么呢?我想多尝试尝试改一下,十分感谢!!!

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

    瞬态用的是RANS么

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

    King_RVMK 1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #3

    @东岳 是的李老师,采用RANS。还有就是网格是采取的NASA官网提供的比较粗糙的网格,所以时间步稍微大一些(1e-6s)。细网格对时间步(目前1e-9以下)要求太高了,算的比较慢,目前算了0.01s,发现云图和粗网格的类似,所以现在认为原因不太可能是网格影响的。

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

    你用rhoPimpleFoam同时在controlDict里面计算一下meanU之类的数据看看呢?

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

    King_RVMK 2 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #5

    @东岳 谢谢李老师,我监测了物理时间1.06s的Umean,如下图,这个云图也不正确,和rhoSimpleFoam结果相差太大。
    批注 2020-06-27 154350.jpg

    1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #6

    @东岳 我现在主要怀疑会不会是边界条件造成的,但是边界条件和rhoSimpleFoam是一样的,:135: 所以挺疑惑的。

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

    网格多少万?

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

    King_RVMK 2 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #8

    @东岳 网格数是4520,目前用的是NASA提供的比较粗糙的网格,如下图:批注 2020-06-27 173033.jpg
    不过刚刚Umean的结果是在已有结果的基础上,加上Umean后跑了0.05s的结果,这样的结果可能是不正确的,因为没有统计之前时间的速度:135: 。我刚刚重新从0开始统计Umean的结果,晚些时候我把结果发到论坛上给您看一下。

    附:关于Umean的监测我采用的是知乎上的一个方法:https://zhuanlan.zhihu.com/p/52667661
    在controlDict里加入的代码如下:

    functions
    {
        fieldAverage1
        {
            type            fieldAverage;
            functionObjectLibs ( "libfieldFunctionObjects.so" );
            enabled         true;
            outputControl   outputTime;
    
            fields
            (
                U
                {
                    mean        on;
                    prime2Mean  on;
                    base        time;
                }
            );
        }
    }
    

    在中文网上也看到了关于这个问题的讨论:https://www.cfd-china.com/topic/1453/想在程序中调用umean这个值-应该如何实现
    我还想问一下李老师,这个Umean是单个时间步内的所有迭代的平均,还是计算从0s开始到当前时间的一个总的速度平均?如果是后者的话,采用瞬态方法时,如果刚开始计算得到的速度值变化较大的话,对Umean的影响不会很大吗?

    1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #9

    @东岳 李老师,这是我重新从0s开始计算得到的Umean的云图,当前时间步为0.1s,如下图:3.jpg

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

    Umean是从0开始的值,一般要去掉开始一段时间步,从后面开始平均

    网格不多,可以的话,把你的rhoSimpleFoam+rhoPimpleFoam都传上来我给你看看

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

    King_RVMK 1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #11

    @东岳 太感谢了,李老师,:xinxin: ,文件稍微有点大,我就用坚果云了,这是坚果云链接:
    https://www.jianguoyun.com/p/DUyH968Qr-LHBxjQ5aYD
    https://www.jianguoyun.com/p/DRvCxh0Qr-LHBxjV5aYD

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

    这两个网格的boundary名字为什么不一样?为什么不用同样的网格?

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

    1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    写于 最后由 编辑
    #13

    @东岳 很不好意思李老师,这个算例是我和另一个同学一块讨论着来做的,之前上传的是我俩用相同网格,分别用rhoSimpleFoam和rhoPimpleFoam来计算的结果,所以边界命名不一样。
    晚上我重新用自己的命名方式,用两种求解器重新跑了一遍,网格图如下:
    simple.jpg
    rhoSimpleFoam(10w步迭代结果)和rhoPimpleFoam(0.08s时刻结果)结果分别如下图2和图3所示:
    1.jpg
    2.jpg
    这是我重新跑了一遍的算例文件,存在了坚果云中。再次感谢!:xinxin:
    https://www.jianguoyun.com/p/DdnpeEMQ1IPKCBiFqqcD
    https://www.jianguoyun.com/p/DdA5ZSwQ1IPKCBiGqqcD

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 King_RVM 最后由 编辑
    #14

    @King_RVM rhoSimpleFoam和参考结果相比怎么样?我一般用rhoPimpleFoam和unsteady RANS都给很大的时间步让它快速到稳态解,最终的这个稳态解和rhoSimpleFoam类似。你这个不知道从方法来说有没有问题,比如说每一个时间步收敛了么?unsteady RANS每个时间步需要不少的迭代步,你用的是多少?

    你可以用flowRatePatch测试一下入口和出口的流量是否还守恒,rhoSimpleFoam应该没有问题。rhoPimpleFoam我的经验是每一个时间步都是守恒的,如果不守恒那说明有问题。

    I don't want to survive, I want to thrive.

    King_RVMK 2 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 cccrrryyy 最后由 编辑
    #15

    @cccrrryyy 谢谢您的回复。rhoSimpleFoam和实验结果对比还可以,我刚处理了一下这个粗糙网格的结果,图1是沿轴向的速度U分布对比,图2和图3是数值与试验的速度云图对比(图2是U的对比,图3是Umean的对比),可以看出Umean的云图更为光滑一些,图2速度U的云图能看到出口处速度不光滑有波动,现在我们怀疑是出口处壁面边界引起的非物理的泻涡造成的,但是图3Umean的出口处速度云图就很光滑:
    3.jpg
    1.jpg
    2.jpg
    对于您的第二个问题,因为我刚开始学OpenFoam,还没找到内迭代步在哪儿里设置,这是我的controlDict文件,里面没有内迭代步的设置,这个我再找找资料看看怎么设置。

    /*--------------------------------*- C++ -*----------------------------------*\
      =========                 |
      \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
       \\    /   O peration     | Website:  https://openfoam.org
        \\  /    A nd           | Version:  7
         \\/     M anipulation  |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      controlDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    application     rhoPimpleFoam;
    
    startFrom       latestTime;
    
    startTime       0;
    
    stopAt          endTime;
    
    endTime         2.0;
    
    deltaT          1e-6;
    
    writeControl    adjustableRunTime;
    
    writeInterval   0.005;
    
    purgeWrite      0;
    
    writeFormat     ascii;
    
    writePrecision   8;
    
    writeCompression off;
    
    timeFormat      general;
    
    timePrecision   6;
    
    runTimeModifiable true;
    
    functions
    {
        #includeFunc MachNo
        #includeFunc residuals
        #includeFunc probes
    	#includeFunc R
    }
    
    functions
    {
        fieldAverage1
        {
            type            fieldAverage;
            functionObjectLibs ( "libfieldFunctionObjects.so" );
            enabled         true;
            outputControl   outputTime;
    
            fields
            (
                U
                {
                    mean        on;
                    prime2Mean  on;
                    base        time;
                }
            );
        }
    }
    
    // ************************************************************************* //
    

    第三个问题我也尝试一下,然后再来讨论。:xinxin2:

    1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 cccrrryyy 最后由 编辑
    #16

    @cccrrryyy 你好,关于第二个建议,我再fvSolution文件中设置了最大迭代步maxIter为100,计算结果没有什么变化,fvSolution中设置的代码如下:

    /*--------------------------------*- C++ -*----------------------------------*\
      =========                 |
      \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
       \\    /   O peration     | Website:  https://openfoam.org
        \\  /    A nd           | Version:  7
         \\/     M anipulation  |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      fvSolution;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    solvers
    {
        p
        {
            solver          GAMG;
            smoother        GaussSeidel;
            tolerance       1e-6;
            relTol          0.01;
    		maxIter 		100;
        }
    
        pFinal
        {
            $p;
            relTol          0;
        }
    
        "(rho|U|k|omega|e)"
        {
            solver          PBiCGStab;
            preconditioner  DILU;
            tolerance       1e-6;
            relTol          0.1;
    		maxIter 		100;
        }
    
        "(rho|U|k|omega|e)Final"
        {
            $U;
            relTol          0;
        }
    }
    

    关于第三个建议,我监测了3个入口和1个出口的flowRatePatch数据,两者的总和基本上保持为0,流量也是守恒的。

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

    进口omega为什么是0.11?这是计算出来的吧?

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

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

    https://www.jianguoyun.com/p/DUG7u1MQ9s3ZBhi8g6cD

    你处理一下这个数据,出一个沿轴向的速度U分布对比,看看是否有改善?

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

    King_RVMK 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 King_RVM 最后由 编辑
    #19

    @King_RVM 不是这个,是PIMPLE里面的nOuterCorrectors,本来设的是多少?

    I don't want to survive, I want to thrive.

    King_RVMK 1 条回复 最后回复
  • King_RVMK 离线
    King_RVMK 离线
    King_RVM
    在 中回复了 李东岳 最后由 编辑
    #20

    @东岳 是的李老师,这个是计算出来的,公式如下:
    CodeCogsEqn.gif
    CodeCogsEqn (1).gif
    其中k取的是0.001,这个值比较小是因为当入口湍动能值较大时,得到的速度值偏大,改小后结果有所改善(但是相比大的k值,小的k值残差振荡比较严重)。turbulent viscosity 取得是0.001,这个是参考的NASA官网提供的值。

    1 条回复 最后回复

  • 登录

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