← Back to team overview

yade-users team mailing list archive

Re: [Question #696871]: How to model a steel Plate in Yade

 

Question #696871 on Yade changed:
https://answers.launchpad.net/yade/+question/696871

    Status: Needs information => Open

Trishala DAKA gave more information on the question:
Hi,

what I meant was broken:
In the primary view I can see that pfacet is loosing its connection with gridnode when sphere is falling from top on the PLATE.

My code:

O.load('Plate_layer1.xml') # I created First Layer of soil
from yade import pack,plot,utils,export,qt
from yade.gridpfacet import *

color=[135/255,206/255,235/255]
color1=[0/255,0/255,139/255]
colorf = [192/255,192/255,192/255]


O.engines=[
  ForceResetter(),
  InsertionSortCollider([
    Bo1_Sphere_Aabb(),
    Bo1_Facet_Aabb(),
    Bo1_Wall_Aabb(),
    Bo1_GridConnection_Aabb(),
    Bo1_PFacet_Aabb(),
  ]),
  InteractionLoop([
    Ig2_Sphere_Sphere_ScGeom(),
    Ig2_Facet_Sphere_ScGeom(),
    Ig2_Wall_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()
    Ip2_FrictMat_FrictMat_FrictPhys(frictAngle=MatchMaker(algo='max'))
  ],
  [
    Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
    Law2_ScGeom_FrictPhys_CundallStrack(),
    Law2_ScGridCoGeom_FrictPhys_CundallStrack(),
    #Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(),
  ]
  ),
  #GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.8, label='timeStepper'),
  NewtonIntegrator(gravity=(0,0,-9.81),damping=0.3,label='newton'),
]

O.materials.append( CohFrictMat( young=200e9,poisson=0.3,density=8050,frictionAngle=radians(30),normalCohesion=10e9,shearCohesion=10e9,momentRotationLaw=True,label='cohfrictMat' ) )
#O.materials.append( CohFrictMat( young=200e9,poisson=0.3,density=8050,frictionAngle=radians(26),normalCohesion=5e800,shearCohesion=4e800,label='cohfrictMat' ) )
O.materials.append( FrictMat( young=200e9,poisson=0.3,density=8050,frictionAngle=radians(30),label='frictMat' ) )

L=5
l=5
nby=10
nbx=10
r=0.001 #radius
colorTG=[40./255.,102./255.,50./255.]
nodesTG=[]
for i in range(0,nbx+1):
    for j in range(0,nby+1):
        nodesTG.append( O.bodies.append(gridNode([i*l/nbx-2.5,j*L/nby-2.5,-1.55],r,fixed=False,material='cohfrictMat')) )
              
for i in range(0,len(nodesTG)):
   for j in range(i+1,len(nodesTG)):
         x = O.bodies[nodesTG[i]].state.pos[0]
         y = O.bodies[nodesTG[i]].state.pos[1]
         x1 = O.bodies[nodesTG[j]].state.pos[0]
         y1 = O.bodies[nodesTG[j]].state.pos[1]
         d = ((x-x1)**2 +(y-y1)**2)**0.5
         if (d <= L/nby*1.01):
               O.bodies.append( gridConnection(nodesTG[i],nodesTG[j],r,material='frictMat') )
        #PFacet connection
for k in range(0,nby):
    for i in range(0+k*(nby+1),0+k*(nby+1)+nby):
          pfacetCreator3(nodesTG[i],nodesTG[i+nby+2],nodesTG[i+1],color=colorTG,material='frictMat')
          pfacetCreator3(nodesTG[i],nodesTG[i+nby+2],nodesTG[i+nby+1], color=colorTG,material='frictMat')
O.dt = PWaveTimeStep()
qt.Controller()
qtv = qt.View()
qtr = qt.Renderer()

Thanks.

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