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-w SST湍流模型边界条件设置的疑惑

关于k-w SST湍流模型边界条件设置的疑惑

已定时 已固定 已锁定 已移动 OpenFOAM
8 帖子 5 发布者 8.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 王 离线
    王 离线
    王慧博
    写于 最后由 编辑
    #1

    各位老师师兄师姐们好,我刚刚开始学习湍流模型,使用buoyantSimpleFoam求解器求解湍流流动问题,使用了k-w SST湍流模型,但是在计算过程中总是出现计算omega边界发散问题,也查阅了很多相关资料,还是没有解决,在这里列出所设置的边界条件设置及错误,希望大家能够帮助我指出问题所在,不胜感激!
    ps:我在网格划分时边界层第一层网格宽度y+设置为0.5,网格拓展率1.2,Re约为5*10^5,checkMesh没有问题!
    边界条件设置:1.png 2.png
    错误及上一步运行结果
    3.png

    1 条回复 最后回复
  • 王 离线
    王 离线
    王慧博
    写于 最后由 编辑
    #2

    实在抱歉没有认真检查排版导致图片出现问题。现将图1重新上传
    【附】壁面wall设置为恒定热流,这里有个疑惑,在设定恒热流边界条件指定的value uniform值会影响这个条件吗,感觉这个又有点类似恒定温度,但是删去会报错
    1.png

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

    你的设置看起来没问题,uniform value也没有影响,你的压力看起来很大,

    你用层流计算试试看会收敛么?或者kEpsilon
    kOmega公认的对Omega边界条件比较敏感

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

    1 条回复 最后回复
  • 王 离线
    王 离线
    王慧博
    写于 最后由 编辑
    #4

    谢谢李老师解答疑惑,我换用了层流和kEpsilon模型,但是仍然出现计算发散的问题,使用kEpsilon模型时也出现边界值过大的问题,我怀疑可能是由于设置物性变化过于剧烈的问题。

    E 1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    写于 最后由 编辑
    #5

    请问,你是在做变物性吗?我最近算的层流也遇见发散的问题,希望能多交流

    L 1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 王慧博 最后由 编辑
    #6

    @王慧博 看样子你是在计算超临界水方面的。请问这个问题您是如何解决的?我在计算圆管等热流加热算例,采用kwSST和kEpsilon模型,尝试了buoyantSimpleFoam和rhoSipleFoam都发散,下面是我用rhoSimpleFoam计算kEpsilon的错误信息,不太明白是什么导致的发散或错误。

    #0  Foam::error::printStack(Foam::Ostream&)[40] #0  Foam::error::printStack(Foam::Ostream&)[39] #0  Foam::error::printStack(Foam::Ostream&)[38] #0  Foam:    :error::printStack(Foam::Ostream&)[37] #0  Foam::error::printStack(Foam::Ostream&)[36] #0  Foam::error::printStack(Foam::Ostream&)[35] #0  Foam::error::printS    tack(Foam::Ostream&)[34] #0  Foam::error::printStack(Foam::Ostream&)[33] #0  Foam::error::printStack(Foam::Ostream&)[32] #0  Foam::error::printStack(Foam::Ost    ream&)[31] #0  Foam::error::printStack(Foam::Ostream&)[30] #0  [11] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[12] #0      Foam::error::printStack(Foam::Ostream&)[29] #0  [13] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[14] #0  Foam::error::    printStack(Foam::Ostream&)[28] #0  [15] #Foam::error::printStack(Foam::Ostream&)0  Foam::error::printStack(Foam::Ostream&)[16] #0  Foam::error::printStack(Foa    m::Ostream&)[27] #0  Foam::error::printStack(Foam::Ostream&)[25] #0  [17] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[2    6] #0  Foam::error::printStack(Foam::Ostream&)[18] #0  Foam::error::printStack(Foam::Ostream&)[21] #0  Foam::error::printStack(Foam::Ostream&)[23] #0  Foam::e    rror::printStack(Foam::Ostream&)[24] #0  Foam::error::printStack(Foam::Ostream&)[19] #0  Foam::error::printStack(Foam::Ostream&)[20] #0  Foam::error::printSta    ck(Foam::Ostream&)[22] #0  Foam::error::printStack(Foam::Ostream&) at ??:? [36] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [41] #1  Foam::sigFpe::sigHandler(int) at ??:?
            #2  ? in "/lib64/libpthread.so.0"
    [29] #3  Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/lib64/libpthread.so.0"
    [28] #3  Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
    [37] #4  Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > Foam::operator*<Foam::volMesh>(Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > co    nst&, Foam::DimensionedField<double, Foam::volMesh> const&) at ??:?
    [36] #4  Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > Foam::operator*<Foam::volMesh>(Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > co    nst&, Foam::DimensionedField<double, Foam::volMesh> const&) at ??:?
    [35] #4  Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > Foam::operator*<Foam::volMesh>(Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > co    nst&, Foam::DimensionedField<double, Foam::volMesh> const&) at ??:?
    [36] #5  Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:    ?
    [37] #5  Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:    ?
     5  Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct()Foam::RASMode    ls::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct()[41] #5  Foam::RASModels::kEp    silon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:?
    [30] #5 Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:    ?
    
    

    这里第一个错误应该是除数错误,下面的模型错误是什么导致,如果边界有问题的话也不会影响湍流模型?以及tmp(DimensionedField)是什么错误,也是边界错误吗?求助

    1 条回复 最后回复
  • L 离线
    L 离线
    lrl3512
    在 中回复了 Exthan 最后由 编辑
    #7

    @Exthan 前辈您好,我最近也使用openfoam做超临界二氧化碳流动换热这块,和您出现了类似的问题,计算时连续性那块总是很差也很难收敛。想请教下对于类似的问题您目前有啥好的解决方法嘛

    1 条回复 最后回复
  • ShaneHEEES 离线
    ShaneHEEES 离线
    ShaneHEEE
    写于 最后由 编辑
    #8
    //k
    rho_*epsilon_/k_
    //epsilon
    rho_*Cmu_*sqr(k_)/epsilon_
    
    为k_和epsilon_接近0,导致除法崩溃,所以使用bound()
    
    

    可以试试增大epsilon 减小k;连续性残差也偏大,可以试试fvSchemes散度项二阶换一阶。

    1 条回复 最后回复

  • 登录

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