An efficient way to perform the assembly of finite element matrices in Matlab and Octave - Archive ouverte HAL
Rapport (Rapport De Recherche) Année : 2013

An efficient way to perform the assembly of finite element matrices in Matlab and Octave

Résumé

We describe different optimization techniques to perform the assembly of finite element matrices in Matlab and Octave, from the standard approach to recent vectorized ones, without any low level language used. We finally obtain a simple and efficient vectorized algorithm able to compete in performance with dedicated software such as FreeFEM++. The principle of this assembly algorithm is general, we present it for different matrices in the P1 finite elements case and in linear elasticity. We present numerical results which illustrate the computational costs of the different approaches
L'objectif est de décrire différentes techniques d'optimisation, sous Matlab/Octave, de routines d'assemblage de matrices éléments finis, en partant de l'approche classique jusqu'aux plus récentes vectorisées, sans utiliser de langage de bas niveau. On aboutit au final à une version vectorisée rivalisant, en terme de performance, avec des logiciels dédiés tels que FreeFEM++. Les descriptions des différentes méthodes d'assemblage étant génériques, on les présente pour différentes matrices dans le cadre des éléments finis P1-Lagrange en dimension 2 et en élasticité linéaire. Des résultats numériques sont donnés pour illustrer les temps calculs des méthodes proposées.
Fichier principal
Vignette du fichier
RR-8305.pdf (826.85 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00785101 , version 1 (05-02-2013)
hal-00785101 , version 2 (14-05-2013)

Identifiants

Citer

François Cuvelier, Caroline Japhet, Gilles Scarella. An efficient way to perform the assembly of finite element matrices in Matlab and Octave. [Research Report] RR-8305, INRIA. 2013, pp.40. ⟨hal-00785101v2⟩
644 Consultations
7485 Téléchargements

Altmetric

Partager

More