CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    请教:buoyantBoussinesqPimpleFoam边界条件设置

    OpenFOAM
    2
    6
    2332
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      ChimneyFoam 最后由 编辑

      物理问题描述(2-D) :(本来想画个图的,可惜我每次上传图片都不成功,还好这个问题不复杂,用文字描述好了) 一个方盒子,内部有5摄氏度的水(冷水),底部恒温加热(比如200摄氏度);左右两侧壁绝热且无流体出入(closed);顶部可供流体自由出入(比如冷水可以向下流动,热水可以向上流动流出)。假设整个盒子处于100 m深的冷水中,也就是顶部有一个固定液压1 MPa。
      这个问题也就是流体受热在浮力作用下的流动问题。

      OpenFoam求解器 : buoyantBoussinesqPimpleFoam貌似可以求解这个问题,但是这个求解器里面有湍流模型和其他一些选项,不利于我这样的初学者理解。将buoyantBoussinesqPimpleFoam稍做修改:去掉了湍流模型,温度方程中的扩散系数假设为一个常数,取消了压力参考设置。 代码和算例以上传至github-hotwaterFoam

      算例中设置了这样范围的一个二维网格 x: [0,0]; y:[-110,-100]; z: [-1,1]. 网格节点个数: (90 100 1) ;长度单位都是m。(算例文件也在hotwaterFoam里面)初始条件和边界条件设置如下,

      出来的结果跟预想的不一样,不知道问题出在哪里了,代码应该没有问题。不知道这个边界条件设置是否正确,如果不正确,那么上面的这个物理问题应该如何设置边界条件。请教各位大神

      1. 温度 T
      internalField   uniform 5;
      
      boundaryField
      {
          floor
          {
              type            fixedValue;
              value           uniform 200;
          }
          ceiling
          {
              type            inletOutlet;
              inletValue 5;
              value 0;
          }
          sideWalls
          {
              type            zeroGradient;
          }
      
      }
      
      1. p_rgh
      internalField   uniform 0;
      
      boundaryField
      {
          floor
          {
              type            fixedFluxPressure;
              rho             rhok;
              value           $internalField;
          }
          ceiling
          {
              type            fixedFluxPressure;
              rho             rhok;
              value           $internalField;
          }
          sideWalls
          {
              type            zeroGradient;
          }
      }
      
      1. p
      internalField   uniform 0;
      
      boundaryField
      {
          wall
          {
              type            calculated;
              value           $internalField;
          }
      }
      
      1. U
      internalField   uniform (0 0 0);
      
      boundaryField
      {
          floor
          {
              type            noSlip;
              //type            fixedValue;
              //value           (0 0.001 0);
          }
          ceiling
          {
              type            noSlip;
          }
          sideWalls
          {
              type            noSlip;
          }
      }
      
      1 条回复 最后回复 回复 引用
      • R
        random_ran 副教授 最后由 编辑

        太棒了! 我运行了楼主写的 hotWater 求解器。

        我从运行结果上看,似乎是温度和期望值不同? 时间点为 50 的时候, 我发现温度的 contour 比较合理,热水上升。

        但是下边界层温度的梯度是不是太大了?即便在 300 秒后,从 温度的 contour 上看,依旧是非常明显的分层。 个人觉得温度应该从下自上缓慢过度才对?

        到模拟结束的时候,我发现全场的温度都稳定在了 27 (温度是 K?),确实是和想象中不一样。

        楼主有没有试过用原来的求解器做相同的算列?结果怎么样呢?

        Yours in CFD,

        Ran

        C 1 条回复 最后回复 回复 引用
        • R
          random_ran 副教授 最后由 编辑

              fvScalarMatrix TEqn
              (
                  fvm::ddt(T)
                + fvm::div(phi, T)
                - fvm::laplacian(alphaEff, T)
               ==
                  radiation->ST(rhoCpRef, T)
                + fvOptions ( t)
              );
          

          去掉这个

               ==
                  radiation->ST(rhoCpRef, T)
                + fvOptions ( t)
          

          个人觉得,楼主提供的数值算例是对这个修改过方程的解, 但是这样的修改,能否在一定精度内代表真实的物理现象呢?

          Yours in CFD,

          Ran

          C 1 条回复 最后回复 回复 引用
          • C
            ChimneyFoam @random_ran 最后由 编辑

            @random_ran 是的,温度跟想象的不一样。
            我试了底边界温度如果太低的话短时间内几乎不会有plume splitting,所以试了一下更高的温度。
            我这里的温度单位都是摄氏度。

            这个我是从原来的求解器基础上改的,用自带的算例BenardCells一步一步测试,求解器简化后对这个算例的结果并没有什么影响,所以我猜求解器修改应该没错。

            1 条回复 最后回复 回复 引用
            • C
              ChimneyFoam @random_ran 最后由 编辑

              @random_ran 原来的求解器的alphaEff好像是根据湍流模型计算出来的,具体细节还没搞懂。我在原来求解器算例的求解过程中输出了这个量,发现是0.001,是个常数。从量纲来看应该与热传导系数/密度/比热相同,我就在修改后的求解器中暂用DT/cp_f/rho0_f代替了。

              而==后面的应该是与源项有关的东西,我这里没有其他热源,所以就去掉了,不知道是不是会有别的影响。(我在原来求解器和BenardCells算例基础上测试了,去掉这一项对结果没有什么影响)

              看结果好像是不能够有效地从底边界传热,不知道是不是边界条件设置的问题,还是其他什么原因

              1 条回复 最后回复 回复 引用
              • C
                ChimneyFoam 最后由 编辑

                @东岳 帖子好像沉掉了,再次求助李老师。主要就是顶部边界条件不知道怎么设置,顶部是定压,也就是P是恒定的,但是流体可以自由出入。而方程中求解的是prgh,所以不知道prgh如何设置边界条件了,可能还需要与出口的速度边界条件保持一致性

                1 条回复 最后回复 回复 引用
                • First post
                  Last post