FEM_IO
Read or Write a Finite Element Model


FEM_IO is a FORTRAN90 library which reads or writes the data that defines a finite element model.

The finite element model is assumed to include three items:

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 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 reads a quadratic triangle mesh and displays any associated basis function.

FEM_IO is available in a C++ version and a FORTRAN90 version and a MATLAB version.

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

FEM1D, is a FORTRAN90 program which applies the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem;

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

FEM1D_PMETHOD is a FORTRAN90 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_SAMPLE, a FORTRAN90 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 in the unit square.

FEM2D_PACK is a FORTRAN90 library which contains utilities for 2D finite element calculations.

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

FEM2D_SAMPLE is a FORTRAN90 library which evaluates a finite element function defined on an order 3 or order 6 triangulation.

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 Navier Stokes equations on a triangulated region, using the finite element method.

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 Stokes equations on a triangulated region, using the finite element method.

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.

PLTMG is a FORTRAN77 library which can solve elliptic partial differential equations using the finite element method with piecewise linear triangles and the multigrid approach.

TABLE is a file format which can be used to store real or integer arrays.

TABLE_IO is a FORTRAN90 library which reads and writes TABLE files.

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
  4. Daniel Zwillinger, editor,
    CRC Standard Mathematical Tables and Formulae,
    30th Edition,
    CRC Press, 1996,
    ISBN: 0-8493-2479-3.

Source Code:

Examples and Tests:

FEM_IO_PRB is a test program which tests the routines that read and write finite element data.

ELL is an example of a 2D finite element model in which a scalar value is stored. This data was computed by the FREE_FEM_POISSON program and is read by FEM_READ.

TINY is a "tiny" example of a 2D finite element model in which a vector value is stored. This data was written by the FEM_WRITE routine.

List of Routines:

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


Last revised on 28 September 2008.