CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    湍流模型接口

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

      我在OF的不可压缩湍流框架内,根据kEpsilon.C和kEpsilon.H编译了一个湍流模型mykEpsilon。然后在求解器pisoFoam.C中计算了一个壁面距离myY,根据这个myY来修改mykEpsilon中epsilon的方程。
      如果直接在mykEpsilon.C中直接加myY,这个湍流模型肯定不能编译通过,因为单独编译mykEpsilon的时候,程序是不知道myY是什么的。而在pisoFoam.C中,又仅靠一个指针turbulence联系湍流模型,仅有U和phi能进入湍流模型中计算。如何让求解过程中的myY信息能够实时地进入湍流模型呢?

      1 条回复 最后回复 回复 引用
      • S
        Samuel-Tu 最后由 编辑

        想到一个办法是把myY输出成文件字典,然后在mykEpsilon.C里面加一个IOdictionary来读取。但是不知道有没有什么更简便的方法吗。因为我需要进入湍流模型里的信息挺多的。

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

          通过查找调用

          const volScalarField& test = mesh_.lookupObject<volScalarField>("test");
          

          2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
          CFD高性能服务器 http://dyfluid.com/servers.html

          S 1 条回复 最后回复 回复 引用
          • S
            Samuel-Tu @李东岳 最后由 编辑

            @东岳 感谢。由于我不是每个网格都需要这些计算数据,所以我用的是scalarField,还有new开辟的数组。这样也可以用lookupObject么?

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

              @Samuel-Tu 那就在湍流模型里面去调用壁面距离,一些湍流模型确实要调用,比如LES那面的vanDriest

              2023年线下CFD课 报名正式启动 http://dyfluid.com/class.html
              CFD高性能服务器 http://dyfluid.com/servers.html

              S 1 条回复 最后回复 回复 引用
              • S
                Samuel-Tu @李东岳 最后由 编辑

                @东岳 我不是使用的程序内置的计算壁面距离的方法,而是用的自己的方法,是在求解器pisoFoam里面写的求解壁面距离的代码,而且我是算的计算域内部的一个假想的虚拟面上的壁面距离,而不是边界面上wall的壁面距离,所以没法直接调用程序内置的计算方法,只能从我自己改写的pisoFoam读取。另外就是我在pisoFoam还new 了动态数组,用以储存需要用到的网格编号。这些动态数组也需要传递到kEpsilon湍流模型里。现在很苦恼怎么实现。

                我 1 条回复 最后回复 回复 引用
                • S
                  Samuel-Tu 最后由 编辑

                  灵光一闪想到办法了。直接在kEpsilon类里面加数据成员和成员函数,用成员函数来初始化数据成员。然后在pisoFoam里面调用这个成员函数,读取pisoFoam算出来的数组。。。。。这么一想这个问题其实很简单。

                  1 条回复 最后回复 回复 引用
                  • S
                    Samuel-Tu 最后由 编辑

                    发现在kEpsilon里面加成员函数和数据成员,编译kEpsilon成功。但是在pisoFoam.C里面使用这个湍流的成员函数,编译无法通过。原因是pisoFoam编译时的turbulence指针指向的是ImcompressibleTurbulenceModel。这个ImcompressibleTurbulenceModel类是没有上述成员函数和数据成员的。于是在ImcompressibleTurbulenceModel类中加了成员函数和数据成员。考虑到kEpsilon可以继承ImcompressibleTurbulenceModel,所以kEpsilon可以直接用那些数据成员了,就不必再定义。重新编译后,成功了。哈哈哈哈哈哈哈哈哈哈哈哈~~~
                    :high:

                    1 条回复 最后回复 回复 引用
                    • S
                      Samuel-Tu 最后由 编辑

                      不过目前还有个不足是,我不知道怎么把ImcompressibleTurbulenceModel编译到USER_LIBBIN里面去。。因为这个编译很复杂,Make/files:

                      incompressibleTurbulenceModel.C
                      
                      turbulentTransportModels/turbulentTransportModels.C
                      turbulentTransportModels/RAS/qZeta/qZeta.C
                      turbulentTransportModels/RAS/kkLOmega/kkLOmega.C
                      turbulentTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C
                      turbulentTransportModels/RAS/LienLeschziner/LienLeschziner.C
                      turbulentTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C
                      turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C
                      
                      BCs = turbulentTransportModels/RAS/derivedFvPatchFields
                      turbulentTransportModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
                      
                      LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModels
                      

                      我不敢乱动,所以在原文件里改的。这样可能会污染源代码。。

                      E 1 条回复 最后回复 回复 引用
                      • 我
                        我是河滩 @Samuel-Tu 最后由 编辑

                        @Samuel-Tu 请问你是用什么方法算壁面距离的?我也需要给虚拟的面算壁面距离。

                        动边界

                        S 1 条回复 最后回复 回复 引用
                        • S
                          Samuel-Tu @我是河滩 最后由 编辑

                          @我是河滩 就是最短的几何距离啊

                          1 条回复 最后回复 回复 引用
                          • E
                            Exthan @Samuel-Tu 最后由 编辑

                            @Samuel-Tu Lib那改到Foam_USER_Libbin

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