  Recently, there has been much progress in the formulation and implementation
of methods for generic many-particle simulations. These models, however,
typically either do not utilize shared memory hardware or do not guarantee
data-race freedom for arbitrary particle dynamics. Here, we present both a
abstract formal model of particle dynamics and a corresponding domain-specific
programming language that can guarantee data-race freedom. The design of both
the model and the language are heavily inspired by the Rust programming
language that enables data-race-free general-purpose parallel computation. We
also present a method of preventing deadlocks within our model by a suitable
graph representation of a particle simulation. Finally, we demonstrate the
practicability of our model on a number of common numerical primitives from
molecular dynamics.
