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

Good evening,
Previously, i had asked how to create a group of particles and exclude those 
that are inside the walls.
This was the solution

                pred = inGtsSurface(s)
                sp=pack.SpherePack()
                sp.makeCloud((10,40,3),(30,60,12),rMean=0.5)
                
                # remove spheres completely inside walls
                for c,r in sp:
                   if pred(c,0):
                      continue
                   O.bodies.append(sphere(c,r))

                # remove spheres partially inside walls
                O.dt = 0
                O.step() # interactions are created afterwards
                toErase = set()
                for i in O.interactions:
                   b1,b2 = [O.bodies[i] for i in (i.id1,i.id2)]
                   if any(isinstance(b.shape,Facet) for b in (b1,b2)): # if 
facet is involved, delete
                      toErase.add(b1)
                      toErase.add(b2)
                toErase = [b for b in toErase if isinstance(b.shape,Sphere)] # 
delete just spheres
                for b in toErase: # delete the spheres
                O.bodies.erase(b.id)
                O.engines=[

However, a much denser particle cloud is needed
To that effect i subsituted 


                sp=pack.SpherePack()
                sp.makeCloud((10,40,3),(30,60,12),rMean=0.5)


with 

                
sp=pack.randomDensePack(pack.inAlignedBox((-10,40,3),(20,50,10)),spheresInCell=1000,radius=.05,memoizeDb='/tmp/triaxPackCache.sqlite')


ln: failed to create symbolic link 'yadeimport.py': File exists
False
True
Found suitable packing in /tmp/triaxPackCache.sqlite 
(radius=0.05±0,N=1000,dim=2.2861×0.762034×0.533423,periodic,scale=1), created 
Wed Dec  6 15:34:07 2017
/usr/lib/x86_64-linux-gnu/yade/py/yade/pack.py:296: FutureWarning: The default 
behavior will change; specify returnSpherePack=True for the new behavior, and 
False to get rid of this warning (your code will break in the future, however). 
The returned SpherePack object can be added to the simulation using 
SpherePack.toSimulation()
  warnings.warn('The default behavior will change; specify 
returnSpherePack=True for the new behavior, and False to get rid of this 
warning (your code will break in the future, however). The returned SpherePack 
object can be added to the simulation using 
SpherePack.toSimulation()',category=FutureWarning)
Killed


Any help is appreciated
Thank you for your time
John





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