颗粒碰撞中的move-collide subCycles与哪些参数有关?
-
-
在调用颗粒的pairCollision的模型后,每一个时间步都多了一个move-collide subCycles,这个subCycles的值直接影响计算时间,想请问一下这个值是代表什么,和哪些参数有关?
-
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; }
- 还有一个问题也想在这里一起问啦,我读到文献的时候发现有说颗粒碰撞的正向应力和切向应力,它们有不同的restitution coefficient, 请问这个在现有的OpenFOAM版本里有相应的代码嘛?
-
-
请具体说明一下你用的哪个版本的OF
不过多的步骤是计算颗粒碰撞之间的影响,这个很正常,具体查一下code里面的介绍,这个模型是怎么用的,搜一下相关文献
你估计使用的是软球模型
http://www.cfd-china.com/topic/1947/关于kinematiccloudproperties中的几个问题/4Q3
估计没有,需要你自己写了 -
我也遇到了同样的问题,我在pairCollision下面一个计算碰撞力的函数evaluatePair下面添加一个判断语句,如果两个粒子距离相近并且满足一定的条件在一定的概率下尽可以看作两个粒子聚集了,但是仅仅添加了两个if 判断语句move-collide subcycles就变得非常大,计算13个粒子就能达到250000,计算几百个粒子根本动不了,有啥好的解决办法吗?
-
@星星星星晴 谢谢你的回复,我用的是4.1和1712,情况都一样。确实软球模型考虑的内容有点太多啦
还想请问一下DPMFoam可以调用硬球模型嘛?
-
@upc_ngh 我试过把我的算例中,杨氏模量调到非常非常小(1e-4量级),泊松比0.25,这样的话move-collide subcycles就小很多了。结果的话,倒是还没发现有很大问题。。不知道对你的例子适不适用。
-
好的,多谢回答,我这个粒子改了杨氏模量以后变化挺明显的
-
@zhangxc0223 好像没有具体的硬球模型,我们都是自己写的code。
不知道我猜的对不对,如果说你要是将软球的相关参数设置成硬球 是不是就可以了?我们用的stochastic collision model, 所以不需要追踪所有的parcel。相较而言就算的快很多。
-
@星星星星晴 我理解的硬球是球的变形非常小,杨氏模量非常大,但是这种情况下,反而move-collide subcycles的数量变得非常大,计算非常慢。是不是我理解错硬球模型了?
-
不好意思 我没用过软球,你具体查一下文献吧~
-
@zhangxc0223 我最夸张的建议就是,你吧所有计算这些东西的都不需要,你只要保留跟踪的部分,然后自己写一个两者在什么条件下碰撞,碰撞以后速度是怎么变化的,手动计算一下质量动能动量守恒,就是硬求模型
-
@星星星星晴 哈哈这个不夸张,确实就是这个理,谢谢你的建议。
-
@星星星星晴 在 颗粒碰撞中的move-collide subCycles与哪些参数有关? 中说:
stochastic collision model
您好,想请问一下,constant/kinematicCloudProperties下面设置stochasticCollisionModel的参数有没有可以参考的网址或者资料呢?我看网上的资料颗粒间碰撞设置的基本上是
collisionModel pairCollision; pairCollisionCoeffs { } stochasticCollisionModel none;
那是否可以理解为stochasticCollisionModel是关于碰撞后颗粒自身反弹和溅起颗粒的角度和速度的概率分布的设置呢?
-
@星星星星晴 谢谢您的回复~那我看看这两个方向的文章。
我找了一些修改 collisionModel pairCollision的设置(下面的代码),虽然体现出了颗粒间碰撞的结果,但是不符合想实现的效果,因为我想实现颗粒与床面上颗粒碰撞的概率模型,所以觉得还是用stochastic collision model根据碰撞概率设置颗粒碰撞好一些~
我现在困惑的除了deterministic collision model 和stochastic collision model的理论区别, 还有,如果不用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; }
-
@古奇古奇啦啦 stochastic collision model 是根据cell中的颗粒浓度和相对速度计算每两个parcel的碰撞概率,这部分你最好查一下openfoam的原始code看一下,如何判断碰撞,碰撞后的结果,速度,组分,温度等变化,直接查一下code就好, OF中原生的kinematicParcel是没有stochastic collision 模型的,你要在sprayParcel中查。
-
7/16