FEM1D
Piecewise Linear Finite Element Method for 1D problem.


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

Usage:

fem1d
runs the program.

Licensing:

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

Related Data and Programs:

FEM is a data directory which contains a description of the data files that can be used to describe a finite element model.

FEM_50 is a MATLAB program which implements the finite element method in just 50 lines of code.

FEM_50_HEAT is a MATLAB program which is a modified version of FEM_50 suitable for solving 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 the node, element and data files that define a finite element model.

FEM_TO_TEC is a MATLAB program which can convert an FEM model into a TEC graphics file.

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

FEM1D_ADAPTIVE is 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_NONLINEAR is a FORTRAN77 program which applies the finite element method to a nonlinear two point boundary value problem in a 1D region.

FEM1D_PMETHOD is 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 is 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.

FEM2D_HEAT is a FORTRAN90 program which solves the time dependent heat equation on the unit square.

FEM2D_POISSON is a FORTRAN90 program which solves Poisson's equation on a square, using the finite element method.

FEMPACK is a FORTRAN90 library which is useful for finite element calculations.

FFNS_SPARSE is a MATLAB program which solves the steady incompressible Navier Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

FFS_SPARSE is a MATLAB version of FREE_FEM_STOKES which uses MATLAB's sparse matrix storage, factorization and solution techniques.

FLOW3 is a FORTRAN90 program which solves steady incompressible Navier Stokes equations in 2D using the finite element method.

FLOW5 is a FORTRAN90 program which solves steady incompressible Navier Stokes equations in 2D using the finite element method.

FLOW7 is a FORTRAN90 program for solving steady incompressible Navier Stokes equations in 2D using the finite element method.

FREE_FEM_HEAT is a FORTRAN90 program which uses the finite element method and the backward Euler method to solve the time-dependent heat equation on an arbitrary triangulated region in 2D. (The user supplies some information in some problem-dependent subroutines.)

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.

HCELL is a FORTRAN77 program which computes the pressure and velocity for a Navier Stokes flow in an "H"-shaped region.

HOT_PIPE is a MATLAB program which can be run with FEM_50_HEAT.

HOT_POINT is a MATLAB program which can be run with FEM_50_HEAT.

INOUT is a FORTRAN77 program which computes the pressure and velocity for a Navier Stokes flow in a square region with an inlet and an outlet.

MHD_CONTROL is a FORTRAN90 program which tries to control the evolution of an MHD system so that a particular state is achieved.

MHD_FLOW is a FORTRAN90 program which simulates the evolution of an MHD system.

NAST2D is a C++ program which computes the pressure and velocity for a Navier Stokes flow.

NAST2D_F90 is a FORTRAN90 program which uses the finite volume method to set up and solve the 2D incompressible Navier Stokes equations with heat.

NSASM is a C library of routines, intended to be used with a MATLAB calling program, and which set up the sparse matrix needed for a Newton iteration to solve a finite element formulation of the steady incompressible 2D Navier Stokes equations.

TCELL is a FORTRAN77 program which computes the pressure and velocity for a Navier Stokes flow in a "T"-shaped region.

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

Source Code:

Examples and tests:

List of Routines:

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


Last revised on 31 October 2006.