fem2d_pack, a MATLAB code which contains utilities for implementing the finite element method (FEM).

The emphasis is on simplicity and clarity. Only the 2D case is handled, with a choice of low order triangular and quadrilateral elements.

A few routines are included for computing a "sphere grid", that is, a finite element mesh on the surface of a sphere.


The computer code and data files described and made available on this web page are distributed under the MIT license


fem2d_pack is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

fem_basis, a MATLAB code which can define and evaluate basis functions for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)

fem_io, a MATLAB code which reads or writes the node, element and data files that define a finite element model.

fem1d_pack, a MATLAB code which contains utilities for 1D finite element calculations.

fem2d, a data directory which contains examples of 2D FEM files, text files that describe a 2D finite element geometry and associated nodal values;

fem2d_heat, a MATLAB code which solves the time dependent heat equation in the unit square.


fem2d_poisson_rectangle_linear, a MATLAB code which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.

fem2d_sample, a MATLAB code which evaluates a finite element function defined on an order 3 or order 6 triangulation.

fem3d_pack, a MATLAB code which contains utilities for 3D finite element calculations.


  1. Milton Abramowitz, Irene Stegun,
    Handbook of Mathematical Functions,
    National Bureau of Standards, 1964,
    ISBN: 0-486-61272-4,
    LC: QA47.A34.
  2. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1.
  3. Vladimir Krylov,
    Approximate Calculation of Integrals,
    Dover, 2006,
    ISBN: 0486445798.
  4. Hans Rudolf Schwarz,
    Finite Element Methods,
    Academic Press, 1988,
    ISBN: 0126330107,
    LC: TA347.F5.S3313.
  5. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Cambridge, 1973,
    ISBN: 096140888X,
    LC: TA335.S77.
  6. Arthur Stroud,
    Approximate Calculation of Multiple Integrals,
    Prentice Hall, 1971,
    ISBN: 0130438936,
    LC: QA311.S85.
  7. Arthur Stroud, Don Secrest,
    Gaussian Quadrature Formulas,
    Prentice Hall, 1966,
    LC: QA299.4G3S7.
  8. Olgierd Zienkiewicz,
    The Finite Element Method,
    Sixth Edition,
    Butterworth-Heinemann, 2005,
    ISBN: 0750663200,
    LC: TA640.2.Z54
  9. Daniel Zwillinger, editor,
    CRC Standard Mathematical Tables and Formulae,
    30th Edition,
    CRC Press, 1996,
    ISBN: 0-8493-2479-3.

Source Code:

Last revised on 06 April 2019.