Implementation of Peridynamics utilizing HPX -- the C++ standard library for parallelism and concurrency
Peridynamics is a non-local generalization of continuum mechanics tailored to address discontinuous displacement fields arising in fracture mechanics. As many non-local approaches, peridynamics requires considerable computing resources to solve practical problems. Several implementations of peridynamics utilizing CUDA, OpenCL, and MPI were developed to address this important issue. On modern supercomputers, asynchronous many task systems are emerging to address the new architecture of computational nodes. This paper presents a peridynamics EMU nodal discretization implementation with the C++ Standard Library for Concurrency and Parallelism (HPX), an open source asynchronous many task run time system. The code is designed for modular expandability, so as to simplify it to extend with new material models or discretizations. The code is convergent for implicit time integration and recovers theoretical solutions. Explicit time integration, convergence results are presented to showcase the agreement of results with theoretical claims in previous works. Two benchmark tests on code scalability are applied demonstrating agreement between this code's scalability and theoretical estimations.
READ FULL TEXT