Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 湍流模型接口

湍流模型接口

已定时 已固定 已锁定 已移动 OpenFOAM
12 帖子 4 发布者 8.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #2

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

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #3

    通过查找调用

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

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 李东岳 最后由 编辑
    #4

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

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 Samuel-Tu 最后由 编辑
    #5

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

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 李东岳 最后由 编辑
    #6

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

    我 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #7

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

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #8

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

    1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    写于 最后由 编辑
    #9

    不过目前还有个不足是,我不知道怎么把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 最后由 编辑
    #10

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

    动边界

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Samuel-Tu
    在 中回复了 我是河滩 最后由 编辑
    #11

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

    1 条回复 最后回复
  • E 离线
    E 离线
    Exthan
    在 中回复了 Samuel-Tu 最后由 编辑
    #12

    @Samuel-Tu Lib那改到Foam_USER_Libbin

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]