Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. Smagorinsky模型系数问题

Smagorinsky模型系数问题

已定时 已固定 已锁定 已移动 OpenFOAM
48 帖子 6 发布者 31.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #12

    https://github.com/Unofficial-Extend-Project-Mirror/openfoam-extend-foam-extend-3.1/blob/master/src/turbulenceModels/incompressible/LES/dynSmagorinsky/dynSmagorinsky.C

    我最近看到一个老版本的动态模型植入。植入的不是$\nu_{sgs} =\left ( C_s \Delta\right )^2 \sqrt{2\mathbf{D} :\mathbf{D} } $,而是$\nu_{sgs} =\left ( C_s \Delta\right )^2 \sqrt{ \mathbf{D} :\mathbf{D} } $,大佬怎么看

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #13

    @李东岳 李老师, 这两个链接在讨论of中的Smagorinsky模型时,也类似讨论of中为何植入的是$\sqrt{ \mathbf{D} :\mathbf{D} } $,相比理论公式看似缺少$\sqrt{ 2} $系数。但其实是一致的,这是因为of中把$\sqrt{ 2} $加到了前面的系数中。下面截图中的理论公式符号代表:$\left | \bar{S} \right | = \sqrt{2 \mathbf{D} :\mathbf{D} } $,但OF公式代表:$\left | \bar{S}_{of} \right | = \sqrt{ \mathbf{D} :\mathbf{D} } $,在CFD-online上的帖子因为把符号写成一样导致了混淆。
    Smagorinsky model details -- CFD Online Discussion Forums
    [转载]有关OpenFoam中LES smagorinsky模型的推导_馨予_新浪博客
    3594f8a6-f5c0-4ef3-bc95-06da6614467b-image.png


    湍流模型我不太懂,在想dynSmagorinsky是否类似于CFD-online的讨论,是否也是把系数$\sqrt{ 2} $加到了前面的系数中?也就是cD(D)可能比dynSmagorinsky理论公式多了$\sqrt{ 2} $系数?

    void dynSmagorinsky::updateSubGridScaleFields(const volSymmTensorField& D)
    {
        nuSgs_ = cD(D)*sqr(delta())*sqrt(magSqr(D));
        nuSgs_.correctBoundaryConditions();
    }
    
    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #14

    替代文字

    是不是这个公式里面,也应该有一个$\sqrt{2}$? 然后就可以了?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #15

    @李东岳 这个公式结论是对的,不用加$\sqrt{2}$。CFD-online讨论帖子初始问题混淆点是把OF计算的$\sqrt{ \mathbf{D} :\mathbf{D} } $当做$\left | \bar{S} \right | $,而理论公式的$\left | \bar{S} \right | $表示的是$\sqrt{2 \mathbf{D} :\mathbf{D} } $。OF是单独计算了$\sqrt{ \mathbf{D} :\mathbf{D} } $,为与理论对应,$\sqrt{2}$在前面的系数里计算再相乘。

    Smagorinsky SGS model in OpenFOAM | CFD WITH A MISSION这个帖子推导就没有混淆符号,统一用$\sqrt{2 \mathbf{D} :\mathbf{D} } $表示$\left | \bar{S} \right | $
    18170081-652a-47e8-b957-108d8db3c49b-image.png

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #16

    你的意思就是,OpenFOAM里面植入的应该是$\nu_{sgs} = (C_s^{of})^2 \Delta^2 \sqrt{ \mathbf{D} :\mathbf{D} } $,其中$(C_s^{of})^2=C_s^2\sqrt{2}$

    而不是$\nu_{sgs} = C_s^2 \Delta^2 \sqrt{ \mathbf{D} :\mathbf{D} } $

    是这样么

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 李东岳李 2 条回复 最后回复
  • 李东岳李 李东岳 被引用 于这个主题
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #17

    对,因为湍流模型不太懂,我猜测dynSmagorinsky差个$\sqrt 2$可能是这个原因。Smagorinsky模型不是直接植入这个公式,是通过把系数代入$\nu_{sgs}=C_k\Delta \sqrt{k_{sgs}}$后得到等价的$\nu_{sgs}=C_k \sqrt{\frac{2C_k}{C_e} } \Delta ^2 \sqrt{\mathbf{D} :\mathbf{D} }
    =C_k \sqrt{\frac{C_k}{C_e} } \Delta ^2 \sqrt{2\mathbf{D} :\mathbf{D} }=\left ( C_s \Delta\right )^2 \sqrt{2\mathbf{D} :\mathbf{D} } $

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #18

    那我知道了,我感觉那个应该是个bug。毕竟这个代码已经过时了。我跟作者确认一下。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #19

    LES那面为啥所有文章非要定义$|\bfS|=\sqrt{2\bfS:\bfS}$呢,正常张量这玩意就应该是$|\bfS|=\sqrt{\bfS:\bfS}$。不知道最开始那个大佬咋想的。

    被这玩意彻底搞蒙了

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • D 离线
    D 离线
    dxl
    写于 最后由 编辑
    #20

    是不是这个
    1699438916664.png

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #21

    @dxl 没太看明白 老铁

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 中回复了 李东岳 最后由 编辑
    #22

    @李东岳 在 Smagorinsky模型系数问题 中说:

    你的意思就是,OpenFOAM里面植入的应该是$\nu_{sgs} = (C_s^{of})^2 \Delta^2 \sqrt{ \mathbf{D} :\mathbf{D} } $,其中$(C_s^{of})^2=C_s^2\sqrt{2}$

    而不是$\nu_{sgs} = C_s^2 \Delta^2 \sqrt{ \mathbf{D} :\mathbf{D} } $

    是这样么

    https://bugs.openfoam.org/view.php?id=816

    这个确实是个bug,不过OpenFOAM新版已经把动态Smagorinsky删掉了,所以无关紧要了。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #23

    我按照$\nu_t=(C_s\Delta)^2\sqrt{2\bfS:\bfS}$的方式植入进入了。从云图来看没啥区别。希望有大佬来详细验证一下是否均衡。下面这个文件,可以在OpenFOAM-10下进行编译,步骤:

    wmake
    cd pitzDaily
    ./Allrun
    

    Smagorinsky.tar.xz

    注意算例中的$C_k$的值忘记改了,应该改为0.065


    个人疑问是植入:$ \nu _{sgs} =\left ( C_s \Delta\right )^2 \sqrt{2\mathbf{D} :\mathbf{D} }$ 那么式 (1d) 中的k是怎么计算的?这会不会就是两个方法的主要差别?

    @coolhhh 应该是从$\nu_t$反推出来的,$k=\nu_t^2/(C_k\Delta)^2$

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C C 3 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #24

    @李东岳 李老师,这个反推公式$k=\nu_t^2/(C_k\Delta)^2$是如何得到的,有更具体的推导吗?

    1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #25

    我刚才更新了下笔记,你看下4.2.5 RANS-LES 混合模型、DES 模型

    还有这个:10.1007/s10494-005-6916-y

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cfdem小白
    在 中回复了 李东岳 最后由 编辑
    #26

    @李东岳 李老师你好,这边Smagorinsky模型中Ce=1.048,Ck=0.065系数是比较好的吗

    C 1 条回复 最后回复
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    写于 最后由 编辑
    #27

    这二者都可以得到cs=0.065,Ce=1.048,Ck=0.065是标准系数。然后$k_{sgs}$也跟这两个系数的比有关。不过取别的值也能达到这个效果。 @coolhhh 在这方面应该有更深的见解。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 cfdem小白 最后由 编辑
    #28

    @cfdem小白 可以看3#的帖子,这是《Moin, P. and J. Kim, Numerical investigation of turbulent channel flow. Journal of fluid mechanics, 1982. 118: p. 341-377.》建议取Cs=0.065,然后根据of2206中planeChannel算例的设置,LES采用Smagorinsky,提到设置Ce=1.048,Ck=0.0265463553,能够Updated to give Cs = 0.065。我也用这个系数计算过Channel Flow,结果跟实验吻合还比较好

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cfdem小白
    在 中回复了 coolhhh 最后由 编辑
    #29

    @coolhhh 这边李老师提到了Ce=1.048,Ck=0.065是标准系数,代入上述的Cs公式算出来Cs在0.127左右。

    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #30

    @李东岳

    1. 李老师,重新看了这篇文章《Sullivan, P.P., J.C. McWilliams and C. Moeng, A subgrid-scale model for large-eddy simulation of planetary boundary-layer flows. Boundary-Layer Meteorology, 1994. 71: p. 247-276.》,文中对这两种植入方法有个阐述:
      0bf38652-f77b-4eb5-8707-f4f22ee9fd9e-image.png

    8fb6cb01-8b14-461c-afb7-5aa89452e570-image.png
    (1)第一种方法:
    $$\nu_{sgs}=(C_s\Delta)^2\sqrt{2\bfS:\bfS} \tag{1}$$
    from an assumed local equilibrium balance between shear production and dissipation in the SGS turbulent kinetic energy (TKE) equation。

    (2)第二种方法:
    $$\nu_{sgs}=C_k\Delta\sqrt{k_{sgs}} \tag{2}$$
    solve the TKE equation explicitly. Advantages of such models are that no equilibrium assumption is required, and the prognostic equation provides a direct means of calculating the SGS kinetic energy which is needed to construct the actual pressure.
    ①看文章意思像是直接对文献中的方程(8)求解,当假设$P=D$的时候,就能与第一种方法得到等价的$C_s$:
    $$C_s=\left ( C_k \sqrt{\frac{C_k}{C_e} } \right ) ^{1/2} \tag{3}$$
    但根据Smagorinsky SGS model in OpenFOAM | CFD WITH A MISSION 的 推导,of中求解的方程是通过Local equilibrium得到的,即假设了$P=D$,才得到了$k_{sgs}$的求解方程,与文献中的直接求解TKE方程不需要平衡假设的说法不太一样。
    ②并且根据论文阐述,Moeng(1984)文章中提到$k_{sgs}$的值是用于计算压力


    1. 在23#提到第一种方法的$k_{sgs}$是反推出来的,根据式(2)可反推得到$k_{sgs}=\nu_{sgs}^2/(C_k\Delta)^2$。疑问是这里的$C_k$,对于第一种方法是否取值就是$C_s$?
      如果$C_k$与$C_s$是不同的取值,那么对对第一种方法仍然还是有未知数$C_k$,无法求$k_{sgs}$;如果$C_k=C_s$,产生的疑问见第3个问题。

    1. 第一种方法如果$C_k=C_s$,根据式(3),可知:
      (1)第一种方法:取$C_s=0.065$,$\nu_{sgs1}$由式(1)计算,那么$k_{sgs1}=\nu_{sgs1}^2/(C_s\Delta)^2$
      (2)第二种方法:$C_e=1.048,C_k=0.0265463553$,可得到等价的$C_s=0.065$,此时得到的$\nu_{sgs2}=\nu_{sgs1}$。那么根据式(2)得到$k_{sgs2}=\nu_{sgs2}^2/(C_k\Delta)^2$
      (3)若要使得两种方法计算的$k_{sgs1}=k_{sgs2}$,由于$\nu_{sgs2}=\nu_{sgs1}$,因此要求
      $$C_s=C_k \tag{4}$$
      再联立式(3),可解得两个方法完全等价时需要满足条件:$C_s=C_k, C_e=1/C_k$。

    1. Moeng(1984)文章中提到$k_{sgs}$的值是用于计算压力。比较两个方法的不同,构造不同系数组合$C_k, C_e$, 使得两种方法有相同的$C_s=0.065$,但计算的$k_{sgs}$差异较大的工况,对比压力是否可能能对比出结果差异?
    C 1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 cfdem小白 最后由 编辑
    #31

    @cfdem小白 应该是笔误,of的默认系数见这个链接
    74d5a06e-8a85-4486-8dd5-513f71173930-image.png

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]