yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #22225
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.