Generalized Finite Element Method Computation Parallelization Using Python Multiprocessing Packag
Abstract
The Generalized Finite Element Method (GFEM) is a partition of unity (PU) based approach that explores a mesh of elements to construct shape functions by enrichment of the PU using polynomial or special purpose functions. The shape functions are attached to a node, center of a domain ('cloud') defined by the elements sharing that node. In spite of the nodal aspect, it is possible to verify that the GFEM programming follows the same framework of the Finite Element Method (FEM) programming, i.e., the governing equations system of a problem is assembled by element contributions. Even though the required meshes in the GFEM are in general coarser than the ones used in the FEM, the computing of the enriched element stiffness matrix is usually time expensive.
Nevertheless, the computing of each local matrix is totally independent and so parallelization of these computations is straightforward and can be naturally explored. The hereby presented article describes a simple tool for Python codes parallelization by means of its standard library package 'Multiprocessing', which provides high level functions for parallel programming. The parallelization of the GFEM local stiffness matrix computations for two dimensional analyses is described, showing that it requires just a few changes in the original sequential code. The performance of the parallelization tool when tested on different computer architectures are shown to be very attractive.
One concludes that the use of Python and Multiprocessing package is an efficient alternative for parallel programming.
Nevertheless, the computing of each local matrix is totally independent and so parallelization of these computations is straightforward and can be naturally explored. The hereby presented article describes a simple tool for Python codes parallelization by means of its standard library package 'Multiprocessing', which provides high level functions for parallel programming. The parallelization of the GFEM local stiffness matrix computations for two dimensional analyses is described, showing that it requires just a few changes in the original sequential code. The performance of the parallelization tool when tested on different computer architectures are shown to be very attractive.
One concludes that the use of Python and Multiprocessing package is an efficient alternative for parallel programming.
Full Text:
PDFAsociación Argentina de Mecánica Computacional
Güemes 3450
S3000GLN Santa Fe, Argentina
Phone: 54-342-4511594 / 4511595 Int. 1006
Fax: 54-342-4511169
E-mail: amca(at)santafe-conicet.gov.ar
ISSN 2591-3522