yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #10361
[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) {