diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C index 037ada186c673cad39c379cca3d01d35785730fc..74d077f74686b458f9061da0e03b5c4fe0ed44a4 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C @@ -292,8 +292,8 @@ bool Foam::KinematicParcel<ParcelType>::move f = min(f, maxCo*l/max(SMALL*l, mag(s))); if (p.active()) { - // Track to and hit the next face - p.trackToAndHitFace(f*s, f, td); + // Track to the next face + p.trackToFace(f*s, f); } else { @@ -321,6 +321,11 @@ bool Foam::KinematicParcel<ParcelType>::move p.calc(td, dt, celli); } + if (p.onFace() && td.keepParticle) + { + p.hitFace(s, td); + } + if (p.onBoundaryFace() && td.keepParticle) { if (isA<processorPolyPatch>(pbMesh[p.patch()]))