Grains3DGPU is a high-performance simulation framework for modeling the dynamics of granular materials using the Discrete Element Method (DEM) accelerated by Graphics Processing Units (GPUs). It supports complex particle shapes, advanced collision detection algorithms, and multi-GPU setups for large-scale simulations.
- GPU Acceleration: Leverages CUDA for high-performance parallel computing, enabling large-scale simulations.
- Advanced Collision Detection: Implements Nesterov-accelerated GJK algorithm for accurate and efficient collision detection.
- Support for Complex Particle Shapes: Simulates non-spherical particles, including superquadrics and polyhedra.
- Multi-GPU Support: Distributes workload across multiple GPUs for even larger and more complex simulations.
- User-Friendly API: Intuitive interface for configuring simulations and retrieving results.
- CUDA Toolkit: Version 11.0 or higher.
- NVIDIA GPU: Compute Capability 7.5 or higher is recommended.
- C++ Compiler: GCC or MSVC compatible with C++17.
- Python: For optional scripting and visualization support (version 3.6 or higher).
-
Clone the repository:
git clone https://github.com/AliRY95/Grains3DGPU cd Grains3DGPU -
Build the project:
mkdir build cd build cmake .. make