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. DPMFoam injectionModels 中初始速度 U0

DPMFoam injectionModels 中初始速度 U0

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

    U0的作用应该是微乎其微。因为这个U0的速度进来之后,直接就被drag force改变了。另外云图其实看的不准确。你可以对比一下线图。

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

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

    @李东岳 谢谢李老师的回复,我做了速度矢量图,能看出来有微小的差异。但我想知道颗粒从入口进来的速度不是应该通过 parcelsPerSecond颗粒体积/入口面积 得来的吗?如果按U0进来的话,那进来的颗粒数是不是变成parcelsPerSecond=U0入口面积/颗粒体积 了?但通过对比U0=1 和100 我发现,入口的速度主要跟设置的parcelsPerSecond有关,就是不知道U0起了个什么作用。。。
    1.png
    100.png

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 Jasper 0 最后由 编辑
    #4

    @jasper-0 在 DPMFoam injectionModels 中初始速度 U0 中说:

    parcelsPerSecond颗粒体积/入口面积 得来的吗?

    这是计算的粒子数量。U0是粒子进来的初始速度。这种流动主要是drag决定的速度。你给U0=0也可以。

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

    J 2 条回复 最后回复
  • J 离线
    J 离线
    Jasper 0
    在 中回复了 李东岳 最后由 编辑
    #5

    @李东岳 感谢李老师的解答,我发现模拟气泡的话确实主要跟曳力有关。U0 主要取决于颗粒的性质,刚改了颗粒密度为2500模拟固体injection,发现U0 的改变对结果影响很大,现在有了基本了解了:146:

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

    U0 就是parcel的初始速度。
    因为你现在用的是气泡,parcel的密度远远小于周围流体的密度,如东岳大佬所说,在计算drag的时候就直接给处理掉了。所以你才能发现改变颗粒密度为2500以后就影响很大。

    而且你也要看你是2-way 还是1-way。
    如果你只是1-way倒还好,影响不大,因为只有fluid to parcel,
    如果你要考虑2-way的话,parcel to fluid 就是个问题了。

    @jasper-0 在 DPMFoam injectionModels 中初始速度 U0 中说:

    颗粒入口的速度理论上来说应该等于parcelsPerSecond*颗粒体积/入口面积

    parcel的入口速度就是U0只是在你射入以后,就被couple了

    injection model

    1. 选择喷射模型
    2. 初始化: 什么时候开始喷射,喷射的总数量,总体积(flowrate 时间积分),根据parcelbasisbasistype计算nParticle,这些影响到你的总flow rate
    3. 设置 injection position and cell
    4. 设置parcel properties: 速度和parcel直径

    游荡

    J 1 条回复 最后回复
  • J 离线
    J 离线
    Jasper 0
    在 中回复了 星星星星晴 最后由 李东岳 编辑
    #7

    @星星星星晴
    感谢大佬的悉心解答!我现在改用patchFlowRateInjection,但是对于parcelConcentration的定义不是很明确,以下是我的代码。我看了下PatchFlowRateInjection.H,发现定义为 Parcels to introduce per unit volume flow rate m3 [n/m3],这意思是不是说每进来1立方米水携带多少个粒子?比如我的流量为0.001 m3/s,每秒携带10个粒子,那parcelConcentration是不是应该是10000?

    injectionModels
        {
            model1
            {
               type             patchFlowRateInjection;
                phi alphaPhi.water;
                patch            inlet;
                duration         10;
                SOI              0;
            parcelBasisType  fixed;
                massTotal        5.257e-3;
                nParticle        1;
                concentration 1;
                parcelConcentration 21220659079;
    
                sizeDistribution
                {
                    type        fixedValue;
                    fixedValueDistribution
                    {
                        value   3e-4;
                    }
                }
    
            }
    
    星 S 2 条回复 最后回复
  • J 离线
    J 离线
    Jasper 0
    在 中回复了 李东岳 最后由 李东岳 编辑
    #8

    @李东岳
    李老师好,我发现一个问题,还是对于Diaz bubble column这个算例,压力p的边界条件设为如下:

    internalField   uniform 1e5;
    
    boundaryField
    {
        ".*"
        {
            type            fixedFluxPressure;
            phi             phi.water;
            value           $internalField;
        }
    }
    

    然而在计算结果中并没有得到静水压力,上下面的水压差只有5.2,感觉是用空气密度算出来的压力差,这应该对计算结果会造成影响吧? 是不是DPMFoam只能应用于空气为连续项的情况啊?
    34c00cd8-ad69-4204-a987-a1756837850d-image.png

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

    @jasper-0 不好意思,我没用过这个injection model,我建议你要是有功夫就研读一下injection model 的具体喷射方式和计算过程,这个东西完全能用手算的。这样你才能知道到底哪一项对你喷射的颗粒有什么变化。
    大致看的样子这个parcelconcentration 影响到的是你喷射parcel 数量。

    template<class CloudType>
    Foam::label Foam::PatchFlowRateInjection<CloudType>::parcelsToInject
    (
        const scalar time0,
        const scalar time1
    )
    {
        if ((time0 >= 0.0) && (time0 < duration_))
        {
            scalar dt = time1 - time0;
    
            scalar c = concentration_.value(0.5*(time0 + time1));
    
            scalar nParcels = parcelConcentration_*c*flowRate()*dt;
    
            Random& rnd = this->owner().rndGen();
    
            label nParcelsToInject = floor(nParcels);
    
            // Inject an additional parcel with a probability based on the
            // remainder after the floor function
            if
            (
                nParcelsToInject > 0
             && nParcels - scalar(nParcelsToInject) > rnd.globalScalar01()
            )
            {
                ++nParcelsToInject;
            }
    
            return nParcelsToInject;
        }
        else
        {
            return 0;
        }
    }
    

    游荡

    J 1 条回复 最后回复
  • J 离线
    J 离线
    Jasper 0
    在 中回复了 星星星星晴 最后由 编辑
    #10

    @星星星星晴 多谢大佬,不好意思刚看到,通过代码看确实是喷射parcel数量

    1 条回复 最后回复
  • S 离线
    S 离线
    sxz0823
    在 中回复了 Jasper 0 最后由 编辑
    #11

    @Jasper-0 你好,请问一下这个patchFlowrateinjection中concentration 与 parcelconcentration具体是什么意思呢,查看代码后我发现前者是颗粒体积与连续相体积浓度分布,后者为粒子进入连续相的体积流量,单位是n/m3,我能理解后者含义,可以通过计算得出,但前者怎么实现呢?如果我要设置质量流率为8g/(m2s-1)的粒子怎么实现呢

    T 1 条回复 最后回复
  • T 离线
    T 离线
    TM
    在 中回复了 sxz0823 最后由 编辑
    #12

    @sxz0823 你好,请问有关concentration和parcelconcentration您是怎么计算的,求指导。

    1 条回复 最后回复

  • 登录

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