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 发布者 8.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #4

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

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 luofq-sysu 最后由 编辑
    #5

    @luofq-sysu

    1. 首先计算 $\bigtriangleup x^{+}$、$\bigtriangleup z^{+}$,是根据下面的公式由$\ y^{+}$推算得到

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

    2.类似第1个问题,计算第一层网格的△x+和△z+,用的Uτ都是一样的,也类似可以通过长度比值求得?
    $\bigtriangleup x^{+}=\frac{U_{\tau}\bigtriangleup x}{\nu }=y^{+}\times \frac{\bigtriangleup x}{y}$
    $\bigtriangleup z^{+}=\frac{U_{\tau}\bigtriangleup x}{\nu }=y^{+}\times \frac{\bigtriangleup z}{y}$

    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 神
    写于 最后由 编辑
    #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中$\Delta x^+$,$\Delta z^+$要求:
    1.jpg

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #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 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    在 中回复了 李东岳 最后由 编辑
    #8

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

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

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

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

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

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

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

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

    @李东岳
    李老师,看了OpenFOAM中yPlus计算,是通过壁面网格最近垂直距离算的,也就是y+算的是壁面垂直方向,这个方向没有争议。有争议的是网格不是槽道流那种网格,网格面与流动方向有一定夹角,那么其他两个方向,如何判定是$\Delta x^+$还是$\Delta 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 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #11

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

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

    1 条回复 最后回复
  • C 离线
    C 离线
    coolhhh 神
    写于 最后由 编辑
    #12

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

    2.类似第1个问题,计算第一层网格的$\bigtriangleup x^{+}$和$\bigtriangleup z^{+}$,用的$U_{\tau}$都是一样的,也类似可以通过长度比值求得?
    $\bigtriangleup x^{+}=\frac{U_{\tau}\bigtriangleup x}{\nu }=y^{+}\times \frac{\bigtriangleup x}{y}$
    $\bigtriangleup z^{+}=\frac{U_{\tau}\bigtriangleup x}{\nu }=y^{+}\times \frac{\bigtriangleup z}{y}$

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

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

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

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

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

    1 条回复 最后回复

  • 登录

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