Adding constraint of tracking motion in reduced dimension cases.
Saving the full 3D velocity before constraining for tracking, then restoring afterwards.
This commit is contained in:
parent
65ca8a8b99
commit
9d3f0eaefb
@ -1,7 +1,9 @@
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user