Question #153589 on Yade changed:
https://answers.launchpad.net/yade/+question/153589
Status: Answered => Open
Kneib François is still having a problem:
Ok I checked that and now my new Ig2_Sphere_ChainedCylinder_ScGeom6D is
recognized in Yade.
Now I have a segmentation error when the CohFrictMat sphere touch the
CohFrictMat cylinder.
Here's my Ig2_Sphere_ChainedCylinder_ScGeom6D::go method :
bool Ig2_Sphere_ChainedCylinder_ScGeom6D::go( const shared_ptr<Shape>& cm1,
const shared_ptr<Shape>& cm2, const State& state1, const State& state2, const
Vector3r& shift2, const bool& force, const shared_ptr<Interaction>& c)
{
bool isNew = !c->geom;
if
(Ig2_Sphere_ChainedCylinder_CylScGeom::go(cm1,cm2,state1,state2,shift2,force,c)){//the
3 DOFS from ScGeom are updated here
if (isNew) {//generate a 6DOF interaction from the 3DOF one
generated by Ig2_Sphere_Sphere_ScGeom
shared_ptr<ScGeom6D> sc (new ScGeom6D());
*(YADE_PTR_CAST<ScGeom>(sc)) =
*(YADE_PTR_CAST<ScGeom>(c->geom));
c->geom=sc;}
if (updateRotations)
{YADE_PTR_CAST<ScGeom6D>(c->geom)->precomputeRotations(state1,state2,true,creep);}
return true;
}
else return false;
}
I In fact when the updateRotations method is called, I put "true" instead of
isnew so Yade never have to compute the rotation moments.
Maybe it's not the right way ...
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.
_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help : https://help.launchpad.net/ListHelp