CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    关于LES中,求亚格子尺度应力SGS stress的问题

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

      1. 最近被问到求LES模拟中的SGS stress,对LES不太了解,所以想问问各位大神,这个SGS stress是一个在openfoam里面可以直接求得的场么?在CFDonline论坛里看见说文件B正是这个SGS stress,但是如果我没有输出B文件,想通过速度场求SGS stress,可行嘛?是简单地通过以下速度分量可以算得的嘛?9767b2e7-9333-44dc-8d65-7d72f88e1057-image.png

      2. 还想请问一下,一般说的三维模型中的SGS stress是指的九个张量的某一个么?在网上经常看到有的时候说SGS stress,而有的时候又说SGS stress tensor,有点混淆分不清楚。。

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

        \verbatim
                B = 2/3*k*I - 2*nuSgs*dev(D)
        
            where
        
                D = symm(grad(U));
                k from D:B + Ce*k^3/2/delta = 0
                nuSgs = Ck*sqrt(k)*delta
            \endverbatim
        

        是的,可以,你可以把这个B通过后处理的方式计算一下

        tensor一般省略掉了

        2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
        CFD高性能服务器 http://dyfluid.com/servers.html

        Z 1 条回复 最后回复 回复 引用
        • Z
          zhangxc0223 @李东岳 最后由 编辑

          @东岳 谢谢东岳老师回答,可惜我研究了一下午都没弄明白:zoule: 。还有几个问题想问问:

          1. 请问这公式里的 I 指的是turbulence intensity吗?

          2. 这个求得的B,应该是有9个元素的矢量吧,为什么等式左边的第一项 2/3kI 会是个标量?

          3. 这里的 k 和 nuSgs 是不是直接用我 LES 时间步中输出的 k 和 nut 场带入计算就可以?

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

            I是单位张量,就那个对角线是1的张量。这样吧,你大体可以这样写代码

            volTensorField unitI
            (
                IOobject
                (
                     "",
                     runTime.timeName(),
                     mesh,
                     IOobject::NO_READ,
                     IOobject::NO_WRITE
                ),
                mesh,
                I
            );
            
            volTensorField D("", symm(fvc::grad(U)));
            const volScalarField& nuSgs = mesh.lookupObject<volScalarField>("nuSgs");
            const volScalarField& k = mesh.lookupObject<volScalarField>("k");
            
            volTensorField B("", 2.0/3.0*k*unitI - 2.0*nuSgs*dev(D));
            
            B.write();
            
            

            我没测试,但上面这个代码更好理解。k和nuSGS在LES里面已经计算了

            2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
            CFD高性能服务器 http://dyfluid.com/servers.html

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

              现在明白了,谢谢东岳老师讲解

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