← Back to team overview

yade-users team mailing list archive

[Question #702242]: Problem when using GridConnection GridConnection interaction

 

New question #702242 on Yade:
https://answers.launchpad.net/yade/+question/702242

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()



-- 
You received this question notification because your team yade-users is
an answer contact for Yade.