Resetting tangential overlap when slip occurs

This commit is contained in:
graham
2009-09-17 18:20:56 +01:00
parent bc4a71af71
commit 3d2d8f3fd8

View File

@ -211,12 +211,35 @@ void Foam::SpringSliderDashpot<CloudType>::evaluatePair
scalar& etaT = etaN;
// // Tangential force
// vector fT_AB =
// -min(kT*mag(tangentialOverlap_AB), mu_*mag(fN_AB))
// *tangentialOverlap_AB/mag(tangentialOverlap_AB)
// - etaT*USlip_AB;
// Tangential force
vector fT_AB =
-min(kT*mag(tangentialOverlap_AB), mu_*mag(fN_AB))
vector fT_AB;
if (kT*mag(tangentialOverlap_AB) > mu_*mag(fN_AB))
{
// Tangential force greater than sliding friction, particle slips
fT_AB =
-mu_*mag(fN_AB)
*tangentialOverlap_AB/mag(tangentialOverlap_AB)
- etaT*USlip_AB;
tangentialOverlap_AB = vector::zero;
tangentialOverlap_BA = vector::zero;
}
else
{
fT_AB =
-kT*mag(tangentialOverlap_AB)
*tangentialOverlap_AB/mag(tangentialOverlap_AB)
- etaT*USlip_AB;
}
pA.f() += fT_AB;
pB.f() += -fT_AB;