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
    写于 最后由 编辑
    #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
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]