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. 想实现在模型内部添加连续随机颗粒,想问问关于patchInjection和coneNozzleInjection的入射函数

想实现在模型内部添加连续随机颗粒,想问问关于patchInjection和coneNozzleInjection的入射函数

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

    大家好,关于两相流,我想在openfoam中实现一个功能。如图1,流体相从入口截面A进入圆管,然后在圆管中间某一个位置有截面B,将这个面作为一个虚拟入口面,添加随机分布的离散的颗粒(这个面只是用于添加颗粒,而不影响流场)。相当于流体在经过截面B的时候,遇到了这些凭空出现的颗粒并一起流入区域D。并且颗粒的添加需要是连续的和随机分布的。

    0_1543993193059_图片1.jpg 图1.

    我有试过将截面B创建为一个Patch,然后选用patchInjection添加颗粒,但是试过边界条件为zeroGradient, inletOutlet等,计算都无法收敛。

    现在选用的方法是使用coneNozzleInjection,将其outerDiameter设置为直径大小,innerDiameter设置为0,目前可以实现连续的颗粒入射,但是有一个问题是颗粒都集中在中央,如图2所示的白色颗粒,并不是像patchInjection一样的随机分布。

    0_1543993362150_未命名图片.png 图2.

    所以现在想问问:
    1.怎样将patchInjection里关于颗粒入射的函数加入到coneNozzleInjection里,从而在后者里实现随机分布地连续入射?
    2.有没有其他的思路可以实现这一功能?
    在此先谢谢各位了。

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

    你可以试试ManualInjection手动注入这种方式:

    User specifies:
          - Total mass to inject
          - Parcel positions
          - Initial parcel velocity
    

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

    Z 1 条回复 最后回复
  • Z 离线
    Z 离线
    zhangxc0223
    在 中回复了 李东岳 最后由 编辑
    #3

    @东岳 谢谢东岳老师回复。我只知道ManualInjection需要一个position file来定义颗粒的初始位置,虽然这个初始位置可以定义一批随机的值,但是并不是连续的吧。请问连续注入不同位置的随机分布的颗粒,可以通过这个实现吗?

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

    我看了下,确实不是连续的。在ManualInjection.C文件中:

    template<class CloudType>
    Foam::scalar Foam::ManualInjection<CloudType>::timeEnd() const
    {
        // Injection is instantaneous - but allow for a finite interval to
        // avoid numerical issues when interval is zero
        return ROOTVSMALL;
    }
    

    我看了一下,可以用cellZoneInject:

    Description
        Injection positions specified by a particle number density within a cell
        set.
    
        User specifies:
          - Number density of particles in cell set (effective)
          - Total mass to inject
          - Initial parcel velocity
    
        Properties:
          - Parcel diameters obtained by PDF model
          - All parcels introduced at SOI
    

    你试试这个?

    PS. 你需要用topoSet做一个cellSet出来toturial里面有

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

    1 条回复 最后回复

  • 登录

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