← Back to team overview

yade-users team mailing list archive

Re: [Question #689434]: How to generate many polyhedra randomly without specific data in Potential Blocks code?


Question #689434 on Yade changed:

    Status: Open => Answered

Vasileios Angelidakis proposed the following answer:
Hi Jie,

> found that the smaller the particles, the more serious the problem
This is exactly the problem I have identified so far.

What we do here, is that from polyhedra we calculate the a,b,c,d of the
PBs and using these, we recalculate the vertices, which are used to
calculate the centroid/volume/inertia and also visualise the particles.
I think the root of the problem is isolated in the calculation of
vertices of the PBs, where some duplicate vertices are not detected
properly. This is why the PBs we generate for these small particle sizes
have more vertices than the initial polyhedra.

I will try to have a look in the coming days on how to solve this in a more robust way. Until then, you can:
- File a bug report  [1], describing the issue.
- Consider using a different unit system (e.g. instead of meters/Newtons/Pascals use milimiters/Newtons/MegaPascals), to virtually upscale the size of the particles.
- Play with the tolerance of the duplicate vertices in the PB shape class [2], recompile, and see if you can achieve the same number of vertices between the generated PBs and the actual polyhedra.

These are messy solutions, but might help you progress with your work,
until I find a permanent way to solve this.

Kind regards,

[1] https://gitlab.com/groups/yade-dev/-/issues
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/PotentialBlock.cpp#L340

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