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. 计算y+,Δx+,Δz+的疑问

计算y+,Δx+,Δz+的疑问

已定时 已固定 已锁定 已移动 OpenFOAM
13 帖子 4 发布者 9.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    coolhhh 神
    写于2022年7月8日 12:00 最后由 编辑
    #1

    最近看到一个文章:CFD计算中,除了y+,还应知道Δx+,Δz+【学习笔记】,但关于计算这几个参数有几点疑问:

    1. 根据yPlus在openfoam代码里面的实现,以及公式y+=Uτyν,由于同个垂直位置处用的Uτ都是一样的,那么计算流场垂直于壁面其他高度A位置的y+,是否可以先用后处理程序yplus得到第一层边界层网格p的y+,然后直接通过A与p的高度的比值求得A位置的y+?
      yA+=yp+×yAyp
      0e054c90-fb1a-4b54-a2f3-b3c80b29bf49-image.png

    2.类似第1个问题,计算第一层网格的△x+和△z+,用的Uτ都是一样的,也类似可以通过长度比值求得?
    △x+=Uτ△xν=y+×△xy
    △z+=Uτ△xν=y+×△zy

    3.△x+和△z+的方向定义问题。假设风向如图所示,对于侧风面流动方向和宽度方向比较好理解。但对于迎风面,风方向就直接是壁面法向方向,此时的△x+和△z+的方向该如何定义?

    d18ef182-fc8e-4f80-bc54-fc3476f64524-image.png

    4.根据文献《Piomelli, U. and J.R. Chasnov, Large-eddy simulations: theory and applications, in Turbulence and transition modelling. 1996, Springer. p. 269-336.》,对于wall-resolved LES,要求△x+≃50∼150,△z+≃15∼40,对这两个方向的要求区别还挺大,对应第3个问题这两个方向具体在模型中不同面如何定义,可能会得到不一样的结果。
    a0ac5de0-d6d8-40fa-bb12-4f73db5672e9-image.png

    5.最后的问题是LES计算满足了y+,但△x+和△z+比值超过了文献建议范围,对结果影响会很大吗?

    最后感谢各位大佬帮忙解惑

    L 1 条回复 最后回复 2023年2月7日 08:20
  • 沉 离线
    沉 离线
    沉剑
    写于2023年1月11日 21:41 最后由 编辑
    #2

    类似分离涡这种大尺度的涡结构,WMLES即可,涉及转拟湍流,湍流结构等,三方向的尺度需满足计算要求。

    1 条回复 最后回复
  • L 离线
    L 离线
    luofq-sysu
    在 2023年2月7日 08:20 中回复了 coolhhh 最后由 编辑
    #3

    @coolhhh 楼主有可分享的结论么?我理解 x+和z+如果太大,那近壁面的网格长宽比就太大了,对LES计算还是有影响的

    C 1 条回复 最后回复 2023年2月7日 12:54
  • 李 在线
    李 在线
    李东岳 管理员
    写于2023年2月7日 11:48 最后由 编辑
    #4

    x+和z+ 这两个变量我还没关注过 希望大佬们有相关的经验分享一下 甩出一些sci :146:

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 2023年2月7日 12:54 中回复了 luofq-sysu 最后由 编辑
    #5

    @luofq-sysu

    1. 首先计算 △x+、△z+,是根据下面的公式由 y+推算得到

    1.根据yPlus在openfoam代码里面的实现,以及公式y+=Uτyν,由于同个垂直位置处用的Uτ都是一样的,那么计算流场垂直于壁面其他高度A位置的y+,是否可以先用后处理程序yplus得到第一层边界层网格p的y+,然后直接通过A与p的高度的比值求得A位置的y+?
    yA+=yp+×yAyp

    2.类似第1个问题,计算第一层网格的△x+和△z+,用的Uτ都是一样的,也类似可以通过长度比值求得?
    △x+=Uτ△xν=y+×△xy
    △z+=Uτ△xν=y+×△zy

    2.模拟的结论可参考文献《Chen, L., et al., Consistency improved random flow generation method for large eddy simulation of atmospheric boundary layer. Journal of Wind Engineering and Industrial Aerodynamics, 2022. 229: p. 105147.》,模拟对象是高层建筑,对于建筑表面的△x+、△z+、y+近似符合要求,风压模拟结果跟实验值吻合较好。但计算域底面虽然不符合要求,但从结果看对高层建筑影响较小。
    1.jpg

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    写于2023年2月16日 00:19 最后由 编辑
    #6

    @李东岳 李老师,看这篇文章《Komen, E., et al., A quantification method for numerical dissipation in quasi-DNS and under-resolved DNS, and effects of numerical dissipation in quasi-DNS and under-resolved DNS of turbulent channel flows. Journal of computational physics, 2017. 345: p. 565-595.》有提到WRLES中Δx+,Δz+要求:
    1.jpg

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2023年2月16日 05:33 最后由 编辑
    #7

    好的,我研究一下。针对你的第一个问题。这个帖子里面我自己画了几个u+ y+出来,你可以参考一下。因为算例已经提供了。你可以直接看代码。

    替代文字

    https://www.cfd-china.com/topic/6248/les直流槽道边界层模拟-如何得到正则化速度u-以及正则化坐标y/5

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

    C 1 条回复 最后回复 2023年2月16日 06:21
  • C 离线
    C 离线
    coolhhh 神
    在 2023年2月16日 06:21 中回复了 李东岳 最后由 编辑
    #8

    @李东岳 李老师,现在理解了其他位置的y+可以通过壁面第一层网格的yst+的高度比例求得,但主要的一个困惑点是如何判断方向的问题。对于槽道流,这个方向没有争议;但如果放了建筑后,比如下面描述的迎风面,流动方向与壁面方向重合,其他两个方向似乎都是宽度方向,此时Δx+和Δz+就不好判断。
    我的做法是因为网格是近似于边长相等的多面体网格,那么就不用区分Δx+和Δz+,因为其值结果是近似一样的。但有的文献又对Δx+和Δz+提出的要求范围没有交集,只能大概的设定在两个没有交集范围的中间位置。

    3.△x+和△z+的方向定义问题。假设风向如图所示,对于侧风面流动方向和宽度方向比较好理解。但对于迎风面,风方向就直接是壁面法向方向,此时的△x+和△z+的方向该如何定义?

    d18ef182-fc8e-4f80-bc54-fc3476f64524-image.png

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2023年2月16日 06:36 最后由 编辑
    #9

    主要的一个困惑点是如何判断方向的问题

    好像有道理。你看openfoam自带的代码y+如何判断方向的?自带的代码啥几何都能算出y+

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

    C 1 条回复 最后回复 2023年2月17日 03:05
  • C 离线
    C 离线
    coolhhh 神
    在 2023年2月17日 03:05 中回复了 李东岳 最后由 编辑
    #10

    @李东岳
    李老师,看了OpenFOAM中yPlus计算,是通过壁面网格最近垂直距离算的,也就是y+算的是壁面垂直方向,这个方向没有争议。有争议的是网格不是槽道流那种网格,网格面与流动方向有一定夹角,那么其他两个方向,如何判定是Δx+还是Δz+


    OpenFOAM中 yPlus计算方法:

    Foam::tmp<Foam::volScalarField> Foam::functionObjects::yPlus::calcYPlus
    (
    const momentumTransportModel& turbModel
    )
    {
    tmp<volScalarField> tyPlus
    (
    volScalarField::New
    (
    IOobject::groupName(type(), phaseName_),
    mesh_,
    dimensionedScalar(dimless, 0)
    )
    );
    volScalarField::Boundary& yPlusBf = tyPlus.ref().boundaryFieldRef();
    volScalarField::Boundary d = nearWallDist(mesh_).y();
    const volScalarField::Boundary nutBf =
    turbModel.nut()().boundaryField();
    const volScalarField::Boundary nuEffBf =
    turbModel.nuEff()().boundaryField();
    const volScalarField::Boundary nuBf =
    turbModel.nu()().boundaryField();
    const fvPatchList& patches = mesh_.boundary();
    forAll(patches, patchi)
    {
    const fvPatch& patch = patches[patchi];
    if (isA<nutWallFunctionFvPatchScalarField>(nutBf[patchi]))
    {
    const nutWallFunctionFvPatchScalarField& nutPf =
    dynamic_cast<const nutWallFunctionFvPatchScalarField&>
    (
    nutBf[patchi]
    );
    yPlusBf[patchi] = nutPf.yPlus();
    }
    else if (isA<wallFvPatch>(patch))
    {
    yPlusBf[patchi] =
    d[patchi]
    *sqrt
    (
    nuEffBf[patchi]
    *mag(turbModel.U().boundaryField()[patchi].snGrad())
    )/nuBf[patchi];
    }
    }
    return tyPlus;
    }
    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2023年2月17日 05:13 最后由 编辑
    #11

    从openfoam代码来看,就是网格最近垂直距离了,没考虑x+还是z+。你可以看看sci都怎么弄的。如果需要考虑不同的区域,感觉这个东西有效率的植入起来还比较麻烦。

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    写于2023年2月17日 15:39 最后由 编辑
    #12

    @李东岳 李老师,植入思路我想可以根据与y+的关系来实现,但最后还是回归到网格除了法向外,另外两个方向怎么定义x和z方向。其实在网格与风向有夹角时候,已经无法严格区分顺流向和宽度方向了

    2.类似第1个问题,计算第一层网格的△x+和△z+,用的Uτ都是一样的,也类似可以通过长度比值求得?
    △x+=Uτ△xν=y+×△xy
    △z+=Uτ△xν=y+×△zy

    1 条回复 最后回复
  • 李 在线
    李 在线
    李东岳 管理员
    写于2023年2月18日 06:02 最后由 编辑
    #13

    @coolhhh 在 计算y+,Δx+,Δz+的疑问 中说:

    但最后还是回归到网格除了法向外,另外两个方向怎么定义x和z方向

    是的。一般sci里面怎么弄?我个人怀疑sci就是按照流向方向来了。

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

    1 条回复 最后回复
2022年7月8日 12:00

7/13

2023年2月16日 05:33

未读 6
2023年2月18日 06:02
  • 登录

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