Skip to content
Snippets Groups Projects
Commit 9d3f0eae authored by graham's avatar graham
Browse files

Adding constraint of tracking motion in reduced dimension cases.

Saving the full 3D velocity before constraining for tracking, then
restoring afterwards.
parent 65ca8a8b
Branches
Tags
No related merge requests found
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/lagrangian/basic/lnInclude
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
LIB_LIBS = \
-llagrangian \
-lfiniteVolume
-lfiniteVolume \
-lmeshTools
......@@ -25,6 +25,7 @@ License
\*---------------------------------------------------------------------------*/
#include "DsmcParcel.H"
#include "meshTools.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
......@@ -47,8 +48,18 @@ bool Foam::DsmcParcel<ParcelType>::move
scalar tEnd = (1.0 - p.stepFraction())*deltaT;
const scalar dtMax = tEnd;
// Save the velocity to re-apply it after tracking
vector U_save = U_;
// Apply correction to velocity to constrain tracking for
// reduced-D cases
meshTools::constrainDirection(mesh, mesh.solutionD(), U_);
while (td.keepParticle && !td.switchProcessor && tEnd > ROOTVSMALL)
{
// Apply correction to position for reduced-D cases
meshTools::constrainToMeshCentre(mesh, p.position());
// Set the Lagrangian time-step
scalar dt = min(dtMax, tEnd);
......@@ -67,6 +78,9 @@ bool Foam::DsmcParcel<ParcelType>::move
}
}
// Restore the correct value of velocity
U_ = U_save;
return td.keepParticle;
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment