CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    颗粒碰撞中的move-collide subCycles与哪些参数有关?

    OpenFOAM
    4
    16
    2013
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zhangxc0223 最后由 编辑

      1. 在调用颗粒的pairCollision的模型后,每一个时间步都多了一个move-collide subCycles,这个subCycles的值直接影响计算时间,想请问一下这个值是代表什么,和哪些参数有关?

      2. pairCollisionCoeffs的参数如下图,我试着修改其中一些参数来运算,发现这个subCycles和颗粒密度rho0, 泊松比poissonsRatio都有一点关系,而且和杨氏模量youngsModulus有很大关系,请问为什么颗粒的变形率也要考虑进碰撞的子循环?如果我改的很小的话,会有什么影响吗?

          pairCollisionCoeffs
          {
              maxInteractionDistance  60e-6;
      
              writeReferredParticleCloud no;
      
              pairModel pairSpringSliderDashpot;
      
              pairSpringSliderDashpotCoeffs
              {
                  useEquivalentSize   no;                           
                  alpha               0.01; 
                  b                   1.5; 
                  mu                  0.1;
                  cohesionEnergyDensity 0;
                  collisionResolutionSteps 12;
              };
      
              wallModel wallSpringSliderDashpot;
      
              wallSpringSliderDashpotCoeffs
              {
                  useEquivalentSize no;
                  collisionResolutionSteps 12;
                  youngsModulus   1e8;
                  poissonsRatio   0.25;
                  alpha           0.01;
                  b               1.5;
                  mu              0.3;
                  cohesionEnergyDensity 0;
              };
      
              U     U.air;
          }
      
      1. 还有一个问题也想在这里一起问啦,我读到文献的时候发现有说颗粒碰撞的正向应力和切向应力,它们有不同的restitution coefficient, 请问这个在现有的OpenFOAM版本里有相应的代码嘛?
      1 条回复 最后回复 回复 引用
      • 星
        星星星星晴 最后由 编辑

        请具体说明一下你用的哪个版本的OF

        不过多的步骤是计算颗粒碰撞之间的影响,这个很正常,具体查一下code里面的介绍,这个模型是怎么用的,搜一下相关文献

        你估计使用的是软球模型
        http://www.cfd-china.com/topic/1947/关于kinematiccloudproperties中的几个问题/4

        Q3
        估计没有,需要你自己写了

        m.sui20@foxmail.com

        Z 1 条回复 最后回复 回复 引用
        • U
          upc_ngh 最后由 编辑

          我也遇到了同样的问题,我在pairCollision下面一个计算碰撞力的函数evaluatePair下面添加一个判断语句,如果两个粒子距离相近并且满足一定的条件在一定的概率下尽可以看作两个粒子聚集了,但是仅仅添加了两个if 判断语句move-collide subcycles就变得非常大,计算13个粒子就能达到250000,计算几百个粒子根本动不了,有啥好的解决办法吗?

          Z 1 条回复 最后回复 回复 引用
          • Z
            zhangxc0223 @星星星星晴 最后由 编辑

            @星星星星晴 谢谢你的回复,我用的是4.1和1712,情况都一样。确实软球模型考虑的内容有点太多啦:zoule:

            还想请问一下DPMFoam可以调用硬球模型嘛?

            星 1 条回复 最后回复 回复 引用
            • Z
              zhangxc0223 @upc_ngh 最后由 编辑

              @upc_ngh 我试过把我的算例中,杨氏模量调到非常非常小(1e-4量级),泊松比0.25,这样的话move-collide subcycles就小很多了。结果的话,倒是还没发现有很大问题。。不知道对你的例子适不适用。

              1 条回复 最后回复 回复 引用
              • U
                upc_ngh 最后由 编辑

                好的,多谢回答,我这个粒子改了杨氏模量以后变化挺明显的

                1 条回复 最后回复 回复 引用
                • 星
                  星星星星晴 @zhangxc0223 最后由 编辑

                  @zhangxc0223 好像没有具体的硬球模型,我们都是自己写的code。
                  不知道我猜的对不对,如果说你要是将软球的相关参数设置成硬球 是不是就可以了?

                  我们用的stochastic collision model, 所以不需要追踪所有的parcel。相较而言就算的快很多。

                  m.sui20@foxmail.com

                  Z 古 2 条回复 最后回复 回复 引用
                  • Z
                    zhangxc0223 @星星星星晴 最后由 编辑

                    @星星星星晴 我理解的硬球是球的变形非常小,杨氏模量非常大,但是这种情况下,反而move-collide subcycles的数量变得非常大,计算非常慢。是不是我理解错硬球模型了?

                    星 1 条回复 最后回复 回复 引用
                    • 星
                      星星星星晴 最后由 编辑

                      不好意思 我没用过软球,你具体查一下文献吧~

                      m.sui20@foxmail.com

                      1 条回复 最后回复 回复 引用
                      • 星
                        星星星星晴 @zhangxc0223 最后由 编辑

                        @zhangxc0223 我最夸张的建议就是,你吧所有计算这些东西的都不需要,你只要保留跟踪的部分,然后自己写一个两者在什么条件下碰撞,碰撞以后速度是怎么变化的,手动计算一下质量动能动量守恒,就是硬求模型

                        m.sui20@foxmail.com

                        Z 1 条回复 最后回复 回复 引用
                        • Z
                          zhangxc0223 @星星星星晴 最后由 编辑

                          @星星星星晴 哈哈这个不夸张,确实就是这个理,谢谢你的建议。

                          1 条回复 最后回复 回复 引用
                          • 古
                            古奇古奇啦啦 @星星星星晴 最后由 编辑

                            @星星星星晴 在 颗粒碰撞中的move-collide subCycles与哪些参数有关? 中说:

                            stochastic collision model

                            您好,想请问一下,constant/kinematicCloudProperties下面设置stochasticCollisionModel的参数有没有可以参考的网址或者资料呢?我看网上的资料颗粒间碰撞设置的基本上是

                            collisionModel pairCollision; 
                            pairCollisionCoeffs
                            {
                            }
                            stochasticCollisionModel none;
                            

                            那是否可以理解为stochasticCollisionModel是关于碰撞后颗粒自身反弹和溅起颗粒的角度和速度的概率分布的设置呢?:what:

                            星 1 条回复 最后回复 回复 引用
                            • 星
                              星星星星晴 @古奇古奇啦啦 最后由 编辑

                              @古奇古奇啦啦 碰撞模型分为deterministic collision model 和stochastic collision model 这两个完全是两个不同的方向。
                              建议你找一下论文看看这两者的区别~ 前者是根据trackingdata 后者是根据碰撞概率

                              具体参数设置要看一下code

                              m.sui20@foxmail.com

                              古 1 条回复 最后回复 回复 引用
                              • 古
                                古奇古奇啦啦 @星星星星晴 最后由 编辑

                                @星星星星晴 :ok: 谢谢您的回复~那我看看这两个方向的文章。

                                我找了一些修改 collisionModel pairCollision的设置(下面的代码),虽然体现出了颗粒间碰撞的结果,但是不符合想实现的效果,因为我想实现颗粒与床面上颗粒碰撞的概率模型,所以觉得还是用stochastic collision model根据碰撞概率设置颗粒碰撞好一些~

                                我现在困惑的除了deterministic collision model 和stochastic collision model的理论区别,:chitang: 还有,如果不用deterministic collision model ,那么关于stochastic collision model在OpenFOAM中的实现可以修改的参数都有什么?
                                下面的代码是我参考GOFUN2018关于OPENFOAM颗粒模拟的讲义写的,类似这样的,不知道stochastic collision model有没有相关的tutorial可供学习一下。

                                    collisionModel pairCollision;
                                
                                    pairCollisionCoeffs
                                    {
                                        maxInteractionDistance  320e-6;
                                
                                        writeReferredParticleCloud no;
                                
                                        pairModel pairSpringSliderDashpot;
                                
                                        pairSpringSliderDashpotCoeffs
                                        {
                                            useEquivalentSize   no;
                                            alpha               0.12;
                                            b                   1.5;
                                            mu                  0.52;
                                            cohesionEnergyDensity 0;
                                            collisionResolutionSteps 12;
                                        };
                                        
                                        wallModel wallSpringSliderDashpot;
                                
                                        wallSpringSliderDashpotCoeffs
                                        {
                                            useEquivalentSize no;
                                            collisionResolutionSteps 12;
                                            youngsModulus   1e10;
                                            poissonsRatio   0.23;
                                            alpha           0.12;
                                            b               1.5;
                                            mu              0.43;
                                            cohesionEnergyDensity 0;
                                        };
                                        U U.air;
                                    }
                                    stochasticCollisionModel none;
                                
                                    radiation off;
                                }
                                
                                星 2 条回复 最后回复 回复 引用
                                • 星
                                  星星星星晴 @古奇古奇啦啦 最后由 编辑

                                  @古奇古奇啦啦 stochastic collision model 是根据cell中的颗粒浓度和相对速度计算每两个parcel的碰撞概率,这部分你最好查一下openfoam的原始code看一下,如何判断碰撞,碰撞后的结果,速度,组分,温度等变化,直接查一下code就好, OF中原生的kinematicParcel是没有stochastic collision 模型的,你要在sprayParcel中查。

                                  https://github.com/OpenFOAM/OpenFOAM-8/blob/master/src/lagrangian/spray/submodels/StochasticCollision/ORourkeCollision/ORourkeCollision.C

                                  m.sui20@foxmail.com

                                  1 条回复 最后回复 回复 引用
                                  • 星
                                    星星星星晴 @古奇古奇啦啦 最后由 编辑

                                    @古奇古奇啦啦

                                    至少of8中是没有的,不知道为什么of之前的版本一直都将sprayparcel单独拿出来,很费解为什么不放到一起,好像of9已经改过来了,但是我没用过。。

                                    不符合理想效果可能是你pairspring model的东西设置的不对,杨氏模量什么的,这部分我不是很了解,因为不同的parcel可能有的性质都不一样,GOFUN那个是他们那个case的设置,你具体用什么parcel,parcel的物理性质什么的是怎么设置的,有没有热相关的东西?这些都有可能改变结果,具体问题具体分析吧

                                    m.sui20@foxmail.com

                                    1 条回复 最后回复 回复 引用
                                    • First post
                                      Last post