CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    OpenFOAM如何进行数据转换以便进行比大小

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

      在求解器其中需要使用<=、>=、<、>等比较操作符来对一个double型变量和一个体标量场类型的数据进行比较大小。本想着用强制类型转换来操作,但是行不通。具体代码如下:

       b=mesh.C().coponent(vector::Y)/0.01;//b被定义为了一个体标量场,来表示距离壁面的无量纲距离;
       if(b<=1.25)
       {
       Prt=0.45;
       }
       else
       {
       Prt=4.75
       }
      

      如上,我查看其他代码发现scale 变量能够用到比较操作符中, 具体有了解的同学解答嘛,,,

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

        @一颗鸭蛋 在 OpenFOAM如何进行数据转换以便进行比大小 中说:

        对一个double型变量和一个体标量场类型的数据进行比较大小

        这个如何比较?

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

        CFD高性能服务器 http://dyfluid.com/servers.html

        一 1 条回复 最后回复 回复 引用
        • 一
          一颗鸭蛋 @李东岳 最后由 编辑

          @李东岳 我明年上班去了,哈哈哈哈哈

          1 条回复 最后回复 回复 引用
          • 一
            一颗鸭蛋 最后由 编辑

            刚刚尝试了下将double型变量赋值给一个新的体标量场,然后比较两个体标量场的大小就可以通过编译了:chitang:

            b =mesn.C().component(vector::Y)/a;//b被声明为一个体标量场记录距离壁面的无量纲距离,a为特征长度
            Prt = 1.25;//Prt也是被声明为一个体标量场,这里先把Prt当做了一个中间变量,Prt为我研究中的湍流普朗特数,其对流体温度梯度影响很大,应当是一个函数而非常数。
            if( b <= Prt )
            {
              Prt = 0.45;
            }
            else
            {
              Prt=4.75;
            }
            

            今晚先算用编译好的求解器算一遍对不对,结果好的话,明后天再放上来。

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