关于网格内particle的平均速度求解
-
大家好,如题,想要得到网格内的平均速度。我编写的是类似这样的,但是得到的不是网格内的平均速度,麻烦有经验的朋友给更正一下,谢谢。
forAllIter(typename CloudType, this->owner(), iter) { typename CloudType::parcelType& p = iter(); const label cellI = p.cell(); const fvMesh& mesh = this->owner().mesh(); // average velocity of the lagrangian particle [m/s] volVectorField particleAverageVelocity ( IOobject ( "particleAverageVelocity", this->owner().db().time().timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedVector("zero", dimVelocity*dimMass/dimMass, vector::zero) ); forAll(particleAverageVelocity,i) { particleAverageVelocity[i] +=p.nParticle()*p.mass()*p.U(); } massTotal_ += p.nParticle()*p.mass(); p.U() =(particleAverageVelocity[cellI] * (1.0/massTotal_)); } -
这个可以写的地方有很多,比如cloudfunction,或者cloud中,在solver中也能求。
也不知道你这个写在哪了。。
我是在particlecollector这个cloudfunction基础上写的 直接输出file 比较好后处理,你如果想再paraview 中直接看的话,我们同事是在cloud中写这个field,然后在solver中对其进行平均,比如每100 iteration 平均一次。。
2021年2月22日 13:10
1/4
2021年2月23日 08:06