Simulation of Active Brownian Particles (ABP) in two dimensions
This project is maintained by sknepneklab
This is the GitHub repository for a series of three tutorial on implementing a simulation of Active Brownian Particles (ABP) in two dimensions. These tutorial were delivered as a part of the KITP ACTIVE20 virtual programme.
Rastko Sknepnek, University of Dundee, United Kingdom
Daniel Matoz-Fernandez, Northwestern University, USA
This tutorial consists of three sessions:
In the first session, we cover the key components of a particle-based simulation. We then implement in Python a simple 2D simulation of self-propelled soft particles subject to polar alignment.
Accompanied course material can be found in Session 1.
In this tutorial, we cover how to significantly improve performance of the ABP simulation we developed in Session 1 by implementing the computation-heavy parts of the code in C++. We also show how to use pybind11 library to expose the low-level C++ code to Python, without loosing the convenience of working with Python.
Accompanied course material can be found in Session 2.
In the final tutorial, we cover basics of GPGPU programming and show how to further improve the performance of the code by utilising the immense computational power of modern GPUs.
Accompanied course material can be found in Session 3.
Please follow the instructions detailed here.