CellGPU  0.8.0
GPU-accelerated simulations of cells
Basic overview of the project

cellGPU is, in many ways, a very standard implementation of GPU-accelerated molecular dynamics. The primary change is that in each MD timestep there is an extra part, not common in particulate simulations, in which topological rules are enforced. In the Voronoi model branch of the code this involves seeing if the Delaunay triangulation of the cell positions needs to be updated, and in the vertex model branch of the code this involves seeing if any edges need to be flipped. Both branches also allow the possibility of cell division and death.

Directory structure of the project

Both the "/inc" and "/src" directories have the subdirectories "analysis", "databases", "models", "updaters", and "utilities". Below is a very brief description of the kinds of things in each, more detailed descriptions of key classes are further down in this file.

models directory

Contains the classes that can compute and maintain cellular topology (in either a Voronoi model mode or vertex model mode), as well as the classes that compute forces corresponding to specific energy functionals.

updaters directory

Contains the classes that implement various equations of motion that the simulation dynamics can evolve according to. Also contains other classes that somehow update the current state of the system (zeroing out the total linear momentum of a configuration, performing Muller-Plathe updates, etc.)

utilities directory

Contains assorted utilities (GPUArrays, cell lists, Hilbert sorting schemes, random-number generators, helper functions, etc.)

databases directory

Contains a few structures for saving simulation trajectories, including the necessary information to reconstruct the model topology. Most of the databases are currently either simple txt files or netCDF files.

analysis directory

Contains classes related to standard analyses of MD-like data. Examples include on-the-fly computation of auto-correlation functions, or computing the radial distribution function and structure factor of a point pattern.

Classes of note

The following are a handful of classes that make up the most important operations and interfaces of cellGPU. Please additionally see the cellGPU paper for details: https://arxiv.org/abs/1702.02939

General data structures and analysis classes

Cellular models

Equations of motion

Basic idea of Voronoi model hybrid operation

The following describes the basic operation of the DelaunayMD class

Basic idea of AVM GPU-only operation

The following describes the basic operation of the active-vertex model class included. It is much simpler than the Voronoi branch!