# Comparison of contact Law

Asked by Luis Barbosa on 2014-05-19

Hi,
I'm studying some contact law, for this reason I have compared:

#First Facet with cohesion to simulate the adhesion between particle and face:

#exercicio de plotagem com 02 esferas com leis de contato diferentes
# import yade modules that we will use below
from yade import plot
#Definir material
# create rectangular box from facets
# Criar a esfera coesiva
# Criar interacoes
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
#[Ip2_FrictMat_FrictMat_FrictPhys(),
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys (setCohesionNow=True,label="cohesiveIp")],
#[Law2_ScGeom_FrictPhys_CundallStrack(),
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(label='cohesiveLaw')]
),

GravityEngine(gravity=(0,0,-9.81)),
NewtonIntegrator(damping=0.4),

]
O.dt=.5e-1*utils.PWaveTimeStep()

b=O.bodies[10]

plot.plots={
't':('z1','v1') # z1(t) and v1(t)
}

plot.plot()
O.saveTmp()

And

#Second Facet without cohesion

#exercicio de plotagem com 02 esferas com leis de contato diferentes
# import yade modules that we will use below
from yade import plot
#Definir material
# create rectangular box from facets
# Criar a esfera coesiva
# Criar interacoes
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys(),
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys (setCohesionNow=True,label="cohesiveIp")],
[Law2_ScGeom_FrictPhys_CundallStrack(),
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(label='cohesiveLaw')]
),

GravityEngine(gravity=(0,0,-9.81)),
NewtonIntegrator(damping=0.4),

]
O.dt=.5e-1*utils.PWaveTimeStep()

b=O.bodies[10]

plot.plots={
't':('z1','v1') # z1(t) and v1(t)
}

plot.plot()

O.saveTmp()

For both the message is;

WARN /tmp/buildd/yadedaily-1.05.0-28-g5e71fa5~precise/pkg/dem/CohesiveFrictionalContactLaw.cpp:156 go: If :yref:`Law2_ScGeom6D_CohFrictPhys_CohesionMoment::useIncrementalForm` is false, then plasticity will not be applied correctly (the total formulation would not reproduce irreversibility).

1) Are there some consideration wrong
2) Am I right to simulate adhesion by doing a Facet with cohesion, or is not necessary

Thanks

## Question information

Language:
English Edit question
Status:
Solved
For:
Assignee:
No assignee Edit question
Solved by:
Bruno Chareyre
Solved:
2014-05-21
Last query:
2014-05-21
2014-05-20
 Bruno Chareyre (bruno-chareyre) said on 2014-05-20: #1

Hi,
This warning concerns the contact moments. If they are are not purely elastic, then it should use the incremental form in order to compute unloading correctly.
It appears in the second script probably because there is a cohesive interaction between the two spheres?
Besides, I'm not sure how to understand your questions. For 2), yes cohesion is the right way to have adhesion.
If the objective is just to test laws, you could use just two spheres actually.

 Luis Barbosa (luis-pires-b) said on 2014-05-20: #2

Hi Bruno, thanks for the answer.
Using the incremental form solved the warning.
But how can I print or plot the cohesion values?
In the question "Relationship between Material parameters and Interaction parameters", I saw:

def change_para():
for i in O.interactions:
print "cohension:",coh0
change_para()

I'm trying some variations of this example, but appears this:
for i in O.interactions:
^
Indentation Error: expected an indented block

Thanks!

 Christian Jakob (jakob-ifgt) said on 2014-05-20: #3

Hi Luis,

> Indentation Error: expected an indented block

Hm, looks like an indentation error ;)

Maybe you mixed space-character-indents and tab-indents ?

c

 Luis Barbosa (luis-pires-b) said on 2014-05-21: #4

Thanks Bruno Chareyre, that solved my question.

 Luis Barbosa (luis-pires-b) said on 2014-05-21: #5

Hi Christian,
I think that the way to print the adhesion is not working.

To post a message you must log in.