yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #00179
"off contact" interaction 2
Hi Janek,
I have try something which is a little different from your suggestion in
order to include my "capillary cohesion". It's in the
"InteractingSphere2InteractingSphere4SphereContactGeometry" file. From
my point of view, the problem was that the ContactGeometry (normal,
Radius) was only define if "penetrationDepth>0" (l. 53 of this file).
So, I have added few lines to define it even if "penetrationDepth!>0":
if (penetrationDepth>0)
{
scm->contactPoint =
se31.position+(s1->radius-0.5*penetrationDepth)*normal;//0.5*(pt1+pt2);
scm->normal = normal;
scm->penetrationDepth = penetrationDepth;
scm->radius1 = s1->radius;
scm->radius2 = s2->radius;
if (!c->interactionGeometry)
c->interactionGeometry = scm;
return true;
}
else // add
scm->normal = normal;
scm->radius1 = s1->radius;
scm->radius2 = s2->radius;
if (!c->interactionGeometry)
c->interactionGeometry = scm;
return true;
//return false; // before add
I don't know if this is the good way, but it seems working, Spheres
interact without contact. *Unfortunately,* *there is still a problem* (...):
The condition for them to interact (in "CapillaryCohesiveLaw" file):
// Intergranular distance :
Real D =
(de2->se3.position-de1->se3.position).length()-(currentContactGeometry->radius1+currentContactGeometry->radius2);
if (D<Dcreation)
{
Vector3r Fcap = 100000*currentContactGeometry->normal;
static_cast<Force*> ( ncb->actionParameters->find( id1 ,
actionForce ->getClassIndex() ).get() )->force += Fcap;
static_cast<Force*> ( ncb->actionParameters->find( id2 ,
actionForce ->getClassIndex() ).get() )->force -= Fcap;
currentContactPhysics->prevNormal = currentContactGeometry->normal;
}
is not active, and the elements always interact when their
boundingvolumes interpenetrate, even if "Dcreation" is smaller than the
"boxSize" ("aabb->halfSize =
Vector3r(2*sphere->radius,2*sphere->radius,2*sphere->radius). I don't
understand the cause of this: "Is there, somewhere, a condition which
cancel mine?", or, "Is my condition wrong?".
I hope I am clear enough (...), thanks in advance.
So long, Luc.
_______________________________________________
Yade-users mailing list
Yade-users@xxxxxxxxxxxxxxxx
http://lists.berlios.de/mailman/listinfo/yade-users