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. k壁面函数没有考虑一个网格多个边界面?

k壁面函数没有考虑一个网格多个边界面?

已定时 已固定 已锁定 已移动 OpenFOAM
11 帖子 3 发布者 7.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #1
    • 问题1:of1806的kLowReWallFunction.C在计算壁面上的k值(kw),kw看似是指边界面上的k,但是由于yPlus算的应该是最近的单元体心处的yPlus,所以我猜想这就是算的离壁面第一层的单元的k,只是先存储在边界面上而已,代码如下:
    if (yPlus > yPlusLam_)
            {
                scalar Ck = -0.416;
                scalar Bk = 8.366;
                kw[facei] = Ck/kappa_*log(yPlus) + Bk;
            }
            else
            {
                scalar C = 11.0;
                scalar Cf = (1.0/sqr(yPlus + C) + 2.0*yPlus/pow3(C) - 1.0/sqr(C));
                kw[facei] = 2400.0/sqr(Ceps2_)*Cf;
            }
    
            kw[facei] *= sqr(uTau);
    
    

    然而后面我又发现,k没有像epsilon计算那样通过求和平均,来考虑一个网格多个边界面的情况。那么当一个网格有多个边界面时,对于这个网格,边界面上就会存有不同的k值,这时候如何确定这个单元的k值呢?

    • 问题2:在chalmers大学的学生report里有提到壁面函数计算有两类,一类是计算的是边界面上的值,例如k;一类是计算的体心的值。例如epsilon。而在kEpsilon.C中epsEqn会通过updateCoeffs()来改变第一层单元的epsilon值,这样刚好就用上了epsilon壁面函数所计算的体心值,而并没有发现kEqn通过updateCoeffs()来改变第一层网格单元的k值。这样的话前面求kw的目的是什么呢?
    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #2

    补充一下问题2:在这篇知乎最后一个评论印子斐说:“k(注:应该说的是第一层网格体心的k)比较难给,of和fluent都采用给定tke方程里的production,在求解过程中自动得到k的值”。很疑惑是如何做到的。

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

    k壁面函数没有考虑一个网格多个边界面?

    我知道epsilon那面是考虑的,k这面还没研究,不确定,你找到了告诉我

    :haqi:

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

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 李东岳 最后由 编辑
    #4

    @东岳 好滴

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #5

    (1)对使用k的壁面函数有一个比较疑惑的地方是,kLowReWallFunction.C中是定义updateCoeff()来计算kw的,然而在kEpsilon.C文件里面根本找不到k使用了这个函数来计算kw,也就是根本没计算k。所以设置kqRWallFunction和kLowReWallFunction,看起来都没有区别,因为我暂时没有找到在哪里调用了。。而与之相对的是epsilon和G都使用了updateCoeff来更新离壁面第一层网格中心的值。所以我怀疑离壁面第一层网格的k根本没用壁面函数,而是直接靠解方程计算出来。我的一个猜想是,kEpsilon模型本身是为对数区设计的,使用这个模型,就默认第一层网格中心处于对数区,而在对数区,常规做法是不设置k的,而只计算epsilon和G,并且epsilon和G满足平衡条件,在WALL边界处默认设置了k的法向梯度为零(这似乎就默认了使用kqRWallFuntion)。所以在kEpsilon.C里面并没有调用k的updateCoeff()进行计算,(不知到印博士是不是这个意思),是靠直接求解方程得到k,而只对epsilon和G使用壁面函数。
    (2)油管上的fluidmechanical101对此有些视频,里面有提到k在对数区和粘性区的计算,公式和kLowReWallFunction对应,但是还是那个问题,这个计算是靠updateCoeffs()调用的,而没有发现在其他地方有使用。另外,这个函数计算的值是储存在边界面上的,而非网格中心。epsilon在计算的过程中也放在了边界面上,但用了求和平均,最后还是为了算出第一层网格中心的epsilon值。而kw并没有求和平均,在放到网格中心去,所以现在不清楚把k值放在边界面上的目的是什么。我另一个猜想是,是不是在组成k方程的时候用了边界的值,相当于把这个算出来的值当做边界条件了,可能是放入矩阵系数,也可能是放到等号右边的b去了。

    我 1 条回复 最后回复
  • 我 离线
    我 离线
    我是河滩
    在 中回复了 Samuel-Tu 最后由 编辑
    #6

    @Samuel-Tu k的壁面函数有两种,当使用kqRWallFunction时,在物面采用的是k的梯度为0,即黎曼边界条件,全场可以正常求解,壁面第一层网格的k无需额外处理。当采用kLowReWallFunction时,根据yPlus确定壁面的k值,即为狄利克雷边界,全场仍可以正常求解,壁面第一层网格的k也无需额外处理。但不管哪一种,k的壁面函数均是在solve(kEqn)这步进行的,即求解k方程时加入了k的边界的处理。
    替代文字

    动边界

    我 1 条回复 最后回复
  • 我 离线
    我 离线
    我是河滩
    在 中回复了 我是河滩 最后由 编辑
    #7

    @我是河滩 1.JPG

    动边界

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

    k的壁面函数就是零法向梯度

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

    我 1 条回复 最后回复
  • 我 离线
    我 离线
    我是河滩
    在 中回复了 李东岳 最后由 编辑
    #9

    @东岳 kqRWallFunction是零压力梯度边界,因此壁面第一层网格的k值与壁面上的k相等。kLowReWallFunction为固定值边界条件,利用壁面函数计算壁面上的k值,因此壁面第一层网格的k值与面上k值没有相等的关系。

    动边界

    我 李东岳李 2 条回复 最后回复
  • 我 离线
    我 离线
    我是河滩
    在 中回复了 我是河滩 最后由 编辑
    #10

    @我是河滩 在 k壁面函数没有考虑一个网格多个边界面? 中说:

    压力

    kqRWallFunction是零梯度,和物面压力法向梯度为零边界条件类似,壁面上的压力等于第一层网格中心的压力。

    动边界

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 我是河滩 最后由 编辑
    #11

    @我是河滩 是的。

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

    1 条回复 最后回复

  • 登录

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