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.