3D Finite Element Method Utility Library

FEM3D_PACK is a C++ library which contains utility routines for 3D finite element calculations.


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


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

Related Data and Programs:

FEM_BASIS, a C++ library 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.)

FEM1D_PACK, a C++ library which contains utilities for 1D finite element calculations.

FEM2D_PACK, a C++ library which contains utilities for finite element calculations.

FEM3D, a data directory which contains examples of 3D FEM files, three text files that describe a 3D finite element geometry;

FEM3D_PROJECT, a C++ program which projects a function F(X,Y,Z), given as a data, into a given finite element space of piecewise linear tetrahedral elements.

FEM3D_SAMPLE, a C++ program which evaluates a finite element function defined on 3D tetrahedral mesh.


  1. Claudio Rocchini, Paolo Cignoni,
    Generating Random Points in a Tetrahedron,
    Journal of Graphics Tools,
    Volume 5, Number 4, 2000, pages 9-12.
  2. Reuven Rubinstein,
    Monte Carlo Optimization, Simulation and Sensitivity of Queueing Networks,
    Krieger, 1992,
    ISBN: 0894647644,
    LC: QA298.R79.
  3. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Cambridge, 1973,
    ISBN: 096140888X,
    LC: TA335.S77.
  4. Olgierd Zienkiewicz,
    The Finite Element Method,
    Sixth Edition,
    Butterworth-Heinemann, 2005,
    ISBN: 0750663200,
    LC: TA640.2.Z54.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 02 March 2010.