This repository contains the reference implementation of the Swelling and Random Migration (SRM) algorithm for generating non-overlapping particle assemblies in two and three dimensions. The SRM method is a collective-rearrangement algorithm designed to efficiently construct microstructures with different volume fractions of particles. Detailed description can be found at: arXiv:2605.18254
- Efficient generation of large RVEs (up to millions of particles for simple shapes).
- Support for spheres, disks, and extension to other shapes via custom collision functions.
- Periodic boundary conditions.
- Cell-based neighbor search for computational efficiency.
gfortran -O3 -o SRM SRM_2D.f90
If you use SRM algorithm in academic work, please cite: S. Tarasovs (2026). Efficient generation of large-scale non-equilibrium distributions of particles, arXiv preprint, arXiv:2605.18254
