How to use

116 views
Skip to first unread message

Katsuyuki Kominami

unread,
May 1, 2023, 4:47:17 AM5/1/23
to ProjectChrono
Hello, while searching for open-source GPU-accelerated DEM simulations, I came across the project called Chrono. I am interested in using it to simulate a simple case of a vibrating powder bed and have a few questions:

・Can the DEM-Engine take into account particle size distribution during simulation?
・How can the DEM-Engine be visualized?
・How can I customize the demo?"

Thanks,
Katsuyuki

Ruochun Zhang

unread,
May 1, 2023, 4:32:54 PM5/1/23
to ProjectChrono
Hi Katsuyuki,

To answer the questions...

1. Yes. This is because DEM-Engine supports complex-shaped and variable-sized DEM elements. This is shown in every demo and is done in the form of a one-two punch: You define DEM element "templates" which represent the shape and size of the particle you want, by defining a clump (collection of overlapping spheres), then instantiate thousands or potentially millions of these templates and run the simulation. Right now, you cannot simply specify a distribution and ask the solver to generate elements based on the distribution. You might instead do this: Create a lot of, say 2000, types of templates whose sizes represent the range you want (say if your particle size is between [1, 3], then you may want to create templates of size 1, 1.001, 1.002, ..., 2.999, 3). Then you use a for loop to instantiate the DEM elements, and each element can take one of the templates with a chance of the corresponding probability density. This way, you will have a granular system that follows a size distribution if you sample enough of them.
Let me know if you need further explanation on this. I should note that right now up to 65536 types of templates are supported, so don't create more *types* than that (you can have millions of elements, of course). Also, while you can't define a continuous distribution with this package, the data structure of the package potentially allows such functionality to be added. So if a continuous distribution generation tool is absolutely needed over what I just suggested, feel free to let me know, too.

2. Yes. Since DEM-Engine can output csv files which contain the location (X, Y, Z) and radius (r) of each sphere component (of the DEM elements), you can visualize it as a post-processing step. If it is not too large, you can use Paraview, in which case you read the csv file, then apply TableToPoints filter to convert the data to 3D points, then preferably use Glyph filter to create "volumetric" views of the spheres. Right now DEM-Engine has no run-time visualization since you probably want to use it on clusters anyway.

3. You can directly modify the demos and rebuild them. Yet a better thing to do is probably copy one of the demos and give it a new name, then add it to the CMakeList in the demo folder. Then when you rebuild the project, this demo will be built. After that, you can start modifying this new demo to suit your needs. To do a vibrating powder bed simulation, the sieve demo and the centrifuge demo might be good starting points. The rendering of some of the demos can be found here.

Thank you,
Ruochun

Katsuyuki Kominami

unread,
May 2, 2023, 5:51:44 AM5/2/23
to ProjectChrono
Hi Ruochun, Thank you for your detailed response! It was very helpful. I think I now understand how to customize and visualize the DEM-Engine for my vibrating powder bed simulation. Your explanation of using templates to represent the shape and size of the particles was particularly useful. Best regards, Katsuyuki

2023年5月2日火曜日 5:32:54 UTC+9 Ruochun Zhang:
Reply all
Reply to author
Forward
0 new messages