diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C index b0c5418b8f..572cd978bb 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C @@ -291,8 +291,8 @@ bool Foam::KinematicParcel::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 { @@ -320,6 +320,11 @@ bool Foam::KinematicParcel::move p.calc(td, dt, celli); } + if (p.onFace() && td.keepParticle) + { + p.hitFace(s, td); + } + if (p.onBoundaryFace() && td.keepParticle) { if (isA(pbMesh[p.patch()]))