Parallelization of a finite element Fortran code using OpenMP library

A finite element analysis code FEAP is parallelized using the OpenMP library, and the performance is evaluated. The essential concepts of the OpenMP for the implementation of the parallelization are described and then our parallelization procedures are presented. The skeleton of FEAP is analyzed and the subroutines that need to be parallelized are identified. Then, the general procedures to declare the parallel variables are explained and synchronization, which is necessary for parallelization, is described. Using the parallelized FEAP code, several examples are solved, and the accuracies and the numerical efficiencies are investigated.

[1]  Ted Belytschko,et al.  Finite Elements, An Introduction , 1982 .

[2]  R. M. Bowen,et al.  Introduction to Continuum Mechanics for Engineers , 1989 .

[3]  Stefan Goedecker Optimization and parallelization of a force field for silicon using OpenMP ? ? This program can be d , 2002 .

[4]  Olivier Pantalé,et al.  Parallelization of an object-oriented FEM dynamics code: influence of the strategies on the Speedup , 2005, Adv. Eng. Softw..

[5]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[6]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[7]  Raphaël Couturier,et al.  Parallel molecular dynamics using OPENMP on a shared memory machine , 2000 .

[8]  Xiong Zhang,et al.  Shared Memory OpenMP Parallelization of Explicit MPM and Its Application to Hypervelocity Impact , 2008 .

[9]  P. Jarzebski,et al.  On parallelization of the loop over elements in FEAP , 2015 .

[10]  G. E. Mase,et al.  Continuum Mechanics for Engineers , 1991 .

[11]  K. Bathe Finite Element Procedures , 1995 .

[12]  Eduard Ayguadé,et al.  Employing nested OpenMP for the parallelization of multi-zone computational fluid dynamics applications , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[13]  María J. Martín,et al.  High Performance Air Pollution Simulation Using OpenMP , 2004, The Journal of Supercomputing.

[14]  Edward L. Turner,et al.  A parallel CFD rotor code using OpenMP , 2001 .

[15]  Mitsuhisa Sato,et al.  Design of OpenMP Compiler for an SMP Cluster , 1999 .

[16]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .