lagrangian: Always set switchProcessor flag

The TrackData::switchProcessor flag was not being set for some of the
tracking steps made by the more complicated parcels. In the case that a
parcel starts the step already on a processor boundary, this sometimes
lead to the particle being transferred back and forth indefinitely. The
flag is now explicitly set in all cases.
This commit is contained in:
Will Bainbridge
2017-08-02 10:13:05 +01:00
parent 89ccd9169c
commit 9d57e8795a
2 changed files with 5 additions and 2 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -81,6 +81,7 @@ bool Foam::CollidingParcel<ParcelType>::move
p.angularMomentum() += 0.5*trackTime*p.torque();
td.keepParticle = true;
td.switchProcessor = false;
break;
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2017 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -77,6 +77,7 @@ bool Foam::MPPICParcel<ParcelType>::move
td.cloud().dampingModel().velocityCorrection(p, trackTime);
td.keepParticle = true;
td.switchProcessor = false;
break;
}
@ -86,6 +87,7 @@ bool Foam::MPPICParcel<ParcelType>::move
td.cloud().packingModel().velocityCorrection(p, trackTime);
td.keepParticle = true;
td.switchProcessor = false;
break;
}