yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05964
[Branch ~yade-dev/yade/trunk] Rev 2509: Fix bug666246. See https://bugs.launchpad.net/yade/+bug/666246
------------------------------------------------------------
revno: 2509
committer: Sergei D. <sega@think>
branch nick: trunk
timestamp: Tue 2010-10-26 00:31:09 +0400
message:
Fix bug666246. See https://bugs.launchpad.net/yade/+bug/666246
modified:
pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp
pkg/dem/ViscoelasticPM.cpp
--
lp:yade
https://code.launchpad.net/~yade-dev/yade/trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription
=== modified file 'pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp'
--- pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp 2010-10-16 18:31:17 +0000
+++ pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp 2010-10-25 20:31:09 +0000
@@ -31,7 +31,7 @@
Matrix3r facetAxisT=se31.orientation.toRotationMatrix();
Matrix3r facetAxis = facetAxisT.transpose();
// local orientation
- Vector3r cl = facetAxis*(se32.position - se31.position); // "contact line" in facet-local coords
+ Vector3r cl = facetAxis*(se32.position + shift2 - se31.position); // "contact line" in facet-local coords
//
// BEGIN everything in facet-local coordinates
@@ -102,7 +102,7 @@
scm = shared_ptr<ScGeom>(new ScGeom());
normal = facetAxisT*normal; // in global orientation
- scm->contactPoint = se32.position - (sphereRadius-0.5*penetrationDepth)*normal;
+ scm->contactPoint = se32.position + shift2 - (sphereRadius-0.5*penetrationDepth)*normal;
scm->penetrationDepth = penetrationDepth;
scm->radius1 = 2*sphereRadius;
scm->radius2 = sphereRadius;
=== modified file 'pkg/dem/ViscoelasticPM.cpp'
--- pkg/dem/ViscoelasticPM.cpp 2010-10-22 14:30:53 +0000
+++ pkg/dem/ViscoelasticPM.cpp 2010-10-25 20:31:09 +0000
@@ -67,8 +67,10 @@
axis = angle*geom.normal;
shearForce -= shearForce.cross(axis);
- const Vector3r c1x = (geom.contactPoint - de1.pos);
- const Vector3r c2x = (geom.contactPoint - de2.pos);
+ //const Vector3r c1x = (geom.contactPoint - de1.pos);
+ //const Vector3r c2x = (geom.contactPoint - de2.pos);
+ const Vector3r c1x = geom.radius1*geom.normal;
+ const Vector3r c2x = -geom.radius2*geom.normal;
/// The following definition of c1x and c2x is to avoid "granular ratcheting"
/// (see F. ALONSO-MARROQUIN, R. GARCIA-ROJO, H.J. HERRMANN,
/// "Micro-mechanical investigation of granular ratcheting, in Cyclic Behaviour of Soils and Liquefaction Phenomena",
Follow ups