← Back to team overview

yade-dev team mailing list archive

Question about parameters in SpheresContactGeometry

 

Hi

I see an inflation in the amount of members in this class.
This class should be very simple, with no excess parameters for all those using the traditional Cundall's contact law. Which means, this class should have only rad1, rad2, penetrationDepth and normal, nothing more (except perhaps ContactPoint). Keep in mind this contact law/parameters is probably the first thing people will look for when seeing Yade for the first time. If they try to read SpheresContactGeometry.hpp now, they will get the impression all this is a lot too complex (and it is!).
Currently, the registered parameters are :


(normal)
           (contactPoint)
           (radius1)
           (radius2)
           (contactPoint) // to allow access from python
           (facetContactFace)
           // hasShear
           (hasShear)
           (pos1)
           (pos2)
           (ori1)
           (ori2)
           (cp1rel)
           (cp2rel)
           (d1)
           (d2)
           (d0)
           (initRelOri12));

And members include functions like unrollSpherePtToPlane, rollPlanePtToSphere, setTgPlanePts, which are also very specific if I understand correctly.
My question is : is this additional code supposed to be removed at one 
point (as suggested in the comment "// begin abusive storage") or not?
When Cosurgi needed this sort of additional parameter for a complex 
contact law (creep behaviour in the CohesiveFrictional class group), he 
added them in cohesive-frictional Contact_Physics_.
It might be the good method to avoid overloading the geometry class with 
data wich is used by only one contact law, as InteractionPhysics tend to 
be a different class for each different contact law. Another way, of 
course, is to create a new geometryClass inheriting from 
SpheresContactGeometry...
Additional note,  in SpheresContactGeometry.hpp, I see :

* TODO: add torsion code, that will (if a flag is on) compute torsion angle on the contact axis.
*
* TODO: add bending code, that will compute bending angle of the contact axis
The code for this is in CohesiveFrictionalContactLaw already, its been 
developped by Cosurgi.
Bruno









--

_______________
Chareyre Bruno
Maitre de conference

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________




Follow ups