------------------------------------------------------------ revno: 2509 committer: Sergei D. <s...@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",
_______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

