# Geometry¶

Woo splits each contact into its geometrical features and the contact model.

The geometry is given by local coordinates (situated at the contact point and having the $$x$$-axis along the contact normal) and is also responsible for computing relative velocity of contacting particles in local coordinates. THis information is stored in woo.dem.L6Geom.

The geometry computation (performed by various woo.dem.CGeomFunctor subclasses) is split in two parts:

• Algorithm for computing relative velocities (and other features) at the contact point, which is common for all particle shapes:

Additional topics dealing with contact geometry are described in the following sections:

## Particle shapes¶

The following particle shapes are supported:

1. Simple shapes (1-node): Sphere, Capsule, Ellipsoid;
2. Multinodal shapes: Truss (2 nodes), Facet (3 nodes); Membrane (same as Facet geometrically, but adds deformability), woo.fem.Tetra (4 nodes; plus deforming woo.fem.Tet4)
3. Infinite axis-aligned shapes: InfCylinder, Wall.

The following matrix shows which shapes can collide with each other:

The g3g geometry is an algorithm used in Yade’s ScGeom and many other codes including PFC3D; it was only included for comparison purposes and is not to be used otherwise.

Tip