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

Bruno Chareyre proposed the following answer:
Ok...
growParticles() is changing positions instantaneously, however some positions 
stored internally in the clump data are not updated and they are used in 
NewtonIntegrator. Consequence:
 grow() + step() = update + downdate positions.

The function updateClumpProperties is needed to update the internal clump data. 
Problem in your case: it was not executed after the last call to glow().
I'll fix the problem by documenting this situation in the grow() function.

I would suggest to use updateClumpProperties(-1) if you grow very frequently 
(like every 10 timesteps) so that you don't recompute mass/inertia all the time.
Below is a working version of your last script.
Regards
Bruno


O.materials.append(FrictMat(poisson=0.5,density=2600,label='sphereMat'))
from yade import pack
nElem = 7

c=pack.SpherePack([((0,0,0),.003),((.006,0,0),.003)])
sp=pack.SpherePack()
print 'Generated # of 
clumps:',sp.makeClumpCloud((0,0,0),(10,10,10),[c],num=nElem,periodic=False,seed=1)
sp.toSimulation(material='sphereMat')

growParticles(multiplier=128)
O.bodies.updateClumpProperties(discretization=20)

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()]
 ),
 NewtonIntegrator(damping=.4,gravity=(0,0,-9.81)),
]

O.step()
yade.qt.View()

-- 
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