← Back to team overview

yade-users team mailing list archive

Re: [Question #688643]: How to do model bearing capacity of soil

 

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

    Status: Open => Answered

Jan Stránský proposed the following answer:
Some notes:
- define material prior to creating bodies
- use box [1] for simple geometries instead of facets

a MWE:
###
from yade import pack

O.materials.append(FrictMat(density=1000,young=1e4,poisson=0.3,frictionAngle=radians(30),label='sphereMat'))

# create rectangular box from boxes (maybe there is some library function, but I did not find it quickly)
cx,cy,cz = .5,.5,.5 # center of the box
dx,dy,dz = .5,.5,.5 # half-dimensions of the box
t = 0.025 # half-thickness of walls
topx,topy = 0.2, 0.3 # top box half-dimensions
left   = box((cx-dx-t,cy,cz),(t,dy,dz),fixed=True,wire=True)
right  = box((cx+dx+t,cy,cz),(t,dy,dz),fixed=True,wire=True)
front  = box((cx,cy-dy-t,cz),(dx,t,dz),fixed=True,wire=True)
back   = box((cx,cy+dy+t,cz),(dx,t,dz),fixed=True,wire=True)
bottom = box((cx,cy,cz-dz-t),(dx,dy,t),fixed=True,wire=True)
top    = box((cx,cy,cz+dz+t),(topx,topy,t),fixed=True)
O.bodies.append((left,right,back,front,bottom,top))

sp=pack.SpherePack()
# generate randomly spheres with uniform radius distribution
sp.makeCloud((0,0,0),(1,1,1),rMean=.03,rRelFuzz=.01,num=10000,seed=10000)
# add the sphere pack to the simulation
sp.toSimulation()

O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
   InteractionLoop(
      [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
      [Ip2_FrictMat_FrictMat_FrictPhys()],
      [Law2_ScGeom_FrictPhys_CundallStrack()]
   ),
   NewtonIntegrator(gravity=(0,0,-9.81),damping=0.4),
]
O.dt=.5*PWaveTimeStep()

top.state.vel = (0,0,-.5) # setting velocity is the simplest boundary condition, but you can also apply force or whatever...
###

cheers
Jan

[3] https://yade-dem.org/doc/yade.utils.html#yade.utils.box

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