This page contains links to software libraries or applications that I have either authored myself or made a substantial contribution to.


  • Aboria implements a C++ STL container of particles in 3D space. The library is header-only. The container supports random access of particles, as well as the normal STL algorithms. Neighbourhood searches are possible, using a bucket search method (uniform bucket spacing)
  • Includes examples showing how to implement DEM and SPH algorithms (in 3D) using Aboria


  • C++/Python library for multiscale lattice and off-lattice simulation of spatial stochastic reaction-diffusion networks
    • off-lattice (particle-based) model based on the Smoluchowski model, including diffusion, zeroth-order, unimolecular and bimolecular reactions.
    • on-lattice model based on the Next Subvolume Method. This models stochastic diffusion, and reactions of arbitrary order
    • coupling between the off-lattice and on-lattice models (ATRM)
  • Modular Design. Users can add new models or take models to use in own code
  • C++ or Python interface. Integrates into normal Python environment (e.g. Matplotlib, tvtk)


The SPH portion of this code was developed during my PhD, then the DEM functionality and coupling with SPH was added during my current postdoc at U. Twente.
  • Written in C++
  • Fully parallel implementation using MPI
  • Modular structure separates the parallel data structure from the SPH/DEM equation. Uses C++ templates to efficiently apply arbitrary functions on particles and their neighbours
  • Output files use VTK format
  • SPH Functionality
    • Weakly compressible formulation
    • Lenard-Jones type boundary particles, periodic boundaries and ghost boundaries
    • Variety of different viscosity terms and kernel options
    • First order corrected kernel derivatives
    • And more...
  • SPH-DEM coupling based on Locally Averaged Navier-Stokes Eqns. Drag terms: De Felice, Ergun and Stokes.


  • Smoldyn is a computer program for cell-scale biochemical simulations, developed by Dr Steve Andrews at the Fred Hutchinson Cancer Research Center
  • I have contributed to the latest version of Smoldyn by including a lattice-based model that can be coupled to the standard off-lattice model
  • See the main Smoldyn page for more details...

Inpainting Plugin

  • Gimp Plug-in developed in collaboration with Dr. Thomas März (Oxford)
  • Inpainting refers to the process of removing or recovering image regions by "inpainting" the surrounding image features into the region to be recovered.


  • C++/Python library for multiscale PDE and off-lattice simulation of spatial stochastic reaction-diffusion networks

© Martin Robinson
Template design by Andreas Viklund