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. buoyantFoam水库计算

buoyantFoam水库计算

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

    请问大家有用buoyantPimpleFoam算过Johnson水库水温动力学算例吗?这个水库的工况是:初始充满21.44°C的水,在入口处以固定速度0.014m/s进16.67°C的冷水,出水口自由出流。模拟近28万个网格。
    x-y平面:
    ce58960e-6883-4250-ade9-b11255e28ccc-image.png
    x-z平面:
    183c45da-bbd7-4eca-9d8a-628385a000be-image.png
    顶面为自由液面,设置成滑移边界条件,采用buoyantkEpsilon模型,但是计算出来一开始感觉流速场就不合理了(图为水平流速和总流速)。
    f651de5d-9336-43b5-973f-734a41098709-image.png
    68a136ef-7a59-4c59-bd57-0e62a12fde06-image.png
    条件设置如下,请问哪里有问题?

        object      U;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 1 -1 0 0 0 0];
    
    internalField   uniform (0 0 0);
    
    boundaryField
    {
        inlet
        {
            type               fixedValue;
            value              uniform (0.014 0 0);
        }
        outlet
        {
           type                slip;
        }
        walls
        {
            type               fixedValue;
            value              uniform (0 0 0);
        }
    
        outletwater
        {
            type            inletOutlet;
            inletValue      uniform (0 0 0);
            value           $internalField;
        }
    }
    
    // ************************************************************************* //
    
    
    
    
        object      p_rgh;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [1 -1 -2 0 0 0 0];
    
    internalField   uniform 1e5;
    
    boundaryField
    {
        walls
        {
            type            fixedFluxPressure;
            value           uniform 1e5;
        }
    
        inlet
        {
            type            fixedFluxPressure;
            value           uniform 1e5;
        }
    
        outletwater
        {
             type            fixedFluxPressure;
            value           uniform 1e5;
        }
    
        outlet
        {
            type            prghPressure;
            p                  uniform 1e5;
            value           uniform 1e5;
        }
    }
    
    // ************************************************************************* //
    
    
    
    
        object      T;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 0 0 1 0 0 0];
    
    internalField   uniform 294.59;
    
    boundaryField
    {
        walls
        {
            type            zeroGradient;
        }
      
        inlet
        {
            type            fixedValue;
            value           uniform 289.82;
        }
    
        outlet
        {
            type            inletOutlet;
            inletValue      $internalField;
            value           $internalField;
        }
        outletwater
        {
             type            inletOutlet;
            inletValue      $internalField;
            value           $internalField;
        }
    }
    
    // ************************************************************************* //
    
        object      k;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    dimensions      [0 2 -2 0 0 0 0];
    
    internalField   uniform 1e-5;
    
    boundaryField
    {
        walls
        {
            type            kqRWallFunction;
            value           $internalField;
        }
         inlet
        {
            type            fixedValue;
            value           $internalField;
        }
    
        outlet
        {
            type            inletOutlet;
            inletValue      $internalField;
            value           $internalField;
        }
        outletwater
        {
            type            inletOutlet;
            inletValue      $internalField;
            value           $internalField;
        }
    }
    
    
    // ************************************************************************* //
    
        object      fvSolution;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    solvers
    {
        "rho.*"
        {
            solver          PCG;
            preconditioner  DIC;
            tolerance       0;
            relTol          0;
        }
    
        p_rgh
        {
            solver          PCG;
            preconditioner  DIC;
            tolerance       1e-8;
            relTol          0.01;
        }
    
        p_rghFinal
        {
            $p_rgh;
            relTol          0;
        }
    
        "(U|h|e|k|epsilon|R)"
        {
            solver          PBiCGStab;
            preconditioner  DILU;
            tolerance       1e-6;
            relTol          0.1;
        }
    
        "(U|h|e|k|epsilon|R)Final"
        {
            $U;
            relTol          0;
        }
    }
    
    PIMPLE
    {
        momentumPredictor yes;
        nOuterCorrectors 2;
        nCorrectors     3;
        nNonOrthogonalCorrectors 0;
    }
    
    
    // ************************************************************************* //
    
    
    
    
    
    
        object      fvSchemes;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    ddtSchemes
    {
        default         Euler;
    }
    
    gradSchemes
    {
        default         Gauss linear;
    }
    
    divSchemes
    {
        default         none;
        div(phi,U)      Gauss upwind;
        div(phi,h)      Gauss upwind;
        div(phi,e)      Gauss upwind;
        div(phi,k)      Gauss upwind;
        div(phi,epsilon) Gauss upwind;
        div(phi,R)      Gauss upwind;
        div(phi,K)      Gauss linear;
        div(phi,Ekp)    Gauss linear;
        div(R)          Gauss linear;
        div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
        div(phiv,p)     Gauss upwind;
    }
    
    laplacianSchemes
    {
        default         Gauss linear corrected;
    }
    
    interpolationSchemes
    {
        default         linear;
    }
    
    snGradSchemes
    {
        default         corrected;
    }
    
    
    // ************************************************************************* //
    
    
    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #2

    设置内容太多了不好一一看,如果可以的话,把你这个网格弄到10万以下,我明天中午12点左右可以尝试给你调试一下

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

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

    谢谢东岳老师!我的算例是这个链接文本@东岳

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

    这个有什么问题么,上面是速度,下面是温度

    捕获.JPG

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

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cfd20
    在 中回复了 李东岳 最后由 编辑
    #5

    @东岳 水温没有问题,但是流速在水的前端感觉影响范围太大了,请问这是合理的吗?cbee6294-c938-48a3-9edb-1c616c9acd68-image.png
    想得到类似这种效果,但这种算出来流速验证不符
    f2486aaf-fb9c-4c99-a045-3ff1da0e68c6-image.png
    c38d5a74-cd67-435c-a94e-daaa54b07c2c-image.png (计算11min后在x=11.43m处中垂线水平流速分布图)

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

    我马上要上课了,只能18号以后给你调节了,可以把这个文献发给我先简答看一下

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

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

    好的,谢谢东岳老师!这是参考文献链接文本

    1 条回复 最后回复
  • C 离线
    C 离线
    cfd20
    在 中回复了 李东岳 最后由 编辑
    #8

    @东岳 老师您好,我将outlet的patch改成wall条件,最主要的问题还是反向流速很小,没有实测值那么大。

    1 条回复 最后回复
  • R 离线
    R 离线
    random_ran 大神
    写于 最后由 编辑
    #9

    Hi @cfd20 :

    我把你的 case 放在了这里.

    我对你的问题很感兴趣,所以也想研究这个算例子. 所以我把我的想法直接写在了case 文件中 (note.org). 我会关注这个帖子,如果有必要的话,我会把我的想法告诉你.

    Yours in CFD,

    Ran

    1 条回复 最后回复
  • R 离线
    R 离线
    random_ran 大神
    写于 最后由 编辑
    #10

    初步看了一下,很多地方我不太明白,都记录在了 comments 里面. FYI.

    Yours in CFD,

    Ran

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

    感谢您宝贵的意见!边界条件的设置主要是参考求解器自带的算例:1.outlet的速度设为slip,主要是想将自由水面作可滑移的边界条件;2.fixedFluxPressure条件应该也是零法向梯度条件;3.请问壁面用固定速度为0设置有问题吗?需要用壁面函数吗?
    再次感谢您的意见,我会继续修改算例,如有错误的地方,还望指正。

    R 1 条回复 最后回复
  • R 离线
    R 离线
    random_ran 大神
    在 中回复了 cfd20 最后由 李东岳 编辑
    #12

    @cfd20
    我看到一个比较关键的地方:

    我觉得,墙函数是非常关键的边界条件。 特别是在 RANS 中。

    我看到你对 alphat, epsilon 都用了墙函数,速度为什么不用,没有理由?

    有确定边界层节点足够覆盖边界层了么?

    我这有个参考资料:

    ansys 17 手册:

    The thickness of the prism
    layer should be designed to ensure that around 15 or more nodes are actually covering the boundary
    layer. This can be checked after a solution is obtained, by looking at the turbulent viscosity, which has
    a maximum in the middle of the boundary layer – this maximum gives an indication of the thickness
    of the boundary layer

    Yours in CFD,

    Ran

    1 条回复 最后回复
  • R 离线
    R 离线
    random_ran 大神
    写于 最后由 编辑
    #13

    @cfd20

    我下一步打算考察边界条件的区别:

    https://github.com/randomwangran/cfd-china/commit/1629f87549b250ef10a222ccb53689b8f25bb76b

    Yours in CFD,

    Ran

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

    后续有什么进展么?

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

    1 条回复 最后回复

  • 登录

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