An efficient way to assemble finite element matrices in vector languages
Efficient Matlab codes in 2D and 3D have been proposed recently to assemble finite element matrices. In this paper we present simple, compact and efficient vectorized algorithms, which are variants of these codes, in arbitrary dimension, without the use of any lower level language. They can be easil...
Saved in:
| Published in | BIT Vol. 56; no. 3; pp. 833 - 864 |
|---|---|
| Main Authors | , , |
| Format | Journal Article |
| Language | English |
| Published |
Dordrecht
Springer Netherlands
01.09.2016
Springer Nature B.V |
| Subjects | |
| Online Access | Get full text |
| ISSN | 0006-3835 1572-9125 |
| DOI | 10.1007/s10543-015-0587-4 |
Cover
| Summary: | Efficient Matlab codes in 2D and 3D have been proposed recently to assemble finite element matrices. In this paper we present simple, compact and efficient vectorized algorithms, which are variants of these codes, in arbitrary dimension, without the use of any lower level language. They can be easily implemented in many vector languages (e.g. Matlab, Octave, Python, R, Julia, Scilab, C++ with STL,...). The principle of these techniques is general, we present it for the assembly of several finite element matrices in arbitrary dimension, in the
P
1
finite element case. We also provide an extension of the algorithms to the case of a system of PDE’s. Then we give an extension to piecewise polynomials of higher order. We compare numerically the performance of these algorithms in Matlab, Octave and Python, with that in FreeFEM++ and in a compiled language such as C. Examples show that, unlike what is commonly believed, the performance is not radically worse than that of C : in the best/worst cases, selected vector languages are respectively 2.3/3.5 and 2.9/4.1 times slower than C in the scalar and vector cases. We also present numerical results which illustrate the computational costs of these algorithms compared to standard algorithms and to other recent ones. |
|---|---|
| Bibliography: | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ISSN: | 0006-3835 1572-9125 |
| DOI: | 10.1007/s10543-015-0587-4 |