— Computer simulations of complex systems such as physical aggregation processes or swarming and collective behaviour of life-forms, often require order N-squared computational complexity for N microscopic components. This is a significant handicap to simulating systems large enough to compare with real-world experimental data. We discuss space partitioning methods for two such simulation codes and demonstrate complexity improvements by taking advantage of information about locations and interaction distances of the microscopic model components. We present results for a diffusion limited cluster-cluster aggregation code and for an artificial life simulation code. We discuss the data structures necessary to support such algorithms and show how they can be implemented to obtain high performance and maximal simulation productivity for a given computational resource. There are some subtleties in whether such spatial partitioning algorithms should produce a computational complexity of N...
Kenneth A. Hawick, Heath A. James, C. J. Scogings