JCF Contac Law

Asked by Luis Barbosa

Hi,

I'm using Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM in a simple simulation of two spheres in contact [1].

Increasing the values of poisson (0.2,0.3,0.5,0.7,1) I realized a reduction in max Normal force. My doubt is why it happens, once poisson is supposed to affect Ks only [2].

[1]

#!/usr/bin/python
# -*- coding: utf-8 -*-

from yade import plot

O.materials.append(JCFpmMat(type=1,young=1e8,poisson=0.7,frictionAngle=radians (30),density=3000,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e6,jointShearStiffness=1e6,jointCohesion=1e6,jointFrictionAngle=radians(20),jointDilationAngle=0.0,label='spheres'))
O.bodies.append([
utils.sphere(center=(0,0,0),radius=1,material='spheres',fixed=True),
utils.sphere(center=(0,0,2),radius=1,material='spheres',fixed=False),
])

O.engines=[
  ForceResetter(),
  InsertionSortCollider([Bo1_Sphere_Aabb()]),
  InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,alpha=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=radians(20),jointDilationAngle=0.0)],
  [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1)],
  [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(smoothJoint=True)]
  ),
  TranslationEngine(ids=[1],translationAxis=[0,1,0],velocity=0.1),
  NewtonIntegrator(damping=0.0),
  PyRunner(iterPeriod=100,command='myAddPlotData()')
]
O.dt=1e-4*utils.PWaveTimeStep()
from yade import qt
qt.View()
qt.Controller()

from yade import plot
plot.labels=dict(Fn='$Normal\,force$',un='$Overlapping$',time='$Time$',time_='$Time$',Fs='$Shear\,force$',t='$Time$')
plot.plots={'time_':('Fn',),'t':('Fs')}
def myAddPlotData():
 if O.interactions[0,1].isReal:
  i=O.interactions[0,1]
  plot.addData(Fn=i.phys.normalForce[2],Fs=i.phys.shearForce[1],time=O.time,time_=O.time,t=O.time)
 else:
  plot.addData(Fn=0,Fs=0,un=0,time=O.time,time_=O.time,t=O.time)
plot.plot(subPlots=False)

[2]http://www.sciencedirect.com/science/article/pii/S1365160912000391

Thanks,
Luis

Question information

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

Hello Luis,

Firstly, you don't need to have 2 Ip2_JCFpmMat_JCFpmMat_JCFpmPhy functors defined in your script (actually, the script that you provided does not work due to the following line that you should remove: [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,alpha=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=radians(20),jointDilationAngle=0.0)],)

Secondly, you should consider the physics in the test that you defined. The 2 particles move apart tangentially. With the strength properties that you defined, it appears that bond failure occurs due to a shear mechanism. The maximum shear force is actually reached before the maximum normal force. Running 2 tests with Poisson equal to 0.4 and 0.7 respectively, you will see that, effectively, the maximum shear force is equal to ~3e6 in both cases, the difference between the 2 cases being that it is reached sooner (for smaller displacement) in the case where Poisson = 0.7 because the shear stiffness is bigger in this case. Now, regarding your concern, when the maximum shear force is reached, the bond breaks and the normal force is set to zero as well because there is no interaction anymore but, you have to keep in mind that the driving failure mechanism is shear so that the normal force at failure will be different and will be a function of the relative normal displacement between the particles.

I would suggest that you run a similar test defining the relative movement of the particles in the direction normal to the contact so that failure will occur due to a tensile/normal mechanism.

Luc

Revision history for this message
Luis Barbosa (luis-pires-b) said :
#2

Hello Luc,

Thanks for your answer.
But it is still not clear to me why, in shear test, the value of normal also changes with possion.

Poisson values Max Normal reached (in shear test)
0,2 5,07E+05
0,3 2,50E+05
0,5 9,50E+04
0,7 4,90E+04
1 2,50E+04

And I agree with you, with relative movement in the normal direction to the contact it is possible to see failure due to cohesion.

Thank you for the help.
Luis

Revision history for this message
Luis Barbosa (luis-pires-b) said :
#3

Sorry, rearranging the values:

Poisson values -- Max Normal reached (in shear test)
0,2 -- 5,07E+05
0,3 -- 2,50E+05
0,5 -- 9,50E+04
0,7 -- 4,90E+04
1 -- 2,50E+04

Luis

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

Hello,

Your simulation is more difficult to interpret than it seems.

Because of your initial geometry and the applied relative displacement, both shear and normal relative displacements evolve in your example. As such, it is not a pure shear test in my opinion.

This being said, it seems (from what I've read in the above) your bond still fails because Ft (shear force) reaches its maximum value Ftmax. When this occurs you obviously have as well some normal force and the corresponding normal force value depends on the normal relative displacement.

Rephrasing what Luc said, changing "poisson" modifies the relative displacement (with his normal and shear components) that triggers the shear failure. Because of that, it is not surprising changing poisson also affects the measured normal force at shear failure.

Jerome

Revision history for this message
Luis Barbosa (luis-pires-b) said :
#5

Dear Jérôme,

Thank you for the answer.

After the comments of Luc and yours, I totally agree with this observation.
Thank you for helping me to mature this concept.

Regards,
Luis