CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    “==” 和“=” 赋值区别?

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

      今天看到李东岳老师发的朋友圈,想起昨天学习interFoam.C的时候,发现这样的代码:

       p == p_rgh + rho*gh;
      

      请问此处“==”是否表示赋值?可以把“==” 换为“=”?
      如果“==”不表示判断,是否还有别的用途?

      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        ==可以顺带把边界条件变了。=号不变边界条件。
        比如alpha1 == 1 - alpha2,如果alpha2的边界条件是fixedValue=0.5,则alpha1的边界条件也是0.5

        CFD高性能服务器 http://dyfluid.com/servers.html
        2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

        Y 浪 2 条回复 最后回复 回复 引用
        • Y
          Yongbo @李东岳 最后由 编辑

          @东岳 谢谢李老师,

          您可以提示一下,这个“==”会更新边界条件的定义是在哪块代码可以找到的吗?

          1 条回复 最后回复 回复 引用
          • 李东岳
            李东岳 管理员 最后由 编辑

            GeometricField.C在这里操作符重载掉了

            CFD高性能服务器 http://dyfluid.com/servers.html
            2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

            1 条回复 最后回复 回复 引用
            • 浪
              浪迹天大 @李东岳 最后由 编辑

              @东岳
              我看到的=号也变边界啊
              https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C#L1387
              可以再详细谈一谈可能存在的坑吗?

              OpenFOAM 学习交流:https://openfoam.top

              1 条回复 最后回复 回复 引用
              • 李东岳
                李东岳 管理员 最后由 编辑

                https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C

                这是边界场

                CFD高性能服务器 http://dyfluid.com/servers.html
                2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

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