Mapping Cohesive Fracture and Fragmentation Simulations to Graphics Processor Units |
| |
Authors: | A. Alhadeff W. Celes G. H. Paulino |
| |
Affiliation: | 1. Tecgraf/PUC‐Rio Computer Science Department, Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil;2. Department of Civil and Environmental Engineering, University of Illinois at Urbana‐Champaign, Urbana, IL, USA |
| |
Abstract: | A graphics processor units(GPU)‐based computational framework is presented to deal with dynamic failure events simulated by means of cohesive zone elements. The work is divided into two parts. In the first part, we deal with pre‐processing of the information and verify the effectiveness of dynamic insertion of cohesive elements in large meshes in parallel. To this effect, we employ a novel and simplified topological data structure specialized for meshes with triangles, designed to run efficiently and minimize memory occupancy on the GPU. In the second part, we present a parallel explicit dynamics code that implements an extrinsic cohesive zone formulation where the elements are inserted ‘on‐the‐fly’, when needed and where needed. The main challenge for implementing a GPU‐based computational framework using an extrinsic cohesive zone formulation resides on being able to dynamically adapt the mesh, in a consistent way, by inserting cohesive elements on fractured facets. In order to handle that, we extend the conventional data structure used in the finite element method (based on element incidence) and store, for each element, references to the adjacent elements. This additional information suffices to consistently insert cohesive elements by duplicating nodes when needed. Currently, our data structure is specialized for triangular meshes, but an extension to tetrahedral meshes is feasible. The data structure is effective when used in conjunction with algorithms to traverse nodes and elements. Results from parallel simulations show an increase in performance when adopting strategies such as distributing different jobs among threads for the same element and launching many threads per element. To avoid concurrency on accessing shared entities, we employ graph coloring. In a pre‐processing phase, each node of the dual graph (bulk elements of the mesh as graph nodes) is assigned a color different from the colors assigned to adjacent nodes. In that fashion, elements of the same color can be processed in parallel without concurrency. All the procedures needed for the insertion of cohesive elements along fracture facets and for computing nodal properties are performed by threads assigned to triangles, invoking one kernel per color. Computations on existing cohesive elements are also performed based on adjacent bulk elements. Experiments show that GPU speedup increases with the number of nodes and bulk elements. Copyright © 2015 John Wiley & Sons, Ltd. |
| |
Keywords: | fragmentation simulation many‐core CUDA finite element method cohesive elements |
|
|