Relationship between JCF contact law parametres and particle size

Asked by Ali Rafiee

Hi everybody,

I have a question about parameter calibration, indeed I have a model in rock mass media generated by random size spheres.
just in the first step, in which I try to have a stable assembly of spheres, I put the values for tensile strength and cohesion of materials in the way that sphere particles remain just without movement under imposed cohesion between particles.

but I see when the particle size changes (new range of sphere sizes), I lose this preliminary stable condition and for each particle size range I should find new values for the parameters.

I would like to know how one can find the approximate values for these parameters to have just a stable condition in the model (not with very high magnitude), or how these values can be related to the size of particles?

Thanks a lot
Take care of yourself
Ali

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Luc Scholtès
Solved:
Last query:
Last reply:
Revision history for this message
Luc Scholtès (luc) said :
#1

Hi Ali,

I am not sure to understand your problem here.

JCFPM works so that the samples are stress-free at the first iteration (the interparticle equilibrium distances are computed at the first iteration of the simulation). It means that, if you import a sample/packing in a simulation and that you do not apply any loading to it, it will be in a stable state (no forces between particles because the equilibrium distance is zero).

I do not understand what this has to do with the mechanical parameters...

Would you mind giving a Minimal Working Example to illustrate your problem so that we can help you?

Luc

Revision history for this message
Ali Rafiee (ali-rafiee) said :
#2

Hi Luc,

The sample is under gravity force and this happens after first iteration.

Under gravity force, the force applied on each particle is proportional to its size, so if the particle is bigger to make remain in place on stable condition (without movement) it needs more cohesion force, I think.

This example can be a simple rock slope with different particle size.

Thanks
Ali

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

Maybe it would help the discussion and yourself if you do not think in terms of "cohesion force". In JCFpm (usual case in YADE), there is only one interaction force, which depends on relative displacements (you can say "position" for the normal part) between particles. Cohesion just corresponds to the possibility for e.g. tensile = attractive normal forces, up to some breakable threshold.

If your question is about the exact expression for these force thresholds (they do depend on particle size), doc [*] and links therein should help

[*] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_JCFpmMat_JCFpmMat_JCFpmPhys

Revision history for this message
Luc Scholtès (luc) said :
#4

The forces applied on the particles are proportional to their size but the interparticle stength is also proportional to their size.

For instance, the maximum admissible force in the tangential direction is equal to FsMax = cohesion * crossSection, with crossSection=pi*min(R1,R2)^2

If the slope you are simulating always has the same overall volume, the stresses induced by gravitational loading are always the same, whatever the size of the particles making up the assemblies you are using (under the condition that all these assemblies have similar porosities and particles interconnectivity).

If you always use the same interparticle properties, the overall strength of the material will always be the same, whatever the size of the particles making up the assemblies you are using (under the condition that all these assemblies have similar porosities and particles interconnectivity).

The result of that is (under the condition that all assemblies have similar porosities and particles interconnectivity): if your slope bounces elastically under gravitational loading for a given discretization (e.g. 10000 particles), it should bounce elastically for every discretizations (20000, 50000, 100000).

If not, there is something wrong somewhere in your simulation and only a MWE will help us find out what it is.

Luc

Revision history for this message
Ali Rafiee (ali-rafiee) said :
#5

Thanks Luc,

You are right, but as you said, if the particle sizes in a sample change, consequently the porosity and also interconnectivity between particles will be changed, what will change this balanced state in the sample.

how we can find limit values for cohesion and tensile strength in an independent way from particle sizes in the model? For example by adding a phase inside the code, to check this condition and adjust the parameters regarding the particle sizes in the model.

Is it possible to do in interaction level for each particle to adjust these parameters just in order to have a stable condition?

Thanks again
Ali

Revision history for this message
Best Luc Scholtès (luc) said :
#6

A good and pretty easy way: make sure that the average number of bonds per particle (coordination number) is the same for all samples.

For that, you can adjust the interaction range:

intR=X # (value to define, >=1)
InsertionSortCollider(Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')
Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')

You can then compute the coordination number with something like:

nbCohIntrs=0
for i in O.interactions:
  if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere):
      if i.phys.isCohesive:
          nbCohIntrs+=1
print "nbCohIntrs=",nbCohIntrs

then, at the first iteration, you can reset it (if you want):

O.step();
SSgeom.interactionDetectionFactor=-1.
Saabb.aabbEnlargeFactor=-1.

This will ensure that all samples have similar mechanical properties (if the samples are all constructed using the same procedure).

Revision history for this message
Ali Rafiee (ali-rafiee) said :
#7

Thanks Luc Scholtès, that solved my question.