fem2d_pack, a Fortran77 code which can help in implementing the finite element method (FEM).
The emphasis is on simplicity and clarity. Primarily, the 2D planar case is handled, with a choice of low order triangular ("T") and quadrilateral ("Q") 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 and an Octave version.
fem_basis, a Fortran77 library which can define basis functions for the finite element method (FEM) for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
FEM2D, a data directory which contains examples of 2D FEM files, three text files that describe a 2D finite element geometry;
FEM2D_HEAT, a Fortran90 program which solves the 2D time dependent heat equation on the unit square.
FEM2D_POISSON, a Fortran90 program which solves the 2D Poisson equation on a square, using the finite element method.
FEM2D_SAMPLE, a Fortran77 library which evaluates a finite element function defined on an order 3 or order 6 triangulation.
MESH_BANDWIDTH, a Fortran77 program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.