Table of Contents
Fetching ...

Portable, Massively Parallel Implementation of a Material Point Method for Compressible Flows

Paolo Joseph Baioni, Tommaso Benacchio, Luigi Capone, Carlo de Falco

TL;DR

This work presents a portable, GPU-accelerated Material Point Method (MPM) solver for compressible gas dynamics, designed to be performance-portable across CUDA, HIP, and CPU backends using Thrust. It couples Lagrangian material points with a background Cartesian grid through P2G/G2P mappings, augmented by four generalized kernels (P2G, G2P, P2GD, G2PD) and obstacle handling via a signed distance function, all within an explicit time-stepping framework constrained by the CFL condition. The authors demonstrate stability and accuracy on Sod shock tube, supersonic cylinder, and transonic aerofoil benchmarks, and provide a detailed study of artificial viscosity, resolution effects, and scalability. They show that G2P and P2G are the main drivers of performance, that data locality can yield substantial speed-ups, and that the approach remains competitive across CPU and multi-vendor GPU architectures, paving the way for monolithic MPM solvers for Fluid-Structure Interaction across Mach numbers.

Abstract

The recent evolution of software and hardware technologies is leading to a renewed computational interest in Particle-In-Cell (PIC) methods such as the Material Point Method (MPM). Indeed, provided some critical aspects are properly handled, PIC methods can be cast in formulations suitable for the requirements of data locality and fine-grained parallelism of modern hardware accelerators such as Graphics Processing Units (GPUs). Such a rapid and continuous technological development increases also the importance of generic and portable implementations. While the capabilities of MPM on a wide range continuum mechanics problem have been already well assessed, the use of the method in compressible fluid dynamics has received less attention. In this paper we present a portable, highly parallel, GPU based MPM solver for compressible gas dynamics. The implementation aims to reach a good compromise between portability and efficiency in order to provide a first assessment of the potential of this approach in solving strongly compressible gas flow problems, also taking into account solid obstacles. The numerical model considered constitutes a first step towards the development of a monolithic MPM solver for Fluid-Structure Interaction (FSI) problems at all Mach numbers up to the supersonic regime.

Portable, Massively Parallel Implementation of a Material Point Method for Compressible Flows

TL;DR

This work presents a portable, GPU-accelerated Material Point Method (MPM) solver for compressible gas dynamics, designed to be performance-portable across CUDA, HIP, and CPU backends using Thrust. It couples Lagrangian material points with a background Cartesian grid through P2G/G2P mappings, augmented by four generalized kernels (P2G, G2P, P2GD, G2PD) and obstacle handling via a signed distance function, all within an explicit time-stepping framework constrained by the CFL condition. The authors demonstrate stability and accuracy on Sod shock tube, supersonic cylinder, and transonic aerofoil benchmarks, and provide a detailed study of artificial viscosity, resolution effects, and scalability. They show that G2P and P2G are the main drivers of performance, that data locality can yield substantial speed-ups, and that the approach remains competitive across CPU and multi-vendor GPU architectures, paving the way for monolithic MPM solvers for Fluid-Structure Interaction across Mach numbers.

Abstract

The recent evolution of software and hardware technologies is leading to a renewed computational interest in Particle-In-Cell (PIC) methods such as the Material Point Method (MPM). Indeed, provided some critical aspects are properly handled, PIC methods can be cast in formulations suitable for the requirements of data locality and fine-grained parallelism of modern hardware accelerators such as Graphics Processing Units (GPUs). Such a rapid and continuous technological development increases also the importance of generic and portable implementations. While the capabilities of MPM on a wide range continuum mechanics problem have been already well assessed, the use of the method in compressible fluid dynamics has received less attention. In this paper we present a portable, highly parallel, GPU based MPM solver for compressible gas dynamics. The implementation aims to reach a good compromise between portability and efficiency in order to provide a first assessment of the potential of this approach in solving strongly compressible gas flow problems, also taking into account solid obstacles. The numerical model considered constitutes a first step towards the development of a monolithic MPM solver for Fluid-Structure Interaction (FSI) problems at all Mach numbers up to the supersonic regime.
Paper Structure (16 sections, 34 equations, 21 figures, 1 algorithm)

This paper contains 16 sections, 34 equations, 21 figures, 1 algorithm.

Figures (21)

  • Figure 1: Example template function to demonstrate the approach used to implement the G2P kernel. This is not the actual code used but a conceptualised, reduced example to explain the basic idea. In particular note that in this simplified snippet (and some of the following) we use, for sake of simplicity of presentation, standard pointers, while the actual implementation uses some form of iterator.
  • Figure 2: Instantiation of a callable object that implements grid to particle interpolation of the $x$--component of the velocity. This is not the actual code used but a conceptualised, reduced example to explain the basic idea. In the code above, the purpose of the callable object pointed to by x_velocity is to compute on--the--fly a function of the state variables at a grid vertex, so that its value can be interpolated at the particle locations without requiring extra storage or data transfers.
  • Figure 3: Example of performing an actual G2P operation by iterating over all particles by means of the for_each method and counting iterators.
  • Figure 4: Example template function to demonstrate the approach used to implement the G2P kernel. This is not the actual code used but a conceptualised, reduced example to explain the basic idea. In particular note that in this simplified snippet (and some of the following) we use, for sake of simplicity of presentation, standard pointers, while the actual implementation uses some form of iterator.
  • Figure 5: Sod Shock Tube: comparison of MPM solution computed on particles, interpolated on the grid, and exact solution computed as in Toro
  • ...and 16 more figures