3D Finite Element Method Utility Library

FEM3D_PACK, a C++ library which contains utilities for 3D finite element method (FEM) 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:

Last revised on 06 March 2020