FEM2D_PACK
2D Finite Element Routines
FEM2D_PACK
is a MATLAB library which
contains utilities for implementing the finite element method.
The emphasis is on simplicity and clarity.
Only the 2D case is handled, with a choice
of low order triangular and quadrilateral elements.
A few routines are included for computing a "sphere grid",
that is, a finite element mesh on the surface of a sphere.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
FEM2D_PACK is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
FEM_BASIS,
a MATLAB library which
can define and evaluate basis functions for any degree
in an Mdimensional simplex (1D interval, 2D triangle,
3D tetrahedron, and higher dimensional generalizations.)
FEM_IO,
a MATLAB library which
reads or writes
the node, element and data files that define a finite element model.
FEM1D_PACK,
a MATLAB library which
contains utilities for 1D finite element calculations.
FEM2D,
a data directory which
contains examples of 2D FEM files,
text files that describe a 2D finite element geometry
and associated nodal values;
FEM2D_HEAT,
a MATLAB program which
solves the time dependent heat equation in the unit square.
FEM2D_POISSON,
a MATLAB program which
solves Poisson's equation
on a square, using the finite element method.
FEM2D_POISSON_RECTANGLE_LINEAR,
a MATLAB program which
solves the 2D Poisson equation on a rectangle, using the finite element method,
and piecewise linear triangular elements.
FEM2D_SAMPLE,
a MATLAB library which
evaluates a finite element function defined on an order 3 or order 6 triangulation.
FEM3D_PACK,
a MATLAB library which
contains utilities for 3D finite element calculations.
ONED,
a MATLAB library which
contains functions useful for 1D finite element calculations.
THREED,
a MATLAB library which
contains functions useful for 3D finite element calculations.
TWOD,
a MATLAB library which
contains functions useful for 2D finite element calculations.
Reference:

Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
ISBN: 0486612724,
LC: QA47.A34.

Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 9780898711721.

Vladimir Krylov,
Approximate Calculation of Integrals,
Dover, 2006,
ISBN: 0486445798.

Hans Rudolf Schwarz,
Finite Element Methods,
Academic Press, 1988,
ISBN: 0126330107,
LC: TA347.F5.S3313.

Gilbert Strang, George Fix,
An Analysis of the Finite Element Method,
Cambridge, 1973,
ISBN: 096140888X,
LC: TA335.S77.

Arthur Stroud,
Approximate Calculation of Multiple Integrals,
Prentice Hall, 1971,
ISBN: 0130438936,
LC: QA311.S85.

Arthur Stroud, Don Secrest,
Gaussian Quadrature Formulas,
Prentice Hall, 1966,
LC: QA299.4G3S7.

Olgierd Zienkiewicz,
The Finite Element Method,
Sixth Edition,
ButterworthHeinemann, 2005,
ISBN: 0750663200,
LC: TA640.2.Z54

Daniel Zwillinger, editor,
CRC Standard Mathematical Tables and Formulae,
30th Edition,
CRC Press, 1996,
ISBN: 0849324793.
Source Code:
Examples and Tests:

fem2d_pack_test.m,
runs all the tests;

fem2d_pack_test01.m,
tests BANDWIDTH_MESH;

fem2d_pack_test02.m,
tests BANDWIDTH_VAR;

fem2d_pack_test03.m,
tests BASIS_11_**_TEST;

fem2d_pack_test04.m,
tests BASIS_MN_**_TEST;

fem2d_pack_test05.m,
tests DERIVATIVE_AVERAGE_T3;

fem2d_pack_test06.m,
tests DIV_Q4;

fem2d_pack_test07m,
tests ELEMENTS_EPS with Q4 elements;

fem2d_pack_test08.m,
tests ELEMENTS_EPS with T3 elements;

fem2d_pack_test09.m,
tests ELEMENTS_EPS with T4 elements;

fem2d_pack_test10.m,
tests ELEMENTS_EPS with T6 elements;

fem2d_pack_test105.m,
tests GRID_NODES_01;

fem2d_pack_test11.m,
tests GRID_TEST;

fem2d_pack_test12.m,
tests INTERP_TEST;

fem2d_pack_test13.m,
tests MAP_TEST;

fem2d_pack_test135.m,
tests MASS_MATRIX_T3;

fem2d_pack_test14.m,
tests MASS_MATRIX_T6;

fem2d_pack_test15.m,
tests PHYSICAL_TO_REFERENCE_T3 and REFERENCE_TO_PHYSICAL_T3.

fem2d_pack_test16.m,
tests PHYSICAL_TO_REFERENCE_T6.

fem2d_pack_test17.m,
tests S_L2NORM;

fem2d_pack_test18.m,
tests SHAPE_TEST;

fem2d_pack_test19.m,
tests SPHERE_GRID_Q4;

fem2d_pack_test20.m,
tests SPHERE_GRID_Q9;

fem2d_pack_test21.m,
tests SPHERE_GRID_Q16;

fem2d_pack_test22.m,
tests SPHERE_GRID_T3;

fem2d_pack_test23.m,
tests SPHERE_GRID_T6;

fem2d_pack_test24.m,
tests TRIANGLE_UNIT_SET.

fem2d_pack_test.out,
the sample output.

fem2d_pack_test_q4.png,
a PNG image of
a Q4 mesh.

fem2d_pack_test_t3.png,
a PNG image of
a T3 mesh.

fem2d_pack_test_t4.png,
a PNG image of
a T4 mesh.

fem2d_pack_test_t6.png,
a PNG image of
a T6 mesh.

sphere_q4_nodes.txt,
a node file for a Q4 mesh, which is also a
polygonal surface,
that approximates a sphere.

sphere_q4_elements.txt,
an element file for a Q4 mesh, which is also a
polygonal surface,
that approximates a sphere.

sphere_q9_nodes.txt,
a node file for a Q9 mesh
that approximates a sphere.

sphere_q9_elements.txt,
an element file for a Q9 mesh
that approximates a sphere.

sphere_q16_nodes.txt,
a node file for a Q16 mesh
that approximates a sphere.

sphere_q16_elements.txt,
an element file for a Q16 mesh
that approximates a sphere.

sphere_t3_nodes.txt,
a node file for a T3 mesh, which is also a
polygonal surface,
that approximates a sphere.

sphere_t3_elements.txt,
an element file for a T3 mesh, which is also a
polygonal surface,
that approximates a sphere.

sphere_t6_nodes.txt,
a node file for a T6 mesh
that approximates a sphere.

sphere_t6_elements.txt,
an element file for a T6 mesh
that approximates a sphere.
You can go up one level to
the MATLAB source codes.
Last revised on 15 May 2008.