Yade2
From Yade
Overview:
Scene [field, field, ...] engines (1) Field: [node, node, ...] [nodeData, nodeData, ...] (2) Node: position, orientation constraint* DynState*
DemField: Field [particle, particle, ...] [contact, contact, ...] (3) Particle: Material* Shape: Bound [node,node,...] contacts: {otherId1: Contact*, otherId2: Contact*, ...} Contact: particleA*, particleB* CGeom*, CPhys*, CData* (3) CGeom: node CPhys: force, torque (4) CData: /* arbitrary */