Non-spherical particles

scordee, Irana Denissen will implement ellipsoids and rods

General non-spherical particles

http://www.sciencedirect.com/science/article/pii/S0009250914007040: article with many references and some basics about moment of inertia.

Notes from Wouter, this is what Thomas used to implement quaternions.

Cylinders

Contact detection

This group has already implemented rods, maybe we can just copy their algorithms? They seem to work pretty well. First paper is algorithm description, second paper validation.

More modern paper, which reduces contact detection of cylinders to 2D contact detection between sphere and ellipse, and sphere and line.

Old paper, which does not cover all cases. Source code is available though:
http://www.sklogwiki.org/SklogWiki/index.php/Rev._source_code_for_the_minimum_distance_between_two_rods_in_C

Force computation

Inertial moment computation

Ellipsoids (or maybe superquadrics?)

Contact detection

Option from Matuttis-Cheng book: write as generalised eigenvalue problem (this book advises against using ellipsoids)

Force computation

Inertial moment computation

Mercury implementation

  • Quaternions already exist, and are a part of every BaseInteractable
  • We probably want to inherit from BaseParticle?