← Back to team overview

yade-users team mailing list archive

[Question #670838]: Cohesive gridConnection Cylinder&Sphere

 

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

Hi everyone,

I was trying to model a simple test for cohesive condition between a sphere and two small multi-parts cylinders created by gridconnection.

this is a simple example just to show problem itself.

while one cylinder remains in cohesive contact with fixed sphere but other one that is also in cohesive contact condition disappear from the model!

thanks a lot
Ali

my simple script:

#=================================
# encoding: utf-8
"""
Same example as CohesiveCylinderSphere.py but using gridConnections instead of chainedCylinder.
"""
from yade import qt
from yade.gridpfacet import *
from numpy import linspace

### Engines need to be defined first since the function gridConnection creates the interaction
O.engines=[
	ForceResetter(),
	InsertionSortCollider([
		Bo1_Sphere_Aabb(),
		Bo1_GridConnection_Aabb(),
	]),
	InteractionLoop(
		# Geometric interactions
		[
          Ig2_GridNode_GridNode_GridNodeGeom6D(),
          Ig2_Sphere_GridConnection_ScGridCoGeom(),	# used for the cohesive sphere-cylinder interaction
        ],
		[
		# Interaction phusics
          Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),
        ],
		# Interaction law
		[
          Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
          Law2_ScGridCoGeom_CohFrictPhys_CundallStrack(),	# used for the cohesive sphere-cylinder interaction
        ]
	),
	NewtonIntegrator(gravity=(0,-9.81,0),damping=0.7,label='newton'),

]

O.dt=1e-7

O.materials.append(CohFrictMat(young=8e5,poisson=0.3,density=3000,frictionAngle=radians(30),normalCohesion=1e15,shearCohesion=1e15,momentRotationLaw=True,label='gridNodeMat'))

O.materials.append(CohFrictMat(young=8e5,poisson=0.3,density=3000,frictionAngle=radians(30),normalCohesion=1e15,shearCohesion=1e15,momentRotationLaw=True,label='gridCoMat'))

O.materials.append(CohFrictMat(young=8e5,poisson=0.3,density=3000,frictionAngle=radians(30),normalCohesion=1e15,shearCohesion=1e15,momentRotationLaw=False,label='spheremat'))

rCyl=0.005

p1=O.bodies.append(gridNode([-0.3,0,0],rCyl,wire=False,fixed=False,material='gridNodeMat'))
p2=O.bodies.append(gridNode([0.4,0,0],rCyl,wire=False,fixed=False,material='gridNodeMat'))
p3=O.bodies.append(gridNode([0.15,0,0],rCyl,wire=False,fixed=False,material='gridNodeMat'))
p4=O.bodies.append(gridNode([0,-0.3,0.02],rCyl,wire=False,fixed=False,material='gridNodeMat'))
p5=O.bodies.append(gridNode([0,0.4,0.02],rCyl,wire=False,fixed=False,material='gridNodeMat'))
p6=O.bodies.append(gridNode([0,0.1,0.02],rCyl,wire=False,fixed=False,material='gridNodeMat'))
O.bodies.append( gridConnection(p1,p3,rCyl,material='gridCoMat'))
O.bodies.append( gridConnection(p3,p2,rCyl,material='gridCoMat'))
O.bodies.append( gridConnection(p4,p6,rCyl,material='gridCoMat'))
O.bodies.append( gridConnection(p6,p5,rCyl,material='gridCoMat'))


IdSphere=O.bodies.append(sphere([0.0,0,0.01],rCyl,wire=False,fixed=False,material='spheremat'))
O.bodies[-1].state.blockedDOFs='xyzXYZ'


qt.View()

#======================================================================








  

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