New question #652160 on Yade:
https://answers.launchpad.net/yade/+question/652160

I have constructed a geometry in which a cylinder is inserted in an 
box(surrounded by walls leaving the top open) and I am applying downward force 
on the cylinder. But I am not able to see any motion or displacement of the 
particles.

Here's my code:
o = Omega()

def createStoneColumn(centerBottom, centerTop, radCyl, radSpheres, variance, 
color):
        cylpred = pack.inCylinder(centerBottom, centerTop, radius=radCyl)
        packing = pack.randomDensePack(cylpred, spheresInCell = 250, 
radius=radSpheres, rRelFuzz=variance, color=color, returnSpherePack = False)
        return O.bodies.append(packing)

def createSandBox(length, height, width, radSpheres, variance, color):
        boxpred = pack.inAlignedBox((0,0,0),(length,height,width)) - 
pack.inCylinder((1,0.5,0.5),(1,1,0.5),0.3) 
        packing = pack.randomDensePack(boxpred, spheresInCell = 250, 
radius=radSpheres, rRelFuzz=variance, color=color, returnSpherePack = False)
        return O.bodies.append(packing) 

idBox = createSandBox(2,1,1,0.75e-1,0,(1,0.917,0.659))
idStone = 
createStoneColumn((1,0.5,0.5),(1,1.5,0.5),0.3,0.5e-1,0,(1,0.646,0.361))

center = (1,0.5,0.5)
extents = (1,0.5,0.5)
wMask = 55
co = (0,0,1)
mWalls = 
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0))
idBoxWalls = 
O.bodies.append(geom.facetBox(center,extents,orientation=Quaternion((0,0,0),0),wallMask=wMask,
 color=co, material=mWalls))

print len(O.bodies)

o.engines = [
  ForceResetter(),
  InsertionSortCollider([Bo1_Sphere_Aabb()],verletDist=1.0,label='collider'),
  InteractionLoop(
    [Ig2_Sphere_Sphere_ScGeom()],
    [Ip2_FrictMat_FrictMat_FrictPhys()],
    [Law2_ScGeom_FrictPhys_CundallStrack()],
  ),
  NewtonIntegrator(damping=0,gravity=[0,0,-9.81],label='newtonInt'),
  
TranslationEngine(translationAxis=[0,-1,0],velocity=-2.0,ids=idStone,dead=False,label='translat'),
  
  CombinedKinematicEngine(ids=idStone,label='combEngine',dead=True) + 
    
ServoPIDController(axis=[0,-1,0],maxVelocity=2.0,iterPeriod=1000,ids=idStone,target=1.0e7,kP=1.0,kI=1.0,kD=1.0)
 + 
    RotationEngine(rotationAxis=(0,0,1), angularVelocity=10.0, 
rotateAroundZero=True, zeroPoint=(0,0,0)),
  PyRunner(command='switchTranslationEngine()',iterPeriod=45000, nDo = 2, 
label='switchEng'),
]

O.step()

def switchTranslationEngine():
  print "Switch from TranslationEngine engine to ServoPIDController"
  translat.dead = True
  combEngine.dead = False

Please help!


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

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to