32 template<
class ParcelType>
35 const MPPICParcel<ParcelType>&
p
39 UCorrect_(
p.UCorrect_)
43 template<
class ParcelType>
46 const MPPICParcel<ParcelType>&
p,
51 UCorrect_(
p.UCorrect_)
57 template<
class ParcelType>
58 template<
class TrackCloudType>
61 TrackCloudType&
cloud,
63 const scalar trackTime
66 typename TrackCloudType::parcelType&
p =
67 static_cast<typename TrackCloudType::parcelType&
>(*this);
69 td.switchProcessor =
false;
73 case trackingData::tpLinearTrack:
75 ParcelType::move(
cloud, td, trackTime);
79 case trackingData::tpDampingNoTrack:
82 cloud.dampingModel().velocityCorrection(
p, trackTime);
84 td.keepParticle =
true;
85 td.switchProcessor =
false;
89 case trackingData::tpPackingNoTrack:
92 cloud.packingModel().velocityCorrection(
p, trackTime);
94 td.keepParticle =
true;
95 td.switchProcessor =
false;
99 case trackingData::tpCorrectTrack:
103 scalar
f =
p.stepFraction();
107 p.U() = (1.0 -
f)*
p.UCorrect();
109 ParcelType::move(
cloud, td, trackTime);
111 p.U() =
U + (
p.stepFraction() -
f)*
p.UCorrect();
119 return td.keepParticle;