Problem when using GridConnection GridConnection interaction

Asked by Nesrin Akel

Hello everyone,

I am interested in the gridconnection- gridconnection interaction. This is why I created a minimal script where two gridconnections overlap, for which I applied the specific geometric interaction "Ig2_GridConnection_GridConnection_GridCoGridCoGeom(), and the specific contact law "Law2GridCoGridCo_FrictPhys_CundallStrack().
I manage to launch 1 iteration of YADE. The contact between the 2 gridConnections is well created and the forces at the contact are calculated. But then when a second iteration is launched, the calculation crashes in the "InsertionSortCollider" without returning an error. So it is difficult to debug.

I would like to know what is the error here? and if I missed something?

I appreciate any help, Thank you in advance!

Nesrin

import math
import numpy as np
from yade import plot
from yade import qt
from yade.gridpfacet import *

O.engines=[
 ForceResetter(),
 InsertionSortCollider([
  Bo1_GridConnection_Aabb(),
 ]),
 InteractionLoop(
  # Geometric interactions
  [
          Ig2_GridNode_GridNode_GridNodeGeom6D(),
          Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
        ],
  [
  # Interaction physics
          Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)
        ],
  # Interaction law
  [
          Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
          Law2_GridCoGridCoGeom_FrictPhys_CundallStrack()

]
 ),
 NewtonIntegrator(gravity=(0,0,0),damping=0.9,label='newton'),
 #PyRunner(command='addPlotdata()',iterPeriod=10),
]

#### Set the time step
O.dt = 5e-7

#### Set the parameters of the materiel of grid connection and grid node
O.materials.append(CohFrictMat(
                young=1e5,
                poisson=0.25,
                density=1e3,
                frictionAngle=radians(30),
                normalCohesion=1e5,
                shearCohesion=1e5,
                momentRotationLaw=True,
                fragile=False,
                label='gridMat'
        )
)

#### Set the bodies
color = [255. / 255., 102. / 255., 0. / 255.]
radius=0.5
nodesIds=[]
nodesIds.append( O.bodies.append(gridNode([0,1,0],radius,color=[0,0,2],wire=False,fixed=True,material='gridMat') ) )
nodesIds.append( O.bodies.append(gridNode([0,5,8],radius,color=[0,0,1],wire=False,fixed=False,material='gridMat') ) )
nodesIds.append( O.bodies.append(gridNode([-1,4,0],radius,color=color,wire=False,fixed=False,material='gridMat') ) )
nodesIds.append( O.bodies.append(gridNode([1,2,6],radius,color=color,wire=False,fixed=False,material='gridMat') ) )
O.bodies.append( gridConnection(0,1,radius,wire=False,color=[0,0,1],material='gridMat') )
O.bodies.append( gridConnection(2,3,radius,wire=False,color=color,material='gridMat') )

# set the force on one of the gridconnections
Fapplied=1000
O.forces.setPermF(1, (0, Fapplied, Fapplied)),

yade.qt.Renderer().intrAllWire=1
qtr=qt.Renderer()
qtr.bgColor=[1,1,1]
qt.View()

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Nesrin Akel
Solved:
Last query:
Last reply:
Revision history for this message
Nesrin Akel (nesrinakel) said :
#1

We finally found the problem.
In fact, I used cohesive material for overlapping gridconnections, and I enabled setCohesionNow at the same time, so Yade will create cohesive interactions between gridconnections, which is impossible. This is why the script crashes after the first iteration.
We solved that by changing the grid-connection material to FrictMat.