Cd计算不准的问题-LES-Re3900-三维圆柱绕流-pisoFoam



  • @random_ran
    你这个文章是不是已经投出去了?接受没呢



  • @random_ran 你好,请教nut和nuTilda边界怎么设置



  • @random_ran @yhdthu 我对于那条蓝色的cd曲线还存在问题,

    这个Cd是平均的整个Cylinder的表面。

    这个是如何平局得到的呢?
    我的理解是计算输出每一步的结果,从某个时刻开始,开始对瞬时值做时间平均,是这样的吗?



  • @流卜

    • nut ($\nu_t$) 是湍流粘度;

    • nuTilda ($\overset{\sim}{\nu}$) 是 Spalart-Allmaras 模型中引入的一个量

    对于 $\overset{\sim}{\nu}$:

    • 墙上: 0
    • 进口处: 0 最好

    SA 模型认为 $\overset{\sim}{\nu}$ 小于 $\nu/10$的数值是可接受的。同样的情况适用于初始条件。

    另外, 这个模型还强调了对 free-slip 边界条件的使用约束: Neumann (法向梯度为零)。 以上是参考:

    Spalart, P.R., & Allmaras, S.R. (1994).
    A one-equation turbulence model for aerodynamic flows.
    La Recherche Aerospatiale, 1, 5-21.

    当然,最保险的方式是参考算例模型了。

    @benqing 对的,Cd 是对每个时间步上的瞬时值进行时间上的平均来得到均值的。 注意,这个瞬时值已经是整个 Cylinder 表面的均值。

    @东岳 投到一本书上,已经接受啦。



  • 这是我的毕业论文,纪念这个帖子盖到 100 楼。

    虽然已经毕业,但依旧是 CFD 的小白。每次打开主页的时候,大把大把的专业名词都是我从来没接触到的。但我依旧会去探索 CFD, 探索 OF。

    一路走来,学习 OF 的路上,真的是很感谢那些曾经帮助过我的人。 特别是这里,‘ cfd-china.com’,很喜欢这个论坛,简洁的界面,却不失复杂的功能,当然更重要的是, 还有藏龙卧虎的你们 : )。

    感谢你们。



  • 恭喜Ran博士,即将开启新的篇章!!



  • @random_ran 您好,最近看了一部分您的毕业论文,也在应用OpenFOAM的LES模型,看您在论文中提到计算过程中保证局部库朗数小于1 ,是指计算过程中的最大库朗数吗?0_1544581621449_7287af16-0333-4f6a-a99e-d5b0c2ea5f40-image.png
    目前我的计算将最大库朗数调节到了0.3左右,可是这样的时间步长计算起来实在太慢了,请问LES模型的平均库朗数和最大库朗数大概应控制在什么范围内计算就相对比较稳定呢?



  • @Regina

    谢谢你对我的论文感兴趣。

    我自己来说,一开始是卡着 CFL =1 来的。不过也看到有人用 2。

    0.3 比较小的了,可以迈开步子!

    比如我目前在运行的一个例子
    Courant Number mean: 0.0522079 max: 0.977915

    够可以的吧?哈哈..



  • @random_ran 嗯呢,我开始也算过最大库朗数1.3左右的,后来担心结果的稳定性,最近调小了,可是这计算效率实在太熬人了,在您的建议下我决定再将时间步长迈大一点,哈哈,等时间充裕可以研究一下时间步长的收敛性。
    感谢回复!



  • @yhdthu 您好,这种涡结构如何输出呢?是什么物理量呢?



  • @random_ran 再次打扰了,我想做一下尾部三维的涡结构,可是为什么创建contour等值面时,contour by后面的选项只有压力P和nut,并没有后来vorticity命令计算出来的变量vorticity,vorticity只能以云图的形式出现,我需要怎样创建wake的结构呢?



  • @Regina 快去读读 @wwzhao 的博客,超详细的!



  • @random_ran 你好,我初步尝试使用dynamic K Eqn对Re=2e5情况下的D=1m三维圆柱绕流进行了计算,计算了25个周期,但是升阻力系数曲线始终没有出现任何明显的周期现象,甚至Cd出现了负值,Cd,Cl频谱曲线也十分混乱,
    02971d2b-97a8-4249-99e4-6f73b7ee7f55-image.png
    经过初步检查,我认为有以下几种可能:
    1,计算时长过短
    2,离散格式设置有误
    3,Z方向节点过少
    请问您在调试过程中是否遇到同样的问题,是怎样解决的?如果没有,您对解决这一问题有何建议与意见?先行谢过!
    计算域如下
    3b735d1b-c461-4e1c-a703-a07fdfec1a53-image.png
    近壁核心区是一个4D*4D的矩形,进口到中央矩形的距离为5D,出口到中心矩形的距离为11D,两侧距离中心矩形距离都是3D。
    近壁核心区的布置如下图
    b8796c98-ea25-4ee9-9b38-b7a6871dd326-image.png
    离散格式如下
    f947050d-d12f-4e1b-9914-d9b6f00b1b13-image.png
    边界条件如下
    99f56691-59aa-4bf9-b62a-a77716d885ca-image.png



  • @流散然

    我曾尝试过用 dynamic k-eqn 子网格,也出现了负 Cd 的情况。

    我是把计算域从方形改成了圆形之后,Cd 就再也没出现过了。 相对于矩形计算域,圆形计算域的控制参量要少很多。本来临界雷诺数下,流场性质就非常受微小波动的影响,所以要尽可能减少无关因素的影响。

    • 时间步长过短,按道理讲应该是更准确,但我也遇到过减小时间步长,反而出现更大的误差,而原因也非常不好去找;
    • 离散格式的问题,我没看出啥问题,或许论坛中其它人能看出些什么;
    • 展向, 一般 πD,但是节点数还要看你 2D 网格,比如 Cheng, W. et al. (2017) TABLE 2 Case S7 的网格 2048 x 512 x 192 (周向 x 径向 x 展向), 总网格数 201326592;

    如果你的计算资源不够, 可以试试 DES 家族 (DDES,IDDES)。

    参考资料: Cheng W, Pullin DI, Samtaney R, Zhang W, Gao W. 2017. Large-eddy simulation of flow over a cylinder with from to : a skin-friction perspective. J. Fluid Mech. 820:121–58



  • @random_ran
    这么短感谢您在这么短的时间内,给出如此详细的答复,但是我还有几点想要和您详细讨论下:

    • 1,更正,上次提问中我误将“计算时长”打为“计算步长”,我实际想要问的是,我总共只计算了25个周期,负Cd是否与计算时间长短有关。

    • 2,在您的论文中,我注意到您在近壁使用了Spalding的壁面函数,我想问下您的壁面函数是在nut文件中设置的么?使用壁面函数后,近壁y+为多少,周向节点与展向节点有是否需要相应的做出调整?

    • 3,我想和您确认下圆形网格的划分,您是边界条件是这样设置的么?
      5ea8e6db-27b8-452a-a4a4-b725b19c680d-image.png

    • 4,使用dynmaic kEqn模型的时候k的初始值应当怎样设定?对计算结果有何影响?我虽然知道k是亚格子动能,但是不知道如何在inlet处设置,我现在在出口处暂时使用fixedValue格式的湍动能作为替代。

    • 5,我注意到您在论坛中发过如下帖子
      501d0d42-84a0-4c9e-bdf8-bfd213a6a768-image.png
      我查找了4.1的dynamickEqn的头文件
      3812ba51-e4ec-46cf-a127-809d942be39c-image.png
      通过对比论文我确认了OpenFOAM中源代码与头文件中声明的模型一致
      但是您在论文中使用的LES为
      9818ed0c-687b-456b-9a61-1da95b42f238-image.png
      您在毕业论文中更换湍流模型的原因是什么?是因为计算结果的好坏么?还是其他的原因?

    参考文献:Kim, W.-W., & Menon, S. (1995). A new dynamic one-equation subgrid-scale model for large eddy simulations. In 33rd Aerospace Sciences Meeting and Exhibit.



  • @流散然

    1. 负 Cd 肯定是什么地方不对。原因的话,网格的设计,计算时间步长都会有影响的。我自己的经验是网格影响的更厉害。
    2. 我做的模拟中有 LES (Re3900),剩下的是用的 DDES。 湍流粘度我是从摩托车那个算例直接考过来的,没有做调整。我之前的数据都已经打包起来了,但用的很暴力的打包方法,导致现在拆包的时候,时间比较长,耐心等待一下,我再确认一下
    3. 就是这种计算域, 2D 用 ICEM 画 然后 拉伸成 3D
    4. 同样,参考摩托车算例。 我用的是 turbulentInlet,考虑到 Re 的数量及;我有做过类似敏感性的测试,发现均值参数受影响不大。 我用的应该是 one equation eddy-viscosity model 不是 dynmaic kEqn
    5. 那个帖子中是我的试算,应该不是最终的计算。 换湍流模型的目的很简单:计算资源不够做 LES。


  • 60000点击,感觉这个帖子的内容可以出本书咯 :chouchou:



  • @random_ran
    再次对您详细认真的回复表示感谢,我现在在使用二维的圆形网格计算(虽然根据我使用dynamic kEqn进行二维计算的众多经验来看,这不可能有什么好结果),因此,暂时没有新的计算结果与您讨论,仅就以下三点和您进行讨论:

      1. 您是否做过turbulentInlet对脉动值的影响的测试?尤其是对于Cd’
      1. 您能简略的说下one equation eddy-viscosity model和dynmaic kEqn的相同与不同之处么?
      1. 您说您的计算资源不足以进行LES计算,但是我看到您有在本帖的计算中说过您曾经使用144核和96核进行计算,这里指的是物理核心,还是线程(逻辑核心)?我在您的论文种看到您也做了Re10e5左右的算例,但都使用的是DES,一百余核也不足以支撑在Re10e5左右的LES计算么?


  • @流散然

    1. 可以参考一下我的数据,可以自己处理一下看看结果。

    2. 最明显的区别是 kEqn 的 Ck 是 0.094 而 dynamicKEqn 则是速度场做了过滤。

    +    //-kEqn           Ck_
    +    //-kEqn           (
    +    //-kEqn               dimensioned<scalar>::lookupOrAddToDict
    +    //-kEqn               (
    +    //-kEqn                   "Ck",
    +    //-kEqn                   this->coeffDict_,
    +    //-kEqn                   0.094
    +    //-kEqn               )
    +    //-kEqn           )
    +
    +
    +    //-dynamicKEqn    const volScalarField Ck
    +    //-dynamicKEqn    (
    +    //-dynamicKEqn        simpleFilter_(0.5*(LL && MM))
    +    //-dynamicKEqn       /(
    +    //-dynamicKEqn            simpleFilter_(magSqr(MM))
    +    //-dynamicKEqn          + dimensionedScalar("small", sqr(MM.dimensions()), vSmall)
    +    //-dynamicKEqn        )
    +    //-dynamicKEqn    );
    
    
    1. AMD Opteron(tm) Processor 6172 物理核心是12核。计算资源取决于你的需求,因为有太多的算例,对于我来说 LES 在这个雷诺数下是不够的。


  • @random_ran
    感谢您这么长时间以来的耐心解答与帮助,问题我已解决,所有的症结都出在边界条件上,这一方法适用于矩形网格和圆形网格。具体的细节我不太方便透露,如果您对此有兴趣的话,我们可以加下联系方式(邮箱或微信等皆可)具体的聊下
    最后再次对您一直以来的帮助致以诚挚的感谢,如果日后我因为算力不足转向DES,到时还请您多加指教!



  • @random_ran 你用fluent算的,,参考值是否设置正确,,这个对阻力系数有直接影响



  • @红豆沙 哈哈,看了老半天,讨论好详细,,



  • @random_ran 请问你圆形计算域的网格也是用ICEM画出来的吗?
    我计算的Re大概在15w左右,边界层非常小,用meshing的结构化貌似不太成功。所以现在用了非结构化网格,但是结果也是偏大。还望请教一下!
    谢谢!



  • 您好!
    我还有一些疑问想请教一下:
    关于入口边界的K和nut值。

    1. 我注意到一开始这个帖子你放的是在cylinder k=0.24,请问这个k您是怎么取的?
    2. nut的值,这个帖子用了壁面函数。
      在另一个帖子里 你用的是fixedvalue 0. 没有使用壁面函数。
      请问在边界层足够小的情况下,是不是可以直接采取fixedvalue 0. 这样的设定?

    捕获.PNG



  • A video to show flow around circular cylinder in real life:
    https://youtu.be/0ThQ_nD97hY?t=306


Log in to reply