As part of the TUNA project, Carl Ritson built this 3D model of blood clotting in a tubular vessel. Platelets flow through the vessel, becoming sticky if they come into contact with chemicals released from wounds (which can be inflicted interactively). Clots form to block the wound - this is emergent, not programmed, behaviour. The model is implemented in occam-pi, using KRoC and making use of the many new features of the language (such as channel mobility and barrier synchronisation). Visualistaion is through a binding of the VTK library into occam-pi. The image on the left is from a system comprising around 12 million processes (including a shifting population of around 2 million mobiles) distributed over 18 nodes in our cluster. For other images, see our 3D Blood Clotting Gallery.
The model runs as a standalone application on a single machine or distributed across a cluster. Downloadable below are Windows standalone binaries, and videos of the simulation running in both standalone (a 256x64x64 cuboid space) and cluster (216x216x216) mode. Cluster mode is capable of running much larger models.
Download standalone video (warning: 117 MB file)
Download cluster video (warning: 120 MB file)
Carl Ritson's technical report on this work is made available. Please note that this is an internal TUNA document, not yet submitted for external review.
For more TUNA-related software, see TUNADemos.
Peter Welch's slides about various process-oriented approaches to the modelling of blood clotting are available in PDF and Powerpoint. His slides from CPA2006 about the fast implementation of choice over multiway synchronisations are also available in PDF and Powerpoint.