Different instances of same interaction (interaction properties)

Asked by behzad

Hi everybody,

I wanted to know how we can control the interaction properties apart from material parameters. I explain the question with the following example.

Let's say we have three materials A,B and C all CohFrictMat.

In A-B interaction we will have a CohFrictPhys. The same for A-C interaction.

But, I want CohFrictPhys of A-B to have the adhesion of 1e3 whereas CohFrictPhys of A-C to have adhesion of 1e4.

How can we do this?

Different examples of this question can be imagined. It's all about have the same interaction physics (it can be FrictPhys, CohFrictPhys and etc) but with customized parameters for each material or shape

Thanks

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
Last query:
Last reply:
Revision history for this message
Jérôme Duriez (jduriez) said :
#1

Hi,

In the current state, interaction properties are generally not directly derived on one unique set of material properties (or even two like in your example). They are derived from the material properties of the two interacting bodies, and of other properties of these two bodies.

E.g. the local stifness depends - in classical contact laws - on "young" material properties (with young for body 1 possibly different that young for body 2) and on bodies radii. So that the local stiffness between spheres 105 and 203 is different than local stiffness between spheres 105 and 369. (and in fact this is done on purpose)

Maybe more related with your example, think also at the local friction angle. For which we have phi(interaction) = minimum( phi(material of body 1) , phi(material of body 2) )
Which allows us to have frictionless contacts between spheres and boundary bodies, whereas sphere-sphere contacts have friction.

So : maybe what you want is already possible, or (more probably ?) it is not.

You will have to state clearly what you want to get a more precise answer. And it will help us (and yourself) a lot if you state as clearly as possible what are the interaction property, and what are the material properties you have in mind. Regarding your question, "shear/normalAdhesion" are interaction properties (in Newton). They do not exist in the material. That's "shear/normalCohesion" (in Pascal) that exist in the material.

Revision history for this message
behzad (behzad-majidi) said :
#2

Hi

To be more clear, let's talk about the normal Adhesion in CohFrictPhys.

As an example I have clumps, spheres and walls in the model. We assign CohFrictMat to all. Thus, we're gonna have CohFrictPhys for all contacts.
However, we want sphere-sphere interaction to have normal adhesion of 1e3
that of clump-sphere interaction to be 1e4 and
that of sphere-wall interaction to be 5e3.

How do we do this?

Revision history for this message
Best Jérôme Duriez (jduriez) said :
#3

Then using the classical Ip functors, it is not possible. Because with normal yade use, what you assign is normalCohesion and not normalAdhesion.

I think the only way would be to use python loops.
for i in O.interactions:
 if isinstance(i.id1.shape,Sphere) and isinstance(i.id2.shape,Sphere)
     i.phys.normalAdhesion = 1e3
  else if
.... (this code will not work as it is, but I hope you get the idea)

So that these python operations override what Ip2 did. The good thing is that Ip2 does its job only once : at interaction creation. You will surely have to think when and how often you have to do these operations.

Revision history for this message
behzad (behzad-majidi) said :
#4

Thanks Jérôme Duriez, that solved my question.