← Back to team overview

yade-dev team mailing list archive

[Branch ~yade-pkg/yade/git-trunk] Rev 3794: Prevent attraction forces in ViscPM due to viscosity

 

------------------------------------------------------------
revno: 3794
committer: Anton Gladky <gladky.anton@xxxxxxxxx>
timestamp: Tue 2014-01-07 16:37:27 +0100
message:
  Prevent attraction forces in ViscPM due to viscosity
modified:
  doc/references.bib
  pkg/dem/ViscoelasticPM.cpp


--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk

Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'doc/references.bib'
--- doc/references.bib	2013-10-04 12:35:58 +0000
+++ doc/references.bib	2014-01-07 15:37:27 +0000
@@ -630,3 +630,29 @@
 doi = "10.1016/j.ijrmms.2010.11.014",
 author = "Diego Mas Ivars and Matthew E. Pierce and Caroline Darcel and Juan Reyes-Montes and David O. Potyondy and R. Paul Young and Peter A. Cundall"
 }
+
+@book{Radjai2011,
+	title={Discrete-Element Modeling of Granular Materials},
+	author={Radjai, F. and Dubois, F.},
+	isbn={9781848212602},
+	lccn={2010051720},
+	url={http://books.google.com/books?id=w2ijcQAACAAJ},
+	year={2011},
+	publisher={John Wiley \& Sons}
+}
+
+@article{Schwager2007,
+	year={2007},
+	issn={1434-5021},
+	journal={Granular Matter},
+	volume={9},
+	number={6},
+	doi={10.1007/s10035-007-0065-z},
+	title={Coefficient of restitution and linear–dashpot model revisited},
+	url={http://dx.doi.org/10.1007/s10035-007-0065-z},
+	publisher={Springer-Verlag},
+	keywords={Particle collisions; Coefficient of restitution},
+	author={Schwager, Thomas and Pöschel, Thorsten},
+	pages={465-469},
+	language={English}
+}

=== modified file 'pkg/dem/ViscoelasticPM.cpp'
--- pkg/dem/ViscoelasticPM.cpp	2013-12-04 19:25:29 +0000
+++ pkg/dem/ViscoelasticPM.cpp	2014-01-07 15:37:27 +0000
@@ -176,8 +176,16 @@
 	shearForce += phys.ks*dt*shearVelocity; // the elastic shear force have a history, but
 	Vector3r shearForceVisc = Vector3r::Zero(); // the viscous shear damping haven't a history because it is a function of the instant velocity 
 
-	phys.normalForce = ( phys.kn * geom.penetrationDepth + phys.cn * normalVelocity ) * geom.normal;
 
+	// Prevent appearing of attraction forces due to a viscous component
+	// [Radjai2011], page 3, equation [1.7]
+	// [Schwager2007]
+	const Real normForceReal = phys.kn * geom.penetrationDepth + phys.cn * normalVelocity;
+	if (normForceReal < 0) {
+		phys.normalForce = Vector3r::Zero();
+	} else {
+		phys.normalForce = normForceReal * geom.normal;
+	}
 	
 	Vector3r momentResistance = Vector3r::Zero();
 	if (phys.mR>0.0) {