CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    rhoCentralFoam版本更替的交流

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

      最近使用文本比较工具对比了openfoam v2和v6两个版本的rhoCentralFoam.C代码,发现了两个明显的区别,不太理解。

        1. “=”变为了“==”。C++语法里面说=表示幅值,==表示判断,但是这里会不会有问题?
      v2版本是:
      rhoU.boundaryField() = rho.boundaryField()*U.boundaryField();  
      v6版本是:
      rhoU.boundaryFieldRef() == rho.boundaryField()*U.boundaryField();
      
        1. v6版本中少了下面的两项。
      + fvc::laplacian(turbulence->alpha(), e)
      - fvc::laplacian(k, T)
      

      具体的比较贴出如下:
      e1fbac45-3df2-4564-8581-bfa9c59b7c8e-image.png

      e675ecbc-744f-42b4-ab56-ac1b2e3c37d3-image.png

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

        因为在v4之后,

        boundaryField
        

        返回的是const,你不能直接assign value。所以定义了

        boundaryFieldRef
        
        

        它返回non-const object

        F 1 条回复 最后回复 回复 引用
        • F
          Foamer24 @sibo 最后由 编辑

          @sibo :ok: 厉害厉害,第一个问题理解啦

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