View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Fast assembly of stiffness and matrices in finite element method using nodal elements

4.5 | 2 ratings Rate this file 31 Downloads (last 30 days) File Size: 845 KB File ID: #27826 Version: 1.15
image thumbnail

Fast assembly of stiffness and matrices in finite element method using nodal elements


Jan Valdman (view profile)


03 Jun 2010 (Updated )

vectorization of FEM matrices assembly

| Watch this File

File Information

This code demonstrates vectorization concepts from the paper:
Talal Rahman and Jan Valdman: Fast MATLAB assembly of FEM matrices in 2D and 3D: nodal elements, Applied Mathematics and Computation 219, 7151–7158 (2013).
A link to the paper can be found at the author web page located at
Please cite the paper if you find the code useful.
Description; To run the code, call
"start_assembly_P1_3D" or "start_assembly_P1_2D"
in the Matlab window to perform tests for nodal P1 (linear) elements defined on 2D triangular or 3D tetrahedral mesh. For a given mesh, mass and stiffness matrices are generated in a fast vectorized way.

Functionality is extended to generate mass and stiffness matrices for a (vector) linear elasticity problem.

To run the code, call

"start_assembly_P1_3D_elasticity" or "start_assembly_P1_2D_elasticity".

Tien Dat Ngo (EFPL Lausanne) added assembly of stiffness matrices in linear elasticity for linear elements on a hexahedral mesh

To run the code, call


If you are new to a Matlab vectorization, you can call


to see that the vectorized code beats the serial version in the computation of triangular areas.


This file inspired Thermo Magnetic Solver, Calc Meshdata, Obstacle Problem In 2 D And Its Aposteriori Error Estimate, Fast Assembly Of Stiffness And Matrices In Finite Element Method Using Edge Elements, Quadrature Of The Absolute Value Of A Function, and Continuum Undergoing Combined Elasto Plasto Damage Transformation..

MATLAB release MATLAB 8.4 (R2014b)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
06 Nov 2016 put kanakasem

20 Mar 2015 George Papazafeiropoulos

10 Jul 2010 1.1

2D functionality added

16 Sep 2010 1.2

added start_calculate_areas

17 Feb 2011 1.3

tested for both linux and windows

02 Mar 2011 1.4

report link add, extended to work for linear elasticity

19 Mar 2013 1.10

Paper information added

17 Dec 2013 1.11

Q1 assembly in 3D for linear elasticity added thanks to Tien Dat Ngo.

16 May 2014 1.12

improved description

07 Mar 2015 1.13

paper info completed

05 Sep 2015 1.14

new functionality added: elementwise constant coefficients

23 Oct 2016 1.14

P0 coefficients added to assemblies of mass matrices in both 2D and 3D

27 Oct 2016 1.15

P1 coefficients for mass matrices (both 2D and 3D) added

Contact us