CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    wallShearStress函数量纲问题咨询

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

      各位老师们好,我在用OpenFOAM-2.4.0版本中,需要提取可压缩流动中壁面的剪切应力,查阅了后处理程序wallShearStress,其中有一点我感到很困惑。

      剪切应力场定义如下:

              volVectorField wallShearStress
              (
                  IOobject
                  (
                      "wallShearStress",
                      runTime.timeName(),
                      mesh,
                      IOobject::NO_READ,
                      IOobject::AUTO_WRITE
                  ),
                  mesh,
                  dimensionedVector
                  (
                      "wallShearStress",
                      sqr(dimLength)/sqr(dimTime),
                      vector::zero
                  )
              );
      

      其中规定量纲为$m^2/s^2$,然而在wallShearStress的计算中

      在calcIncompressible函数中,是读取的$devReff()$函数

          const volSymmTensorField Reff(model->devReff());
      
          forAll(wallShearStress.boundaryField(), patchI)
          {
              wallShearStress.boundaryField()[patchI] =
              (
                 -mesh.Sf().boundaryField()[patchI]
                 /mesh.magSf().boundaryField()[patchI]
              ) & Reff.boundaryField()[patchI];
          }
      

      而在calcCompressible函数中,是读取的$devRhoReff()$函数

          const volSymmTensorField Reff(model->devRhoReff());
      
          forAll(wallShearStress.boundaryField(), patchI)
          {
              wallShearStress.boundaryField()[patchI] =
              (
                 -mesh.Sf().boundaryField()[patchI]
                 /mesh.magSf().boundaryField()[patchI]
              ) & Reff.boundaryField()[patchI];
          }
      

      这两个函数不是应该差了$\rho$么,为什么输入的wallShearStress场的量纲在不可压缩和可压缩下是固定的呢?我也看了其他几个版本,发现都是一样的代码。

      这块没有特别理解,如果我要计算可压缩流动的剪切应力,是直接取它的值,还是在该场的基础上乘以密度呢?希望老师们能帮我解答疑惑,不胜感激!:135:

      1 条回复 最后回复 回复 引用
      • bestucan
        bestucan 版主 副教授 最后由 李东岳 编辑

        一个是可压缩的,一个是不可压缩的。
        不可压缩的状况下$\rho$是个常量,方程两边同除以$\rho$。

        好像是压力项变成$\frac{p}{\rho}$。其他项就没有$\rho$了。

        可压缩的话,方程中各项按说本身就带$\rho$,我猜的:chigua:

        看这个

        滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

        异步沟通方式(《posting style》from wiki)(下载后打开):
        https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
        提问的智慧(github在gitee的镜像):
        https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

        王 1 条回复 最后回复 回复 引用
        • 王
          王慧博 @bestucan 最后由 编辑

          @bestucan 在 wallShearStress函数量纲问题咨询 中说:

          一个是可压缩的,一个是不可压缩的。
          不可压缩的状况下$\rho$是个常量,方程两边同除以$\rho$。

          好像是压力项变成$\frac{p}{\rho}$。其他项就没有$\rho$了。

          可压缩的话,方程中各项按说本身就带$\rho$,我猜的:chigua:

          看这个

          嗯嗯,东岳老师那个帖子我也看过。但是就是上面代码写到的,如果按照上面的公式看的话,可压缩流中剪切应力计算得到的结果应该要比不可压缩中结果多乘一个$\rho$。但是wallShearStress函数中输出场的量纲是固定的(不可压缩公式中计算得到的剪切应力量纲),我就觉得很奇怪……到底对于可压缩流,如果用这个代码计算,得到的结果是量纲给错了,数值是正确的,还是是除以了一个密度后计算的结果:143:

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

            @王慧博 你写的那些代码,不进行量纲检测,直接赋值过去。我看openfoam-9里面已经修正了,跟tau的单位有关,而不是固定的了

            tmp<volVectorField> twallShearStress
                (
                    volVectorField::New
                    (
                        type(),
                        mesh_,
                        dimensionedVector(tau.dimensions(), Zero)
                    )
                );
            

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

            王 1 条回复 最后回复 回复 引用
            • 王
              王慧博 @李东岳 最后由 编辑

              @李东岳 感谢东岳老师哈,我也测试了一下,再乘了个密度,发现也没有报错,的确不会受量纲限制。老师我还想请教一个问题,OpenFOAM中的代码在什么情况下会考虑等式两边的量纲是否对应呢:shangxue:

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

                @王慧博 带量纲的场都会做量纲检测。你那个boundaryField属于scalarField,本身没有量纲。

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

                王 1 条回复 最后回复 回复 引用
                • 王
                  王慧博 @李东岳 最后由 编辑

                  @李东岳 好的,我明白啦,感谢李老师~::xinxin:

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