yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #23992
[Question #693090]: Cohesive contact between a pfacet surface and a sphere
New question #693090 on Yade:
https://answers.launchpad.net/yade/+question/693090
Hi every one,
I would like to know is there a method to put a cohesive contact condition between a pfacet surface and spheres?
It's working for a gridconnection and spheres but I try for a sphere and a pfacet surface and I could not find a way for that, as show in below simple code.
Can you give me some suggestion and idea?
Thanks a lot
###################################################
from builtins import range
from yade import qt,plot
from yade.gridpfacet import *
phi=20.
E=3.*1e8
r=0.005
O.engines=[
ForceResetter(),
InsertionSortCollider([
Bo1_Sphere_Aabb(),
Bo1_GridConnection_Aabb(),
Bo1_PFacet_Aabb(),
]),
InteractionLoop([
Ig2_Sphere_Sphere_ScGeom(),
Ig2_Sphere_GridConnection_ScGridCoGeom(),
Ig2_Sphere_PFacet_ScGridCoGeom(),
Ig2_GridNode_GridNode_GridNodeGeom6D(),
Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
Ig2_GridConnection_PFacet_ScGeom(),
Ig2_PFacet_PFacet_ScGeom(),
],
[
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),
#Ip2_FrictMat_FrictMat_FrictPhys()
],
[
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
Law2_ScGridCoGeom_CohFrictPhys_CundallStrack(),
]
),
GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1,label='ts'),
NewtonIntegrator(gravity=(0,0,-9.81),damping=.5,label='newton'),
]
O.materials.append( CohFrictMat( young=0.05*E,poisson=0.3,density=2650,frictionAngle=radians(phi),normalCohesion=3e100,shearCohesion=3e100,momentRotationLaw=True,label='cohfrictMat' ) )
O.materials.append( FrictMat( young=E,poisson=0.5,density=260050,frictionAngle=radians(phi),label='frictMat' ) )
# SPHERES
O.bodies.append( sphere(center=(Vector3(0.2828,0.5,0.4253)),radius=0.1,material='cohfrictMat',fixed=False) )
# GRIDS
raduis1=0.001
pf1=O.bodies.append(gridNode([ 0, .0, 0],raduis1,wire=False,fixed=True,material='cohfrictMat',color=[0,0,25]))
pf2=O.bodies.append(gridNode([ 1, .0, 1],raduis1,wire=False,fixed=True,material='cohfrictMat',color=[0,0,25]))
pf3=O.bodies.append(gridNode([ 1, 1, 1],raduis1,wire=False,fixed=True,material='cohfrictMat',color=[0,0,25]))
pf4=O.bodies.append(gridNode([ 0, 1, 0],raduis1,wire=False,fixed=True,material='cohfrictMat',color=[0,0,25]))
O.bodies.append( gridConnection(pf1,pf2, raduis1,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( gridConnection(pf2,pf4, raduis1,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( gridConnection(pf4,pf1, raduis1,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( gridConnection(pf2,pf3, raduis1,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( gridConnection(pf3,pf4, raduis1,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( pfacet(pf1,pf2,pf4,wire=False,material='cohfrictMat',color=[0,0,25] ))
O.bodies.append( pfacet(pf2,pf3,pf4,wire=False,material='cohfrictMat',color=[0,0,25] ))
qt.Controller()
qtv = qt.View()
qtr = qt.Renderer()
qtr.bgColor=[1,1,1]
Gl1_Sphere.stripes=1
O.saveTmp()
--
You received this question notification because your team yade-users is
an answer contact for Yade.