← Back to team overview

yade-users team mailing list archive

[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.