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 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 李 离线
    李 离线
    李东岳 管理员
    写于2023年11月28日 10:27 最后由 编辑
    #27

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

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月28日 14:23 中回复了 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 条回复 最后回复 2023年11月28日 14:28
  • C 离线
    C 离线
    cfdem小白
    在 2023年11月28日 14:28 中回复了 coolhhh 最后由 编辑
    #29

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

    C 1 条回复 最后回复 2023年11月28日 15:50
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月28日 15:40 中回复了 李东岳 最后由 编辑
    #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)第一种方法:
    (1)νsgs=(CsΔ)22S:S
    from an assumed local equilibrium balance between shear production and dissipation in the SGS turbulent kinetic energy (TKE) equation。

    (2)第二种方法:
    (2)νsgs=CkΔksgs
    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的时候,就能与第一种方法得到等价的Cs:
    (3)Cs=(CkCkCe)1/2
    但根据Smagorinsky SGS model in OpenFOAM | CFD WITH A MISSION 的 推导,of中求解的方程是通过Local equilibrium得到的,即假设了P=D,才得到了ksgs的求解方程,与文献中的直接求解TKE方程不需要平衡假设的说法不太一样。
    ②并且根据论文阐述,Moeng(1984)文章中提到ksgs的值是用于计算压力


    1. 在23#提到第一种方法的ksgs是反推出来的,根据式(2)可反推得到ksgs=νsgs2/(CkΔ)2。疑问是这里的Ck,对于第一种方法是否取值就是Cs?
      如果Ck与Cs是不同的取值,那么对对第一种方法仍然还是有未知数Ck,无法求ksgs;如果Ck=Cs,产生的疑问见第3个问题。

    1. 第一种方法如果Ck=Cs,根据式(3),可知:
      (1)第一种方法:取Cs=0.065,νsgs1由式(1)计算,那么ksgs1=νsgs12/(CsΔ)2
      (2)第二种方法:,,Ce=1.048,Ck=0.0265463553,可得到等价的Cs=0.065,此时得到的νsgs2=νsgs1。那么根据式(2)得到ksgs2=νsgs22/(CkΔ)2
      (3)若要使得两种方法计算的ksgs1=ksgs2,由于νsgs2=νsgs1,因此要求
      (4)Cs=Ck
      再联立式(3),可解得两个方法完全等价时需要满足条件:Cs=Ck,Ce=1/Ck。

    1. Moeng(1984)文章中提到ksgs的值是用于计算压力。比较两个方法的不同,构造不同系数组合Ck,Ce, 使得两种方法有相同的Cs=0.065,但计算的ksgs差异较大的工况,对比压力是否可能能对比出结果差异?
    C 1 条回复 最后回复 2023年11月29日 03:02
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月28日 15:50 中回复了 cfdem小白 最后由 编辑
    #31

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 03:02 中回复了 coolhhh 最后由 编辑
    #32

    @coolhhh 更正下符号,当满足Local equilibrium时,P=ϵ

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 04:03 中回复了 李东岳 最后由 编辑
    #33

    @李东岳 李老师,我把您的程序跑了对比下

    1. case1

    用第一种方法mySmagorinsky
    设置Ck=0.065,也就是Cs=0.065,此时ksgs1=νsgs12/(CsΔ)2中的系数1/(Cs2)=236.68

    2. case2

    用第二种方法:of10中的Smagorinsky
    设置Ce=1.048,Ck=0.0265463553, 满足Cs=0.065。
    ksgs2=νsgs22/(CkΔ)2中的系数1/(Ck2)=1419

    3. case3

    用第二种方法:of10中的Smagorinsky
    根据30#的猜测,设置了一组可能不合理的组合:Ce=56020, Ck=1, 但能满足Cs=0.065。
    此时ksgs2=νsgs22/(CkΔ)2中的系数1/(Ck2)=1,与前面两个算例相差特别大
    根据Ce=Ck3/Cs4,可画出下面曲线。
    aa426b4c-6496-4e57-8984-140f4a90073f-image.png

    4. 结果对比

    根据模拟结果,似乎结果都差别不大。对于of10中的Smagorinsky,感觉只要构造出等价的Cs=0.065,结果基本不变,也就是说ksgs似乎没有参与压力计算。

    (1)瞬时速度
    469b7621-28c9-4d3b-8865-4e0e28095915-image.png
    (2)平均速度
    194a8aed-a745-437d-aa3c-7135e354c173-image.png
    (3)脉动速度
    1231a710-fda4-4286-8374-5ae4da76e343-image.png
    (4)瞬时压力
    62c4ffac-71b0-42ae-9310-a0303ac13019-image.png
    (5)平均压力
    6d715f27-94a3-408f-a5da-00e9b0153683-image.png
    (6)脉动压力
    25b17bd0-9d94-4120-8bfa-8b56fbdfddef-image.png

    C C 2 条回复 最后回复 2023年11月29日 05:05
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 05:05 中回复了 coolhhh 最后由 编辑
    #34
    1. 补充说明

    因为ksgs的值与系数Ck/Ce有关。上面33#中的case2和case3,虽然ksgs差个1419倍,但注意到这时Ck/Ce的数值已经很小了,所以计算结果差别不大。
    0e448b6b-5512-4294-9bde-3468c9b107a9-image.png
    c2091430-127c-4aaa-ace0-72eced85dfa5-image.png

    2. 增加case4

    (1)of10中的Smagorinsky,设置Ce=0.001,Ck=0.002613472,同样能够满足Cs=0.065。
    ksgs2=νsgs22/(CkΔ)2中的系数1/(Ck2)=146407,这个时候计算的ksgs数值相较于前面的工况大非常多。
    (2)case4模拟结果
    case4的瞬时速度剖面和平均压力剖面,和cae1(第一种方法)非常相近。这是否可以推测:第一种方法与第二种方法效果要基本一样时,此时的Ce和Ck取值要与case4的取值范围类似?
    5fd05a73-434d-4dea-8802-d997cac76018-image.png
    36b986ea-7e03-46e2-b091-bb0deebccb34-image.png

    1 条回复 最后回复
  • C 离线
    C 离线
    cfdem小白
    在 2023年11月29日 06:43 中回复了 coolhhh 最后由 编辑
    #35

    @coolhhh 大佬,这边问你一个问题。你图中的脉动速度Uprime2Mean应该是基于一段时间计算且在某一时刻显示的,这段时间的平均值吧?如果想要知道某时刻的瞬时脉动速度,是否是用该时刻的瞬时速度U减去该时刻的Umean得到?

    C 1 条回复 最后回复 2023年11月29日 07:28
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 07:28 中回复了 cfdem小白 最后由 编辑
    #36

    Uprime2Mean是fieldAverage的计算结果,不是瞬时的脉动速度。风工程领域经常把速度或压力方差,称作脉动速度或脉动压力。如果要求瞬时的脉动速度,那应该按照你说的这么算

    @cfdem小白 在 Smagorinsky模型系数问题 中说:

    如果想要知道某时刻的瞬时脉动速度,是否是用该时刻的瞬时速度U减去该时刻的Umean得到?

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2023年11月29日 08:25 最后由 李东岳 编辑 2023年11月29日 16:40
    #37

    针对你的case2与case3,你看看nut以及k的结果,看看有区别么?

    把下面的放在controlDict里面可以输出ksgs

    cacheTemporaryObjects
    (
        k
    );
    
    functions
    {
        #includeFunc writeObjects("k")
    }
    

    我觉得这些东西,可以写个英文让大家知道一下了。投个一般的期刊当做一个note都可以。目前我是没发现有人研究这个。并且我认为研究很有意义。:chigua: 主要是看这东西之前是不是确实没人玩过。如果没人搞过,那研究一下绝对是发现。写成英文的目的不是为了发文章,而是真正的让大家知道一下这个事情:1)两种Smagorinsky的植入区别与对比,2)第二种植入的模型系数问题。我是没发现有人研究这个。

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

    C 1 条回复 最后回复 2023年11月29日 12:53
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 12:53 中回复了 李东岳 最后由 编辑
    #38

    @李东岳

    1. nut结果对比

    nut结果中,case1~case3数值范围都比较接近,但是case4理论上应该与前几个算例结果近似才对,但由于比例系数1/(Ck2)=146407过大,nut计算结果实际是偏大,但数量级都是1e-4

    c9ae4b45-b1aa-4b2b-b7b8-30bf779c8a1e-image.png

    2. tmp<k>结果对比

    case3的系数1/(Ck2)=1最小,以这个工况为基准。case3的tmp<k>最大值为0.0035319。
    case2的系数1/(Ck2)=1419,理论上case2的最大值应该为0.0035319*1419=5.0117,实际计算的最大值5.0779,与理论结果基本一致。
    case4的系数1/(Ck2)=146407,数值特别大。理论上case4的最大值应该为0.0035319*146407=517.096,但实际计算的最大值是42185,比理论结果偏大,这可能是结果显示的最终时刻0.1s的结果,与前面工况的速度场有点不同,还有计算的数值误差等其他原因导致。

    13d18eab-de5b-4bad-a123-15fbed0d30d4-image.png

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2023年11月29日 13:34 最后由 编辑
    #39

    case4的nut特别高,case1-3都可以预测类似的nut所以流动行为差不多。因为给了不同的Ck,所有k区别非常大。这是不是说明Smagorinsky预测的nut是合理的,但是预测的k存在任意性,也侧方面的表示了OpenFOAM没有输出k的原因?

    这些k肯定有一种是趋向于合理的。但具体哪个合理目前还不清楚。两种方法的产生与耗散是否相等也未知。我觉得第二种方法的产生与耗散应该是一样的,因为本身那个二次方程就是从P=D推出来的。但是第一种可能够呛。

    OpenFOAM原始的Ck、Ce的值是哪里搞出来的你知道么? @coolhhh

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

    C 1 条回复 最后回复 2023年11月29日 15:09
  • C 离线
    C 离线
    coolhhh 神
    在 2023年11月29日 15:09 中回复了 李东岳 最后由 编辑
    #40

    @李东岳

    1. 李老师,我也没具体看到哪个文章用了这两个默认系数,但搜到一个帖子有个观点,帖子中的超链接无法查看:OpenFOAM大涡模拟湍流模型之Smagorinsky模型代码详解

    7557d98e-e4d2-4572-a434-4a4fdf028aad-image.png

    1. 无意中看到一个日本CFD网站,看起来ksgs与压力计算值有关。
      0273275b-2df3-44db-be29-3788eac243a3-image.png

    然后看Smagorinsky的推导,这个推导过程也类似的出现Ck和Ce参数。疑问依然还是第一种方法是如何计算ksgs,如果这个问题知道了,那应该能推断出第一种方法与第二种方法的系数Ck和Ce的关系。
    640dac20-6968-407a-8645-17a6cfe0363f-image.png
    018766da-5a71-41a1-91f7-f8bf705007bd-image.png
    0521948c-aaa2-4ac5-a8c5-8862f1892536-image.png

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2023年11月29日 16:19 最后由 编辑
    #41

    OpenFOAM原始的Ck、Ce的值是哪里搞出来的你知道么?

    我找了几个原始文献(主要是Lilly1967,DearDorff1970,以及Moeng and Wyngaard1988),里面讨论了这个Ck Ce的东西,我没太细看。不过看起来这个值是推导出来的,要满足。不过Cs的值都不一样。我再看看。

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

    1 条回复 最后回复
  • 李 离线
    李 离线
    李东岳 管理员
    写于2023年12月1日 14:24 最后由 编辑
    #42

    最近没细看这个玩别的去了。我参考Spectral analysis of large eddy simulations of the convective boundary layer昨天晚上推了个八九不离十。这个ck ce是符合湍流能谱的一个常数。这是前人已经做过的工作。没法写英文了。我以为别人没玩过这个。哈哈

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

    1 条回复 最后回复
  • L 离线
    L 离线
    lyc
    在 2024年4月3日 07:13 中回复了 coolhhh 最后由 编辑
    #43

    @coolhhh 太细致了!!!

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    写于2024年8月16日 14:46 最后由 编辑
    #44

    @李东岳 李老师,最近把Smagorinsky湍流模型两种方式植入方式再梳理了下,下面只讨论不可压缩湍流情况,重新完整总结如下(由于有的公式latex显示异常,就采用截图形式):

    1. OpenFOAM中LES求解方程形式

    根据 【OpenFOAMv2012】Smagorinskyの解説 | mtk_birdman's blog
    ,对于不可压缩湍流,OpenFOAM中求解的方程如下
    5d923f78-9dbd-4df9-a2c3-1ea31fc3b0c7-image.png
    其中,
    (3)νeff=ν+νsgs

    (4)P¯=p¯+23ρksgs

    在OpenFOAM中,不可压缩湍流的 ρ=1


    【讨论1】

    • OpenFOAM中看起来是将 P¯=p¯+23ρksgs作为整体计算,最后的压力计算结果并没有减去 23ρksgs。因此OpenFOAM中LES计算得到的压力并不是真实的压力,其偏差程度取决于 ksgs的大小。
    • 因此,OpenFOAM中只要不同亚格子模型得到的 νsgs的值相同,那么其压力结果理论上也应相同,因为 ksgs不参与最终的压力计算。

    类似的问题在RANS模型也有,OpenFOAM也是把k忽略掉了,详见下面两个帖子的讨论
    OpenFOAM 不可压缩湍流模型的 divDevReff 函数 | Giskard's CFD Learning Tricks
    Calculating divDevReff - Page 2 -- CFD Online Discussion Forums
    上面两个帖子针对OpenFOAM中RANS模型没有减去k有2个观点:
    第1个观点是k对于压力的计算结果影响很小因此可以省去。
    第2个观点是将k放到了压力项中一起计算,但OpenFOAM最后没有把压力减去k,究竟k对于压力结果影响大小是未知的。


    2. 符号定义与2个假设

    解析应变率张量(resolved-scale strain rate tensor):
    (5)D¯=12(∇U¯+∇U¯T)

    亚格子应力张量(subgrid scale stress tensor):
    a08fd3fc-c45a-4328-a554-45ab528fb02e-image.png

    其中 ksgs定义为
    (7)ksgs=12tr⁡(τsgs)


    根据Smagorinsky SGS model in OpenFOAM | CFD WITH A MISSION,有两个假设:

    • Assumption 1: Eddy viscosity approximation,并根据式(7),可得到
      d62f4ce5-e9ec-4992-9691-b2bacd781efd-image.png

    • Assumption 2: Local equilibrium(assumption of the balance between the subgrid scale energy production and dissipation)
      (9)P=ε⇔D¯:τsgs+Cεksgs1.5Δ=0

    其中局部平衡假设公式参考资料:

    • 《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.》
      9d9d80cd-62c8-4e96-aa73-68ea65bd4bc3-image.png
    • 【OpenFOAMv2012】Smagorinskyの解説 | mtk_birdman's blog
      622a079d-a959-4689-9319-f393ff430657-image.png

    3. 第2种方法(OpenFOAM的植入方式)讨论

    若直接根据 Local equilibrium 假设求解式(9),存在2个未知数: νsgs,ksgs,因此还需要构造 νsgs和 ksgs的关系式:

    (10)νsgs=CkΔksgs

    事实上,式(10)额外增加了未知数Ck,但这最后是作为经验参数直接输入,需要根据不同的模拟流场类型改变。

    式(10)来源可参考《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.》
    3f6aa9d3-18b1-44ae-8858-2e1f5a489b5d-image.png

    根据Smagorinsky SGS model in OpenFOAM | CFD WITH A MISSION,接着将式(8)和(10)代入式(9),就可求解 ksgs,再将 ksgs代入式(10)可求得 νsgs。
    3e4e7e43-f54b-40f1-b48a-b94a76103465-image.png
    式中,
    ed9ff5f2-5bdc-4bdc-a8d5-1c9d16d4e702-image.png
    对于不可压缩湍流,式(12)化简为:
    baba738c-fbe0-4fdd-abeb-612b037309b1-image.png
    式中,
    (14)|D¯|=2D¯:D¯

    把式(13)代入式(11),得到
    (15)ksgs=ca=CkΔ2|D¯|2Cε

    (16)νsgs=CkΔksgs=CkCkCεΔ2|D¯|

    式(16)对比第1种方法式(18),可得到关系式:
    (17)Cs=(CkCkCε)1/2

    OpenFOAM中,默认系数设置为 Cε=1.048,Ck=0.094⇒Cs=0.1678, Cs=0.1678这个数值是从均匀各向同性湍流推导出来的。

    https://www.openfoam.com/documentation/guides/latest/doc/guide-turbulence-les-smagorinsky.html
    5f7a2a45-18e1-41ca-af82-3b8796939e5a-image.png


    【讨论2】

    • 对于不可压缩湍流,式(13)的化简是基于 div(U¯)=0得到的,但根据 pisoFoam计算的{U},求div(U)结果为何不是严格等于0, div(U¯)实际上并不严格等于0,化简的式(15)与原公式(11)不是严格等价的。

    【OpenFOAMv2012】Smagorinskyの解説 | mtk_birdman's blog
    05a4e220-647b-4b03-b904-85218f631740-image.png


    【讨论3】

    《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.》对第2种方法评价:
    An alternative SGS model is to 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.

    • Sullivan(1994)对第2种方法评价,意思是根据式(4),真实的压力应减去 ksgs,即 p¯=P¯−23ρksgs。但OpenFOAM求解的是P¯=p¯+23ρksgs,所以无论 ksgs实际值是多少,只要 νsgs是相同的,那么得到压力结果也会是相同的。

    • 这也正是为何我们只要控制Cs=(CkCkCe)1/2为固定值0.065,即使改变 Ck值使得 ksgs值很大,得到的压力结果也差别不大。但此时我们如果求解析kresolved占比,就会对结论产生很大的影响。

    • 当Cs=(CkCkCe)1/2设置为固定值,根据式(16),νsgs也为固定值。根据ksgs=(νsgsCkΔ)2,此时只要 Ck取值很小,ksgs的值就会很大,但计算的解析kresolved基本不变,因此解析湍流能占比就会很小。但如果Ck取值很大,ksgs的值就会很小,解析湍流能占比就会较大。所以检查LES的解析湍动能占比,Smagorinsky模型经验系数选择有很大影响。

    • 为什么第2种方法结果是满足局部平衡假设,还会出现上述问题?原因是 νsgs=CkΔksgs这个关系式是一个假设关系,对于不同湍流,Ck应有一个合理取值范围,而不能任意取,需要通过实验进行校准。


    4. 第1种方法讨论

    第1种方法的植入如式(18)所示。

    (18)νsgs=(CsΔ)22D¯:D¯=(CsΔ)2|D¯|

    第1种方法只能设置Cs一个参数得到合理的νsgs,但无法直接得到ksgs。但OpenFOAM最后求解得到的压力是P¯=p¯+23ρksgs,所以没有求解ksgs也对结果无影响。


    【讨论4】

    ksgs的定义如式(7)所示,因此要求解ksgs得从求解 τsgs 入手。根据式(8),目前未知数有2个未知数:ksgs,τsgs。与第2种方法不同的地方,我们现在是已知νsgs,求解ksgs。再根据 Local equilibrium,式(11)的前2行:

    8427c8ff-6fd2-444f-9bd4-174c9b0cfb2b-image.png

    结果发现式(19)中仍然还有2个未知数:ksgs, Cε
    因此,第1种方法要求解ksgs,还需要输入系数Cε。
    或者输入系数Ck,根据 νsgs=CkΔksgs反算ksgs。注意这里的Ck与Cs并不直接等价。


    【讨论5】

    第1种方法:已知νsgs

    • 输入系数Cε,根据式(19)就能求解ksgs。这个时候计算结果自然满足Local equilibrium假设。
    • 或者输入系数Ck,根据 νsgs=CkΔksgs反算ksgs。再将νsgs,ksgs代入式(19)就能求解满足Local equilibrium假设的系数Cε
    • 因此Sullivan(1994)对第1种方法的评价是:which results from an assumed local equilibrium balance between shear production and dissipation in the SGS turbulent kinetic energy (TKE) equation.

    第2种方法:已知 Ck,Cε

    • 根据式(11)求解ksgs ,结果自然满足Local equilibrium假设。

    综上,Smagorinsky湍流模型的2种植入方式都可以满足Local equilibrium假设。


    5. 总结

    • 第1种方法只设置1个参数Cs只能得到νsgs,要求解ksgs还需要额外指定系数Ck或者Cε。
    • 第2种方法通过设置2个参数Ck,Cε,可以得到νsgs,ksgs,但同样的等价Cs=(CkCkCε)1/2前提下,Ck系数的不同取值对ksgs影响很大。
    • OpenFOAM求解的是P¯=p¯+23ρksgs,所以只要 νsgs是相同的,那么得到压力结果也会是相同的。因此第2种方法通过设置 Ck,Cε得到等价的Cs=(CkCkCε)1/2,第1个方法设置同样的Cs值,此时两种方法的结果是近似等价的。
    • 两个方法设置等价的Cs值,结果仍有点小差异,主要是因为速度压力耦合求解过程中,div(U¯)实际并不严格等于0,导致两个方法计算的νsgs有略微差别,但整体结果是很接近的。
    • Smagorinsky湍流模型要得到合理的结果,需要确定Cs,Ck,Cε三者中的任意2个即可。但因为OpenFOAM求解的是P¯=p¯+23ρksgs,可以不需要求解ksgs的值,因此获得合理结果只要确定合理的Cs即可。
    • 目前模拟channel flow,用的比较多取值是Cs=0.065。对应的,OpenFOAM自带算例planeChannel建议系数取值为Ck=0.0265463553,Cε=1.048

    根据《Moin, P. and J. Kim, Numerical investigation of turbulent channel flow. Journal of fluid mechanics, 1982. 118: p. 341-377.》,建议取Cs=0.065
    c41a58ed-3a43-4b5e-b983-e2c37139a3fa-image.png

    /OpenFOAM-v2206/tutorials/incompressible/pimpleFoam/LES/planeChannel

    SmagorinskyCoeffs
    {
    Ce 1.048;
    Ck 0.0265463553; // Updated to give Cs = 0.065
    }
    李东岳李 V 2 条回复 最后回复 2024年8月17日 06:54
  • 李东岳李 离线
    李东岳李 离线
    李东岳 管理员
    在 2024年8月17日 06:54 中回复了 coolhhh 最后由 编辑
    #45

    @coolhhh 哎我去,你这搞完了,可以写个Smagorinsky的review了...

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

    1 条回复 最后回复
  • C coolhhh 被引用 于这个主题 2024年10月2日 05:13
  • V 离线
    V 离线
    Voynich
    在 2025年2月6日 09:49 中回复了 coolhhh 最后由 编辑
    #46

    @coolhhh 太牛逼了!膜拜!另外关于压力没有减去k的问题,Fluent文档(2022R2版本, Ansys Fluent Theory Guide, p118)里有这样的论述:
    6ed96fa9-8857-44b1-bb18-a7dfab192875-image.png
    文献是《G. Erlebacher, M. Y. Hussaini, C. G. Speziale, and T. A. Zang. "Toward the Large-Eddy Simulation
    of Compressible Turbulent Flows". J. Fluid Mech. 238. 155–185. 1992.》,是否可以认为k就是忽略了

    C 1 条回复 最后回复 2025年2月6日 10:05
2023年11月8日 07:03

36/48

2023年11月29日 07:28

2025年4月5日 18:33
  • 登录

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