CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

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

    OpenFOAM
    3
    6
    2664
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 王
      王慧博 最后由 编辑

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

      1 条回复 最后回复 回复 引用
      • 王
        王慧博 最后由 编辑

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

        1 条回复 最后回复 回复 引用
        • 李东岳
          李东岳 管理员 最后由 编辑

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

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

          CFD高性能服务器 http://dyfluid.com/servers.html
          2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

          1 条回复 最后回复 回复 引用
          • 王
            王慧博 最后由 编辑

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

            E 1 条回复 最后回复 回复 引用
            • E
              Exthan 最后由 编辑

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

              1 条回复 最后回复 回复 引用
              • E
                Exthan @王慧博 最后由 编辑

                @王慧博 看样子你是在计算超临界水方面的。请问这个问题您是如何解决的?我在计算圆管等热流加热算例,采用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 条回复 最后回复 回复 引用
                • First post
                  Last post