yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #27931
[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.