PhasicFlow: A parallel, multi-architecture open-source code for DEM simulations
PhasicFlow is an open-source code for DEM simulations developed in C++, licensed under GPL V-3.0 [www.github.com/PhasicFlow/phasicFlow]. It is parallelized based on shared-memory model and can be executed on multi-core CPUs or GPUs. The philosophy of its development is to provide an efficient, easy-to-use, and easy-to-extend tool for a wide range of hardware including cheap to high-end desktop computers. Here, the code structure, the most important features, its performance for simulating small to large problems (250,000 to 80,000,000 particles) on various hardware are presented. In all cases, the execution time varied linearly with number of particles that is ideal for DEM. The computation load per particle was almost constant for all problem sizes except for small simulations (higher). For CPU simulations, a good scaling was observed with number of cores, and scaling was closer to ideal state for larger simulations. The performance of PhasicFlow was compared with similar tools, wherever possible. It was shown that the performance of PhasicFlow is much higher than the similar tools in CPU execution mode and it is around 10–15% faster than similar tools in GPU execution mode. This new tool broadens the application of computer simulation to larger problems and allows researchers to perform DEM simulations on a wider range of hardware.