← Back to team overview

yade-users team mailing list archive

Re: [Question #658629]: Oedometric consolidation test

 

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

Swapnil posted a new comment:
Okay Jan, lets keep the porosity topic for later.

Now, I managed to get the set up ready. the following is the script:

from yade import pack,plot

(1) create cylinder made of boxes.

from math import sin,cos

def cylSurf(center,radius,height,nSegments=12,thick=0,**kw):
   
   center = Vector3(center)
   angles = [i*2*pi/nSegments for i in range(nSegments)]
   pts = [center + Vector3(radius*cos(a),radius*sin(a),.5*height) for a in angles]
   ret = []
   for i,pt in enumerate(pts):
      l = pi*radius/nSegments
      es = (.5*thick,l,.5*height)
      ori = Quaternion((0,0,1),i*2*pi/nSegments)
      ret.append(box(pt,es,ori,**kw))
   return ret

surf = cylSurf((1,2,3),4,5,nSegments=12,thick=.1)
O.bodies.append(surf)

(2) create a bottom plate
lower_plateID=O.bodies.append(box((1,2,3),(4,4,0.0002)))

(3) Fill in the cylinder with spjheres
pred=pack.inCylinder((1,2,3),(1,2,8),4)
sp=pack.randomDensePack(pred,radius=0.25)
O.bodies.append(sp)
yade.qt.Controller()

(4) create an upper (top plate)
upper_plateID=O.bodies.append(box((1,2,8),(4,4,0.0002)))

(5) Load the top plate with a certain constant force
O.forces.addF(upper_plateID,(0,0,-0.02),permanent=True)

(6) Apply Engines for interactions
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.1)]

((7) time step
O.dt= 0.3*PWaveTimeStep()

At this point when I run the simulation, it is blowing up (exploding). (Please try the run on your system to cross-check)
Is there some error in my  process -implementation so far  :) ?

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