如何将一些固体particles的体积整合成一个球形的有效parcel
-
@星星星星晴 您好,我这两天都在研究您提到的stochastic collision model, 帮助很大,首先谢谢您.我有一个小问题,如果在MPPIC的方法中,既然应用了inter-particle stress (packing model)再加上damping model, 那么是不是stochastic collision model就不应该并存了?或者说是不是二选一比较妥当.虽然在现在OpenFOAM自带的MPPIC的tutorials,在kinematicCloudProperties文件里,两个都显示了,但是stochastic collision model都是默认了none. 那么如果我想要在MPPIC中加入另外的碰撞的模型,还是需要关掉packing,damping,isotropic这3种 stresses? 希望您有时间了可以回复.
-
@星星星星晴 这里面是两个环节的.一开始是粒子的注入.需要在注入后计算出它在cell里的state.这个state会store下来以计算后的形式,我认为这里是parcel了.
// Define local properties at beginning of time step // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ const scalar np0 = nParticle_; const scalar mass0 = mass();
接着是追踪parcel运动过程,在这里就只是调用之前calc出来的parcels的质量了.不同zise的parcel是一直被延续的,中间是以整体形式在计算域里被计算和追踪的.
// averaging sums forAllConstIter(typename TrackCloudType, cloud, iter) { const typename TrackCloudType::parcelType& p = iter(); const tetIndices tetIs = p.currentTetIndices(); const scalar m = p.nParticle()*p.mass();
这是我的理解,不知道是不是都对,你先看看,是不是符合你的情况.
-
@zhe
这就存在问题了啊,在开始的时候 parcel的mass 就是 他的size *volume 不考虑particle.
但是比如计算这个parcel受力的时候也用的是parcel的massOpenFOAM-8/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H inline Foam::scalar Foam::KinematicParcel<ParcelType>::mass() const { return rho_*volume(); }
但是你后半部分的mass是在cloud中
OpenFOAM-8/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H
就是代表着,在cloud中,追踪的mass是parcel这个合集的mass,真的很头大