FEM2D_PACK is a FORTRAN77 library which can help in implementing the finite element method.
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 GNU LGPL license.
DUNAVANT is a FORTRAN90 library which defines Dunavant rules for quadrature on a triangle.
FEKETE is a FORTRAN90 library which defines Fekete rules for interpolation or quadrature on a triangle.
FEM is a data directory which contains a description and examples of files that describe a finite element model.
FEM_50 is a MATLAB program which implements a finite element calculation in just 50 lines of code.
FEM_50_HEAT is a MATLAB program which implements a finite element calculation specifically for the heat equation.
FEM_BASIS_T3_DISPLAY is a MATLAB program which displays a basis function associated with a linear triangle ("T3") mesh.
FEM_BASIS_T6_DISPLAY is a MATLAB program which displays a basis function associated with a quadratic triangle ("T6") mesh.
FEM_IO is a FORTRAN90 library which reads or writes node, element and data files defining a finite element model.
FEM_TO_TEC is a MATLAB program which converts FEM models into TEC graphics files.
FEM1D is a FORTRAN77 program which applies the finite element method to a 1D linear two point boundary value problem.
FEM1D_ADAPTIVE is a FORTRAN77 program which applies the finite element method to a 1D linear two point boundary value problem using adaptive refinement to improve the solution.
FEM1D_NONLINEAR is a FORTRAN77 program which applies the finite element method to a 1D nonlinear two point boundary value problem.
FEM1D_PMETHOD is a FORTRAN77 program which applies the p-method version of the finite element method to a 1D linear two point boundary value problem.
FEM2D_HEAT is a FORTRAN90 program which solves the 2D time dependent heat equation on the unit square.
FEM2D_POISSON is a FORTRAN90 program which solves the 2D Poisson equation on a square, using the finite element method.
FEM2D_SAMPLE is a FORTRAN77 library which evaluates a finite element function defined on an order 3 or order 6 triangulation.
FEM2D_PACK is available in a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
FREE_FEM_HEAT is a FORTRAN90 program which uses the finite element method and the backward Euler method to solve the 2D time-dependent heat equation on an arbitrary triangulated region.
FREE_FEM_NAVIER_STOKES is a FORTRAN90 program which solves the 2D incompressible Navier Stokes equations in an arbitrary triangulated region.
FREE_FEM_POISSON is a FORTRAN90 program which solves Poisson's equation on a triangulated region, using the finite element method.
FREE_FEM_STOKES is a FORTRAN90 program which solves the 2D incompressible Stokes equations in an arbitrary triangulated region.
HOT_PIPE is a MATLAB program which uses FEM_50_HEAT to solve the heat equation for a pipe model.
HOT_POINT is a MATLAB program which uses FEM_50_HEAT to solve the heat equation for a 2D region with a hot point.
MESH_BANDWIDTH is a FORTRAN90 program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.
POLYGONAL_SURFACE is a data directory which contains a description of the data files that can be used to describe a polygonal surface. FEM2D_PACK includes routines for creating a polygonal surface grid of a sphere.
TRIANGULATION_ORDER3 is a data directory which contains a description and examples of order 3 (linear) triangulations.
TRIANGULATION_ORDER6 is a data directory which contains a description and examples of an order 6 triangulation.
TRIANGULATION_ORDER6_CONTOUR is a MATLAB program which makes contour plots of data defined on an order 6 triangulation.
WANDZURA is a FORTRAN90 library which defines Wandzura rules for quadrature on a triangle.
You can go up one level to the FORTRAN77 source codes.