Shapes

There are many shapes supported by the Woo engine.

  • sphere: Minkowski sum of 0-D simplex (plus) with sphere;
  • capsule: Minkowski sum of 1-D simplex (segment) with sphere;
  • rounded facet: Minkowski sum of 2-D simplex (triangle) with sphere;
  • ellipsoid;
  • axis-aligned infinite cylinder and plane (often useful as boundary conditions)

These shapes are uni-nodal (they have all their mass & intertia lumped into a single node). Besides them, there is support for multi-nodal particles (rods, membranes, colume elements), which not only undergo collisions, but also have internal forces (see FEM).

Spheres

Spheres are the traditional and most frequently used shapes. They are fast to compute (quick distance and contact evaluation) due to their symmetry. This images shows the initial elastic wave (when loading starts) propagating from supports towards the hyperboloidal specimen middle; this simulation can be found in examples/concrete-uniax.py and uses the conrete contact model.

Concrete Uniaxial Test

Clumps

Clumps are rigid aggregates of other shapes (not only spheres). This script (examples/clump-psd.py) creates clumps of predefined configurations, scaled according to a PSD function.

Clumps

Capsules

Pharma capsules are generated by PharmaCapsuleGenerator , using real dimension from the manufacturer. Pharmaceutical capsules are composed of two capsule-shaped particles clumped together. This simulation is treated in detail in the tutorial; the bottle is imported from STL and the movement is prescribed in discrete points (Woo interpolates between those so that the motion is smooth).

Capsules triaxial test

Capsules in sheared periodic cell

This image shows sheared periodic cell with dense packing of capsules which were generated from a given PSD.

Sheared capsules

Elllipsoids

Dense packing of ellipsoids, under discaplement-controlled shear loading. Ellipsoids are rather slow to compute (there is no closed-form distance function for them) but very useful due to their smooth roundness function (the theory is of course described in the documentation)

Sheared ellipsoids

These are ellipsoids under constrained motion (in 2D) colliding in a rectangular area:

Triangulation

This demonstrates the ability of rounded facets to collide with each other; this simulation is in examples/facet-facet.py. For more collisions of triangualted surfaces, see FEM.