@星星星星晴 谢谢解答,下面是calcVelocity的部分,但是因为在那些acp, ancp, bcp的存在,让我越来越混乱了
想问问这么理解对不对:
(1)这个kinematicParcel中的calcVelocity部分,主要是为了计算颗粒相带给流体相多少动量转移,用于计算流体相的速度?
(2)而如果只计算单个颗粒相本身的速度,其实就是可以通过F = Sp(U - Up) + Su这个合力能计算的,Sp(U - Up)就是单个颗粒所受的曳力,Su就是升力,重力等等的合力?
// 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;
// Calculate the new velocity and the momentum transfer terms
vector Unew = U_ + deltaU;
dUTrans -= massEff*deltaUcp;
Spu = dt*Fcp.Sp();
// Apply correction to velocity and dUTrans for reduced-D cases
const polyMesh& mesh = cloud.pMesh();
meshTools::constrainDirection(mesh, mesh.solutionD(), Unew);
meshTools::constrainDirection(mesh, mesh.solutionD(), dUTrans);
return Unew;