cannot find file /kinematiccloud/collisionrecordspairaccessed
-
@zhe 那你得看你浓度有多高了,不然怎么会有 1way 2way 4way的区别呢。
不过我还是没有get到什么叫维持parcel由动到静,或者由静到动的过程是什么
parcel受力就会发生速度的变化,速度变化展示了收到了多大的力的作用,然后对流场发生了多大的影响。主要就是计算那个$UTrans$嘛。
有人也有在solver中植入某种力场的教程什么的。
还有人提出过parcel induced turbulence的模型,比如bubble induced turbulence什么的。
你指的是不仅仅只有momentum exchange?比如reaction啊 parcel induced turbulence什么的?我以为你是想做类似圆柱绕流之颗粒绕流~ 不好意思 理解错啦。
-
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 什么的。
而且正常情况下 spray中只考虑了drag, lift, 如果固体parcel 可能会有shear lift 什么的,如果bubble 会有什么basset force, historyforce什么的,可能你真是缺了某个模型,找找看
万一呢, 这不就一片文章出来了
-
@星星星星晴 有个问题请教一下,有时间帮忙看看。在计算粒子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(),感觉不对啊。应该在这里乘以相对速度才更合理一些阿。麻烦给看看,实在是推导出来跟公式对不上。谢谢。 -
@zhe
在这个定义中 OpenFOAM-8/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.HHelper 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()
-
@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); } }
-
@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. 希望迷糊的朋友能放宽心用哈。