New question #645958 on Yade: https://answers.launchpad.net/yade/+question/645958
Hi There, I am working on generating a compressed packing of aggregates. I am currently using /examples/agglomerate as a basis. I am using makeClumpCloud to fill a cuboid with clumps which I generated. Then I would like to run them through /examples/agglomerate/compress.py and generate a dense packing of these aggregates. I would like the method to work for just a few aggregates as well as for a larger number. The result using just a few looks like http://pasteall.org/pic/index.php?id=116894 (When I generate a larger number of particles things look better http://pasteall.org/pic/index.php?id=116816) There is quite a bit of empty space left. I was hoping by compressing I could end up with a cuboid of packed aggregates, however I dont see the compression doing anything at all... Is there something missing for the TriaxialStressController to work? thanks in advance Jesse code here: from yade import export,ymport import random random.seed(1) # add walls first #dim = (15,15,15) #dim = (1.5e-6,1.5e-6,1.5e-6) dim = (1e-6,1e-6,1e-6) walls = aabbWalls(((0,0,0),(dim))) wallIds = O.bodies.append(walls) # load spheres from file, including information of their agglomerates ids attrs = [] sp = ymport.textExt('/tmp/divided.txt',format='x_y_z_r_attrs',attrs=attrs) n = max(int(a[0]) for a in attrs)+1 colors = [randomColor() for _ in xrange(n)] agglomerates = [[] for _ in xrange(n)] for s,a in zip(sp,attrs): aa = int(a[0]) s.agglomerate = aa s.shape.color = colors[aa] agglomerates[aa].append(s) for a in agglomerates: O.bodies.appendClumped(a) #getClumpInfo() print('Number of particles = ' , len(O.bodies)) 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()] ), TriaxialStressController( thickness = 0, stressMask = 7, internalCompaction = False, label = 'compressor', ), NewtonIntegrator(damping=.6), ] factor = 0.001 print('factor = ', factor) O.dt = factor * PWaveTimeStep() print('Number of particles = ' , len(O.bodies)) ### Debug disappearing particles #ids = set(b.id for b in O.bodies) #sames = [] #while ids: #i = ids.pop() #b = O.bodies[i] #p = b.state.pos #same = [i] #iis = set(ids) ##if len(ids) < 1 #for ii in iis: #bb = O.bodies[ii] #if bb.state.pos == p: #same.append(ii) #ids.discard(ii) #if len(same)>1: #print "bodies {} has identical pos".format(same) #sames.append(same) #for i in sames[-1]: #print O.bodies[i].state.pos ####### # compress the sample compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-100 #compressor.goal1 = compressor.goal2 = compressor.goal3 = 1e-10 input("Press Enter to continue...") O.run(50000,True) #compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-5 #O.run(30000,True) -- 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

