yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #03220
Re: Questions Interaction
1) I see a function defined in ScGeom called updateShear.. Should I include it in my contact law if I use ScGeom? Why is this function defined? If I just need the definition of the shear force (incremental) I suppose I could just use the function updateShear..
Yes, you can use one or the other.
2) I would need the Hertz-Mindlin's formulation for the stiffnesses.. Has this one yet been implemented in Yade somewhere? Just to know so I avoid to do that twice..
Not yet. However, I think it's been planned from the early development
stage to implement non-linear elasticity, it is reflected in the
redundant Kn/initialKn. Currently, they are always the same, but you
could decide to update Kn=HMindlin(initialKn, Un).
The total formulation would be better perhaps : no need to compute local
linearizations of the non-linear HM equation (but also more complex).
3) When we apply the contact forces (normal and shear) between particles, these are always acting as repulsive forces according to the sign convention, right? It is just to know, since I see a difference in terms of sign whether we use ScGeom or DemDofGeom..
Two conventions coexist, be carefull to be consistent in your own code.
4) According to the design of Yade, is it possible to interact between two different materials? I ask this because I am including in my contact law some forces that need to act only between spheres and not in the contact box-sphere for instance. One possible solution I see is to define an additional parameter for the (common) maeterial and set it to zero in the case of boxes. I see the same thing happens when we calculate the friction as min(fa,fb) so if we have a box and a sphere we simply take the minimum so we don't have friction. But perhaps it would be nice to define two different materials instead of a parameter for the same material. Could you tell me how to do that?
It is possible, you need to define a functor like
Ip2_frictMat_newMat_newIntType (or replace newIntType by the good old
frictPhys), which will define contact parameters for those contacts.
5) I want to start having forces (say a constant term) between particles before they get in touch (say at a defined distance). Where should I act in the code to do that? Is there defined like a tollerance for the contact interaction?
This is not exactly straightforward, but it is done already in the
CapillaryLaw code from Luc Scholtès (distant capillary forces between
particles with or without contacts). You need to increase the apparent
size of bodies to create distant interactions :
interactionDetectionFactor>1 for boundingBoxes and for the geometry functor.
In Luc's code, there are actually two contact laws, one applying the
solid elastic force, the other for the capillary force. So, we also need
to turn ElasticContactLaw::neverErase=true, so that the elastic law will
not request deletion of distant interactions. Interactions are only
deleted in the capillary law (when the distance large enough to break
the liquid bridge).
Bruno
Follow ups
References