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添加湍流入口方法?

openfoam添加湍流入口方法?

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

    请教各位老师,有没有在openfoam中加入湍流入口条件的方法,

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    写于 最后由 李东岳 编辑
    #2

    这个问题挺好,希望我的回答能抛砖引玉。

    openfoam.org版本有turbulentInlet,是白噪声,原则上来讲做出来的湍流不真实,因为没有所谓的相关性;openfoam.com版本的有turbulentDFSEMInlet(https://www.openfoam.com/documentation/guides/latest/doc/guide-bcs-inlet-velocity-dfsem.html ),属于合成类型的湍流入口,应该比较真实。后面这个我个人没用过,不知道好不好用。

    如果需要另外的代码,参照Eugene de Villiers的毕业论文(The Potential of Large Eddy Simulation for the
    Modeling of Wall Bounded Flows),里面有专门讲到处理湍流入口。他是在平均场上添加了人为扰动,这些扰动是经过特殊设计的,经过一小段时间就可以发展成完全发展的湍流。这个人应该是开发OpenFOAM的课题组出来的,所以他提出的方式应该比较靠谱。相关的代码他在cfd-online上公布了,暂时找不到了- -

    还有一个是LEMOS程序包里的inflowGenerator。代码在这里,https://github.com/LEMOS-Rostock/LEMOS-2.4.x/tree/master/libLEMOS-2.4.x/boundaryConditions/inflowGenerator 。这个类似于合成类型,我看了代码,应该就是在入口的平面上一直有大大小小的涡穿过。

    我一直在用inflowGenerator,但是因为我主要做射流,而射流里面湍流的产生、保持和发展主要还是靠速度梯度,所以可能不同的湍流入口条件不会太影响最终结果。我试过turbulentInlet,也确实和inflowGenerator算出来的差别不大,但对你来说可能不是这样。

    I don't want to survive, I want to thrive.

    dybD Z 3 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    写于 最后由 编辑
    #3

    谢谢老师,我先尝试一下

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 cccrrryyy 最后由 编辑
    #4

    @cccrrryyy 老师,您好,这个LEMOS程序包里的inflowGenerator您是安装在那个版本的,我试了好几种办法都没安装成功。第二个问题:这个湍流入口湍流度能不能确定呢?

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    写于 最后由 编辑
    #5

    1、我装在4.x上,它自己写的应该是可以装在2.3.x或者2.4.x上。我只编译了程序包里的这个边界条件,别的都没编译。你是怎么编译的,错误提示是什么呀?

    2、入口湍流没法儿确定,是你自己给的,我给的5%,然后根据这个算出来它需要的那个雷诺应力。

    I don't want to survive, I want to thrive.

    星 dybD S 4 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    写于 最后由 编辑
    #6

    这有一个of所有内置的边界条件的介绍,你看看说不准哪个就满足你的要求,自己拼一个。。
    加油
    :xiezuoye: :xiezuoye:
    http://www.nextfoam.co.kr/lib/download.php?idx=135228&sid=235c1d3fc28364657dbb43ccfe025b25

    游荡

    dybD 2 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 cccrrryyy 最后由 编辑
    #7

    @cccrrryyy 基于of4.1

    游荡

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 cccrrryyy 最后由 编辑
    #8

    @cccrrryyy 谢谢老师,我试试

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 星星星星晴 最后由 编辑
    #9

    @星星星星晴 谢谢老师,我试试

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 cccrrryyy 最后由 李东岳 编辑
    #10

    @cccrrryyy 老师您好,我编译出错是这样的

    boundaryConditions/inflowGenerator/decayingVorton.C: In constructor ‘Foam::decayingVorton::decayingVorton(Foam::scalar, const vector&, const vector&, Foam::scalar)’:
    boundaryConditions/inflowGenerator/decayingVorton.C:63:27: **error**: ‘class Foam::Random’ has no member named ‘vector’
    vector omg = 2*ranGen.vector01() - pTraits<vector>::one;```
    code_text
    
    C 1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 星星星星晴 最后由 编辑
    #11

    @星星星星晴 您好,您这边有没有关于OpenFoam 求解器详细介绍的资料呢?谢谢您

    星 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 dyb 最后由 编辑
    #12

    @dyb 没有,你可以google一下

    游荡

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 dyb 最后由 编辑
    #13

    @dyb 这个提示你的Foam::Random类里面没有叫做vector的函数或者参数,你需要搜一下源代码了。我记得我编译的时候没这个问题,不过我用的是4.x。可能不同版本之间它改了名字,一般这种随机数产生器里面肯定会有叫做什么vector之类的函数给你调用,比如这个出错误提示里面的ranGen.vector01(),我猜大概率是产生一个0到1之间的随机数?

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    写于 最后由 编辑
    #14

    问题找到了,低版本的Random和高版本的有区别,但是,我不知道怎么 改

    1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    写于 最后由 编辑
    #15

    你看看它哪里用到了这个vector函数,搞清楚用这个是想实现什么,然后在你现有OpenFOAM里面的随机数产生器找一下实现同样功能的函数。当然了,前提是你现有的OpenFOAM里面确实包含了他要用到的功能,这个我没法百分百确定,但这种涡方法里面产生随机数大概率就是调用一个函数然后产生一个0到1之间的随机数。

    或者更直接点的,这个湍流入口好像是针对2.3.x(不一定准确)开发的吧,你直接找到2.3.x的源码,看一下这个湍流入口调用的是2.3.x版本里面的哪个函数。这样你就知道在你的版本下应该调用什么函数了。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • S 离线
    S 离线
    sjlouie91
    在 中回复了 cccrrryyy 最后由 编辑
    #16

    @cccrrryyy 请问一下,你在安装到OF4时是直接应用的他们的代码还是修改后才可以在新版本上编译的?

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 sjlouie91 最后由 编辑
    #17

    @sjlouie91 可能改过吧,不记得了。即使是改过应该也就是很小的地方改了一下,按照编译时候出现的错误提示改的,没有额外的东西。

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 cccrrryyy 最后由 编辑
    #18

    @cccrrryyy 老师,您好,您这边有InflowGenerator的算例吗,这个值我不知道怎么设置

    C 1 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 dyb 最后由 编辑
    #19

    @dyb 好久不登录了- -它需要的就是速度、长度尺度和雷诺应力。简单的话速度你给个均一值,长度尺度取水力直径的10%,雷诺应力(RField)我一般都按照 k epsilon 里面 k 的算法(3/2*(refU*turbulentIntensity)^2,turbulentIntensity取个百分之五啥的),RField格式是 uniform (Rxx Rxy Rxz Ryy Ryz Rzz),我一般就把算出来的这个值给Rxx Ryy Rzz。这个雷诺应力的顺序你自己再查一下,应该是这样的。

    边界条件的设定其实没有很重要,大致差不多就行,比如长度尺度我看有人取水力直径的7%的,turbulentIntensity取到百分之二十的。雷诺应力,严格来说其他分量也应该有值,但我一直就给Rxx Ryy Rzz好像也没啥问题。

    这个边界条件只是给一个扰动,真正的湍流应该是靠你场里面的流动产生,所以在边界条件设置上不要过于纠结具体的数值。

    I don't want to survive, I want to thrive.

    dybD 尚 3 条回复 最后回复
  • dybD 离线
    dybD 离线
    dyb
    在 中回复了 cccrrryyy 最后由 编辑
    #20

    @cccrrryyy 谢谢老师

    1 条回复 最后回复

  • 登录

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