Foam::forceSuSp Foam::LiftForce<CloudType>::calcCoupled ( const typename CloudType::parcelType& p, const scalar dt, const scalar mass, const scalar Re, const scalar muc ) const { forceSuSp value(vector::zero, 0.0); vector curlUc = curlUcInterp().interpolate(p.position(), p.currentTetIndices()); scalar Cl = this->Cl(p, curlUc, Re, muc); value.Su() = mass/p.rho()*p.d()/2.0*p.rhoc()*Cl*((p.Uc() - p.U())^curlUc); return value; }
Foam::forceSuSp Foam::LiftForce<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 { forceSuSp value(Zero, 0.0); vector curlUc = curlUcInterp().interpolate(p.coordinates(), p.currentTetIndices()); scalar Cl = this->Cl(p, td, curlUc, Re, muc); value.Su() = mass/p.rho()*td.rhoc()*Cl*((td.Uc() - p.U())^curlUc); return value; }