CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    如何修改并编译kOmegaSSTBase?

    OpenFOAM
    湍流模型,编译
    2
    3
    707
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 吴
      吴优 最后由 李东岳 编辑

      大家好,最近的研究中涉及到对kOmegaSST模型的自定义修改,kOmegaSST模型的结构非常特别,它的具体定义并不在kOmegaSST.C,而是在kOmegaSSTBase.C中,我需要修改的部分也在Base中。我希望实现的是从原模型复制一个副本,之后修改副本并编译,这样可以保留原模型。但是我在整个湍流模型的文件夹下的任何一个Make/flies文件中都找不到kOmegaSSTBase的相关信息,因此是不能直接通过在Make/flies中添加一行来编译的。我找到的一个相关的参考资料链接地址也是自定义了一个新的SST模型,但是他并没有修改过kOmegaSSTBase文件,因此我按照他的教程执行后,会遇到:

      fatal error: myKOmegaSSTBase.H: 没有那个文件或目录
      

      这应该还是Base文件没有正常编译引起的,似乎是需要先编译Base,有没有前辈可以赐教,十分感谢!

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

        高版本的openfoam是通过宏来实现的湍流模型丁一。Base文件是直接通过"include"包含在kOmega模型中的,OpenFOAM的思路是做一个Base,然后衍生出不同的kOmega
        如果你要改Base的话,可以做个kOmegaSSTBase2.H等,然后再你的kOmegaSST2中把他们包含进去
        这块不是改一个文件,要改好多
        可以看看turbulentTransportModels.C

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

        CFD高性能服务器 http://dyfluid.com/servers.html

        吴 1 条回复 最后回复 回复 引用
        • 吴
          吴优 @李东岳 最后由 编辑

          @东岳 谢谢老师的回复,我是按照在turbulentTransportModels.C加入了

          #include "kOmegaSST2.H"
          makeRASModel(kOmegaSST2);
          

          然后在kOmegaSST2.H中

          #include "kOmegaSST2Base.H"
          

          实现这一编译过程,但是还是会报错,似乎要增加一个新的Base需要修改的地方非常多。
          我目前暂时采取的解决方案是直接在修改原base,增加了一个Switch,在算例的constant/turbulenceProperties中设置true来启动新功能,这样也算保留了原模型,打算后面如果找到更好的方法我再改过来

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