CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    tPEF湍流模型

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

      各位Foamer大家好。
      最近我在修改openFoam中twoPhaseEulerFOAM中的湍流模型。主要是因为目前里边的continousGasKEpsilon(CGKE)湍流模型是基于kEpsilon的。而我想创建一个基于RNGkEpsilon的版本,叫做continousGasRNGkEpsilon(CGRNGKE)。在CGKE基础上修改代码后,在phaseCompressible湍流分类中也已经通过编译,形成了新的库文件phaseCompressibleTurbulenceModels.so。以上均没有问题。但是在重新编译twoPhaseEulerFoam求解器的时候,总是得到错误如下:
      undefined reference to `Foam::RASModels::RNGkEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModelFoam::phaseModel > > >::typeName'。
      不知道哪位大神知道原因,敬请指教。谢谢

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

        @dzsmoglai 在 tPEF湍流模型 中说:

        undefined reference

        这个问题太普遍了,不好确定,推荐几个贴:

        http://www.cfd-china.com/topic/926/未定义的引用-undefined-reference

        http://www.cfd-china.com/topic/3191/编译自己的求解器遇到问题-undefined-reference/10

        主要是你的类函数问题

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

        1 条回复 最后回复 回复 引用
        • D
          dzsmoglai 最后由 编辑

          @dzsmoglai 在 tPEF湍流模型 中说:

          oPhaseEulerFoam求解器的时候,总是得

          感谢@东岳 老师的答复。目前此问题已经解决。原因也很简单。因为CGKE是基于kEpsilon的。而在PhaseCompressible湍流模型类中,在编译CGKE之前,事先通过PhaseCompressible这一类中的宏makRASModel(kEpsilon)编译了PhaseCompressible版本的kEpsilon模型。因此CGKE中任何函数在调用kEpsilon时就可以调用的到。本问题的解决办法就是同样的在makePhaseCompressibles.C中make一下RNGkE就行了,即makRASModel(RNGkEpsilon)。
          如果有其它Foamer对上述解释不理解,我就再补充两句。kEpsilon, RNGkEpsilon这类湍流模型实际上是通用的模型,在incompressible,compressible, phaseCompressible等不同类的湍流模型类中有不同的体现。当然,这个涉及到OpenFoam的湍流模型代码结构,集成关系最多有8层左右,尚不了解的童鞋可以去参考此博客https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-1/。链接是第一部分,一共三个部分。

          1 条回复 最后回复 回复 引用
          • First post
            Last post