Asked by bruna on 2015-08-24

Hello everyone!

I have created a script where I deposite spheres using the CircularFactory engine so that I can have a specif PSD that represents my material. Although, I want to test how the shape influences the sample so I'm trying to create clumps with the spheres that I have already created. When I clump them using replaceByClumps, the sample seems to explode. I think this happens because the spheres that will form the clumps are not close together so they looks for another sphere that will follow the rule of the template that I have created making a mess in the sample.
Maybe if it's possible just to clump two or three spheres that is next to the other this problem would be solved. So my question is if there is a way to clump a specific number of spheres that are just next to the other without been necessary list the relation between their radius.

Thanks a lot.


Question information

English Edit question
Yade Edit question
No assignee Edit question
Last query:
Last reply:
Christian Jakob (jakob-ifgt) said : #1


I do not fully understand your question, but I guess you want to avoid the explosion of your model after the replacement step?! ...

In this case, please have a look at the example line 81 and following [1]. replaceByClumps() can produce overlaps between newly created clumps. If you have a high stiffness, the model will explode. To avoid this you can use calm() function. calm() is used to set particle velocities and rotations to zero (see example). Along with PyRunner it will slowly reduce the overlaps. If your model still explodes, decrease iterPeriod of the PyRunner.

If you want to replace just a specific part of your model you can try to generate this specific part first, then use replaceByClumps() and generate the rest of the model afterwards.

Hope it helps,



Can you help with this problem?

Provide an answer of your own, or ask bruna for more information if necessary.

To post a message you must log in.