# FEM1D Piecewise Linear Finite Element Method for 1D problem.

FEM1D is a FORTRAN77 program which applies the finite element method (FEM) to a linear two point boundary value problem (BVP) in one spatial dimension.

### Licensing:

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

### Languages:

FEM1D is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

FEM1D, a data directory which contains examples of 1D FEM files, three text files that describe a 1D finite element model;

FEM1D_ADAPTIVE, a FORTRAN77 program which applies the finite element method to a linear two point boundary value problem in a 1D region, using adaptive refinement to improve the solution.

FEM1D_BVP_LINEAR, a FORTRAN77 program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension.

FEM1D_LAGRANGE, a FORTRAN77 library which sets up the matrices and vectors associated with the finite element method (FEM) solution of a boundary value problem (BVP) -u''+u=f(x), using Lagrange basis polynomials.

FEM1D_NONLINEAR, a FORTRAN77 program which applies the finite element method to a nonlinear two point boundary value problem in a 1D region.

FEM1D_PMETHOD, a FORTRAN77 program which applies the p-method version of the finite element method to a linear two point boundary value problem in a 1D region.

FEM1D_PROJECT, a FORTRAN77 program which projects data into a finite element space, including the least squares approximation of data, or the projection of a finite element solution from one mesh to another.

FEM1D_SAMPLE, a FORTRAN77 program which samples a scalar or vector finite element function of one variable, defined by FEM files; returning interpolated values at the sample points.

### Reference:

1. Hans Rudolf Schwarz,
Finite Element Methods,
Academic Press, 1988,
ISBN: 0126330107,
LC: TA347.F5.S3313..
2. Gilbert Strang, George Fix,
An Analysis of the Finite Element Method,
Cambridge, 1973,
ISBN: 096140888X,
LC: TA335.S77.
3. Olgierd Zienkiewicz,
The Finite Element Method,
Sixth Edition,
Butterworth-Heinemann, 2005,
ISBN: 0750663200,
LC: TA640.2.Z54

### List of Routines:

• MAIN is the main program for FEM1D.
• ASSEMB assembles the matrix and the right-hand-side.
• FF evaluates the function F in the differential equation.
• GEOMET sets up the geometry for the interval [XL,XR].
• INIT assigns values to variables which define the problem.
• OUTPUT prints out the computed solution.
• PHI evaluates a linear basis function and its derivative.
• PP evaluates the function P in the differential equation:
• PRSYS prints out the tridiagonal linear system.
• QQ evaluates the function Q in the differential equation.
• SOLVE solves a tridiagonal matrix system of the form A*x=b.

You can go up one level to the FORTRAN77 source codes.

Last revised on 31 October 2006.