Explicit time domain finite element codes are widely used for the simulation of varied phenomena typically involving shock and wave-propagation. The explicit formulation of transient finite element analysis has been extensively used to calculate ship and submarine response to underwater explosions, response of buildings and underground structures to explosive threats, and to simulate ultrasound wave propagation with a view to designing transducers or simulate medical diagnostic and therapeutic modalities. Accurately representing the underlying physics in these real-world problems typically requires using finite element models with several million elements and a stable timestep of the order of microseconds. Run times ranging from hours to a few weeks for a single load case are not unusual. Reduction of these run-times is therefore critical for time bound projects, to reduce the time to market, and to eliminate expensive physical prototypes by analyzing a multitude of load cases. In recent years, driven by consumer demand from the computer game industry, there has been a tremendous increase in computation power present on commercially available graphics processing units (GPUs). With close to a Tera-flop of computational capacity currently available on a single graphics card as a result of massive parallelism, this represents a computational capacity which is approximately 10 times that of a 3.2GHz Intel CPU. Explicit finite element simulations are ideally suited to computation on graphics cards because they utilize repeated independent computations. Using vendor provided compiler frameworks such as NVIDIA's CUDA, explicit finite element codes can be modified to utilize graphics cards for computation. Using two and three dimensional examples from acoustics, we demonstrate that commercial GPUs can be used to accelerate explicit finite element computations by more than an order of magnitude and discuss the speed up obtained using single or double precision on GPUs.
展开▼