Simulations with concave particles

Description:

This text describes how to perform Aspherix® simulations with concave particles.

Introduction:

Concave particles cannot be simulated directly as the contact between two concave particles can have more than one contact point. The common way to circumvent this limitation is to use multiple convex bodies. Those have unique contact points (assuming we consider flat face contacts with one contact point). Thus, concave and convex particles are the polygonal analogon of the multispheres - sphere relationship.

To use concave particles in a Aspherix® simulation a pre-processing step is required that converts a concave body into multiple convex ones. After that, a concave particletemplate allows the definition of such bodies in a Aspherix® input script.


Pre-processing a concave STL mesh

To convert a concave body into multiple convex ones we assume that the concave body is available as STL mesh (Note: the tool we use would actually also allow *.obj).

The v-hacd tool can be found in your lib folder or it can be downloaded from Github.

For the compilation we will assume that you have a terminal pointed at the v-hacd folder. The commands to compile this code are as follows:

mkdir build
cd build
cmake ../src
make

Note that executable is found in the lib/v-hacd/build/test path and is called testVHACD. A simple example can be executed (assuming you are still in the build directory)

./test/testVHACD --input ../doc/arrow.stl --output "arrow_*.stl" --log log.txt

This should create two stl files called arrow_0.stl and arrow_1.stl located in the current directory. These stl files can be used directly in any Aspherix® simulation.

To see further options of v-hacd run the executable without any arguments.


Aspherix® commands for convex particles

To use concave particles in a Aspherix® input script the first step is to set the particle_shape to concave.

Next, the concave body can be initialized by adding multiple convex bodies and combining them in a particle template of type concave.

Best practice hints

Enable the torsion flag when using the tangential model history. This will result in a significantly more stable simulation and prevent two objects with a flat face contact to bounce and rotate artificially.

Tutorial cases

Two tutorial cases demonstrate the usage of concave particles:

  • examples/solver/particle_shape/concave_particles

  • examples/solver/particle_shape/concave_particles_AX_rotating_drum


Questions?

If any questions remain, contact us.