jburkardt

FEM_IO\ Read or Write a Finite Element Model {#fem_io-read-or-write-a-finite-element-model align=”center”} ====================================


FEM_IO is a C++ library which reads or writes FEM files, which describe the nodes, elements, and function values associated with a finite element method (FEM) model;

The finite element model is assumed to include three items:

Licensing: {#licensing align=”center”}

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

Languages: {#languages align=”center”}

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

FEM_DISPLAY, a MATLAB program which reads the FEM model of a 2D mesh, consisting of polygonal elements of any uniform order, and displays an image of the elements and nodes, with optional numbering.

FEM_TO_GMSH, a C++ program which reads FEM files definining a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a Gmsh mesh file.

FEM_TO_MEDIT, a C++ program which reads a pair of FEM files defining node coordinates and elements, and creates a corresponding MEDIT mesh file.

FEM_TO_TRIANGLE, a C++ program which reads FEM files defining a 2D mesh of triangles, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding pair of node and element files for use by Jonathan Shewchuk’s triangle program.

FEM_TO_XML, a C++ program which reads FEM files defining a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding XML file for input to DOLFIN or FENICS.

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

FEM2D, a data directory which contains examples of 2D FEM files, three text files that describe a 2D finite element geometry;

FEM2D_PACK, a C++ library which is useful for 2D finite element calculations.

FEM3D, a data directory which contains examples of 3D FEM files, three text files that describe a 3D finite element geometry;

GMSH_TO_FEM, a C++ program which reads a mesh data file created by the GMSH program and writes a pair of node and element files that correspond to the FEM format.

MEDIT_IO, a C++ library which can read or write MEDIT mesh files, which can be used to define the geometry of a finite element mesh in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.

MEDIT_TO_FEM, a C++ program which reads a mesh file created by the MEDIT program and writes a corresponding pair of node and element files that correspond to the FEM format.

TABLE_IO, a C++ library which can read and write TABLE files.

TRIANGLE_TO_FEM, a C++ program which reads the NODE and ELE files created by triangle() to describe a triangular mesh, and writes a corresponding pair of node and element files in the 2D FEM format.

Reference: {#reference align=”center”}

  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: {#source-code align=”center”}

Examples and Tests: {#examples-and-tests align=”center”}

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.

P01 is a 3D rectangular channel, with dimensions 1x1x3, using 584 nodes and 2568 elements. This data was created by DISTMESH.

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: {#list-of-routines align=”center”}

You can go up one level to the C++ source codes.


Last revised on 10 November 2006.