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. cannot find file /kinematiccloud/collisionrecordspairaccessed

cannot find file /kinematiccloud/collisionrecordspairaccessed

已定时 已固定 已锁定 已移动 OpenFOAM
40 帖子 3 发布者 25.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #15

    @zhe

    LES and RANS calculations of particle dispersion behind a wall-mounted cubic obstacle
    Marco Atzori a,b,∗, Sergio Chibbaro c, Christophe Duwig d, Luca Brandt
    2022

    闲着看一下这篇文章,他的解释是可能是涉及到湍流没有解好啊,Stokes 什么的。
    36721161-a3d6-4422-b691-b27a81658505-image.png

    而且正常情况下 spray中只考虑了drag, lift, 如果固体parcel 可能会有shear lift 什么的,如果bubble 会有什么basset force, historyforce什么的,可能你真是缺了某个模型,找找看
    万一呢, 这不就一片文章出来了
    f8fe5d15-3764-4955-8d54-d37b714dccaf-image.png

    db2e6290-0ddd-4eaa-8310-7bf5221e143a-image.png

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #16

    @星星星星晴 感谢回复啊。说的挺有见解的。因为目前所有的4-way基本上都是考虑弹簧碰撞,最多添加转动消散能量,但其实有些情况是不适合的。比如只有接触,并无overlap,那么一种类似摩擦的效果应该如何表达。这就对于高粒子流很重要,因为高粒子流中不会轻易受到流体影响,况且说的再细一些,流体在高粒子流中本就不该是连续的。而是像渗透在多孔介质。这只是我的想法,跟您交流交流,多听听别人的意见,我觉得会更能填补空缺。真心再次感谢您回复,以后有机会您多指教啊。

    星 2 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #17

    @zhe 客气啥 这玩意现在没一个通用的模型解释嘛,要不咱还咋毕业。。。
    哈哈哈 我这都是吹牛逼可以,实际操作就费了 别客气

    祝收敛~
    祝稳定~

    你是做流化床么?流化床应该和你说的概念差不多吧

    游荡

    zheZ 1 条回复 最后回复
  • 星 离线
    星 离线
    星星星星晴
    在 中回复了 zhe 最后由 编辑
    #18

    @zhe 我们这边考虑碰撞的时候 回头一个impact efficiency 的考量,就是小parcel可能会因为大parcel周围的流场 从而造成绕着大parcel 而不是与大parcel发生碰撞这种情况

    sommerfeld and lain
    influence of droplet collision….
    2020

    游荡

    zheZ 2 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #19

    @星星星星晴 不是流化床,我是做海岸的,哈哈。粒子启动和堆积很重要。所以研究粒子之间的比较多。

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #20

    @星星星星晴 那你们还是比较多的是考虑周围流体对粒子的影响。我已经不能再考虑那些了,否则又能做一个课题啦,哈哈哈

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #21

    @星星星星晴 有个问题请教一下,有时间帮忙看看。在计算粒子drag时,如果是ErgunWenYuDragForce。分了两个公式:
    if (alphac < 0.8)
    {
    return forceSuSp
    (
    Zero,
    (mass/p.rho())
    (150.0(1.0 - alphac)/alphac + 1.75*Re)muc/(alphacsqr(p.d()))

        );
    }
    else
    {
        return forceSuSp
        (
            Zero,
            (mass/p.rho())
           *0.75*CdRe(alphac*Re)*muc*pow(alphac, -2.65)/(alphac*sqr(p.d()))
        );
    }
    

    按道理将,这两个计算的都是beta值,也就是相对速度前面的那一部分。可是在第二个公式里,好像连两次的相对速度都已经包含在内了。还有,在KinematicParcel.C中,计算加速度时:const vector acp = (Fcp.Sp()*td.Uc() + Fcp.Su())/massEff;
    这里乘以td.Uc(),感觉不对啊。应该在这里乘以相对速度才更合理一些阿。麻烦给看看,实在是推导出来跟公式对不上。谢谢。

    zheZ 星 3 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 zhe 最后由 编辑
    #22

    @星星星星晴 理解错了。第二个公式CdRe(Re)本就只有一个CdRe。但是连个公式都在分母处除以的alphac,这造成跟最后的公式不同。还有第二个问题,应该是乘以相对速度(Uf-Up)的,怎么乘以里td.Uc().请解惑。

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

    @zhe
    在这个定义中 OpenFOAM-8/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.H

     Helper container for force Su and Sp terms.
            F = Sp(U - Up) + Su
        Explicit contribution, Su specified as a force
        Implicit coefficient, Sp specified as force/velocity
    
    

    所以 最后在return的时候 Sp和Su是完全不同的俩东西。 U就是td.Uc()

    游荡

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

    @zhe
    我用的of8 是这样的 你用的那个版本啊?

    template<class CloudType>
    Foam::forceSuSp Foam::ErgunWenYuDragForce<CloudType>::calcCoupled
    (
        const typename CloudType::parcelType& p,
        const typename CloudType::parcelType::trackingData& td,
        const scalar dt,
        const scalar mass,
        const scalar Re,
        const scalar muc
    ) const
    {
        const scalar alphac =
            this->alphacInterp().interpolate
            (
                p.coordinates(),
                p.currentTetIndices()
            );
    
        if (alphac < 0.8)
        {
            return forceSuSp
            (
                Zero,
                mass/p.rho()*(150*(1 - alphac)/alphac + 1.75*Re)
               *muc/(alphac*sqr(p.d()))
            );
        }
        else
        {
            return WenYuDragForce<CloudType>::calcCoupled(p, td, dt, mass, Re, muc);
        }
    }
    

    游荡

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

    @zhe 我查了一下of5 好像和你看的wrgunwenyudragforce 这部分相同,我就简单的做了一下量纲分析,最后得到的都是 $\frac{kg}{s}$ 所以得到的是Sp,Sp乘以速度 就是Su 就是力了$\frac{kgm}{s^2}$.

    因为我也不做这种考虑$\alpha$的drag,仅仅是根据自己之前的理解和你强行解释了一波,这玩意属于of的基础定义了~

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #26

    @星星星星晴 是的,它算出来就是Sp(),需要乘以(Uf -Up),得出力来。我推导了一下,就是最后那个分母部分除以alphac有点儿对不上。但是粒子运动倒是对的。也没问题了。就是想看看有没有谁也因为这个纳闷过。谢谢啦,之后有问题咱们再讨论!

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 zhe 最后由 编辑
    #27

    @zhe 还是得细细来分解,最后发现,在计算相互作用力时,openfoam不是按着公式来的,而是分开算的相对速度。

    // Calculate the integration coefficients
    const vector acp = (Fcp.Sp()*td.Uc() + Fcp.Su())/massEff;  
    const vector ancp = (Fncp.Su() + Su)/massEff;
    const scalar bcp = Fcp.Sp()/massEff;
    
    // Integrate to find the new parcel velocity
    const vector deltaU = cloud.UIntegrator().delta(U_, dt, acp + ancp, bcp);
    const vector deltaUncp = ancp*dt;
    const vector deltaUcp = deltaU - deltaUncp;
    

    在这里可以看到的是,在计算粒子的速度总变化量时,引用里积分公式,根据自己选择的不同模型,得出不同的delta。大多是选择的Euler哈。将后面的4中参量带进去就可以看出来,这里面分别包含betaUf 和 -betaUp. 希望迷糊的朋友能放宽心用哈。

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

    @zhe 牛皮啊,不懂就问,什么事里积分公式?
    另外论坛支持 $\LaTeX$

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #29

    @星星星星晴 打错字了,哈哈哈。Linux上面下载的中文输入法总出错。就是IntegrationScheme.

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

    @zhe 是 linux上确实输入法什么的比较蛋疼,我都是连单位cluster上算,然后本地处理,win mac都用。

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #31

    @星星星星晴 是的是的。提到cluster,想请问你平时怎么把数据导出来的,有没有什么快的办法?我每次都很多files,光导出来就要很久。

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

    @zhe 没办法,这玩意是小文件导致的,无法解决,freefilesync 慢慢导呗,服务器上parallel reconstruct 然后就这样了

    游荡

    zheZ 1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    在 中回复了 星星星星晴 最后由 编辑
    #33

    @星星星星晴 好的,看来也是这样了。谢谢啊。有问题再请教!

    1 条回复 最后回复
  • zheZ 离线
    zheZ 离线
    zhe
    写于 最后由 编辑
    #34

    @星星星星晴 又要麻烦了。我想不通一个问题。我想要精确一下我的drag的coef在特殊环境下计算结果。我用的case很简单,就是一个粒子从空气自由释放,落到水里,达到它的settling velocity。由于我只添加drag和gravity,在中间想要输出Fcp.Sp(),在KinematicParcel.C 中 加了Info << "Fcp.Sp() = " << Fcp.Sp() << endl;
    也就是drag的coef。但是却不会输出。我是用的collidingCloud,在motion里应该就是这个运动方程了。

    td.part() = parcelType::trackingData::tpLinearTrack;
    CloudType::move(cloud, td, deltaT);
    

    粒子运动的轨迹看起来是没问题的。如果不是在KinematicParcel.C 输出Fcp.Sp(), 那怎么可能会计算力的作用?为什么不输出我想要的那个呢?
    还有一个现象,当我的case包含粒子数目很多时,它却可以输出。希望你有时间了帮忙解惑,谢谢!

    星 2 条回复 最后回复

  • 登录

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