We propose a MATLAB implementation of the P 1 finite element method for the numerical solutions of the Poisson problem and the linear elasticity problem in two-dimensional (2D) and three-dimensional (3D). The code consists of vectorized (and short) assembling functions for the matrices (mass and stiffness) and the right-hand sides. Since for the P 1 finite element, the element mass matrix and right-hand side are simple, the implementation uses only the MATLAB function sparse on the elements volume. For the stiffness matrix, to obtain a MATLAB implementation close to the standard form, cell-arrays are used to store the gradients of the element basis functions. The assembling procedure can then use matrix/vector products on small size cell-arrays. Numerical experiments show that our implementation is fast and scalable with respect to time.
Koko J., Fast MATLAB assembly of FEM matrices in 2D and 3D using cell-array approach, International Journal of Modeling, Simulation, and Scientific Computing Vol. 7, No. 3 (2016)
Jonas Koko (2020). Fast MATLAB assembling functions for 2D/3D FEM Matrices (https://www.mathworks.com/matlabcentral/fileexchange/59616-fast-matlab-assembling-functions-for-2d-3d-fem-matrices), MATLAB Central File Exchange. Retrieved .