如何修改并编译kOmegaSSTBase?



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

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

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



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



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

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

    然后在kOmegaSST2.H

    #include "kOmegaSST2Base.H"
    

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


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2