FEM3D_PACK\
3D Finite Element Method Utility Library {#fem3d_pack-3d-finite-element-method-utility-library align=”center”}
========================================
FEM3D_PACK is a C++ library which contains utility routines for 3D
finite element calculations.
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”}
FEM3D_PACK is available in a C++
version and a FORTRAN90
version and a MATLAB
version.
FEM_BASIS, a C++ library
which can define and evaluate basis functions for any degree in an
M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and
higher dimensional generalizations.)
FEM1D_PACK, a C++ library
which contains utilities for 1D finite element calculations.
FEM2D_PACK, a C++ library
which contains utilities for finite element calculations.
FEM3D, a data directory which contains
examples of 3D FEM files, three text files that describe a 3D finite
element geometry;
FEM3D_PROJECT, a C++
program which projects a function F(X,Y,Z), given as a data, into a
given finite element space of piecewise linear tetrahedral elements.
FEM3D_SAMPLE, a C++
program which evaluates a finite element function defined on 3D
tetrahedral mesh.
Reference: {#reference align=”center”}
- Claudio Rocchini, Paolo Cignoni,\
Generating Random Points in a Tetrahedron,\
Journal of Graphics Tools,\
Volume 5, Number 4, 2000, pages 9-12.
- Reuven Rubinstein,\
Monte Carlo Optimization, Simulation and Sensitivity of Queueing
Networks,\
Krieger, 1992,\
ISBN: 0894647644,\
LC: QA298.R79.
- Gilbert Strang, George Fix,\
An Analysis of the Finite Element Method,\
Cambridge, 1973,\
ISBN: 096140888X,\
LC: TA335.S77.
- Olgierd Zienkiewicz,\
The Finite Element Method,\
Sixth Edition,\
Butterworth-Heinemann, 2005,\
ISBN: 0750663200,\
LC: TA640.2.Z54.
Source Code: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
List of Routines: {#list-of-routines align=”center”}
- BANDWIDTH_MESH determines the bandwidth of the coefficient
matrix.
- BANDWIDTH_VAR determines the bandwidth for finite element
variables.
- BASIS_BRICK8: BRICK8 basis functions at natural coordinates.
- BASIS_BRICK8_TEST verifies BASIS_BRICK8.
- BASIS_BRICK20: BRICK20 basis functions at natural coordinates.
- BASIS_BRICK20_TEST verifies BASIS_BRICK20.
- BASIS_BRICK20: BRICK20 basis functions at natural coordinates.
- BASIS_BRICK27_TEST verifies BASIS_BRICK27.
- BASIS_MN_TET4: all bases at N points for a TET4 element.
- BASIS_MN_T4_TEST verifies BASIS_MN_TET4.
- BASIS_MN_TET10: all bases at N points for a TET10 element.
- BASIS_MN_TET10_TEST verifies BASIS_MN_TET10.
- I4_MAX returns the maximum of two I4’s.
- NODES_BRICK8 returns the natural coordinates of the BRICK8
element.
- NODES_BRICK20 returns the natural coordinates of the BRICK20
element.
- NODES_BRICK27 returns the natural coordinates of the BRICK27
element.
- PHYSICAL_TO_REFERENCE_TET4 maps physical points to reference
points.
- R8_ABS returns the absolute value of an R8.
- R8GE_FSS factors and solves multiple R8GE systems.
- R8MAT_COPY_NEW copies one R8MAT to a “new” R8MAT.
- R8MAT_DET_4D computes the determinant of a 4 by 4 R8MAT.
- R8MAT_MV multiplies a matrix times a vector.
- R8MAT_SOLVE uses Gauss-Jordan elimination to solve an N by N
linear system.
- R8MAT_UNIFORM_01_NEW returns a new unit pseudorandom R8MAT.
- R8VEC_SUM returns the sum of an R8VEC.
- R8VEC_UNIFORM_01_NEW returns a new unit pseudorandom R8VEC.
- REFERENCE_TET4_SAMPLE: sample points in the reference
tetrahedron.
- REFERENCE_TET4_UNIFORM: uniform sample points in the reference
tetrahedron.
- REFERENCE_TET4_UNIFORM2: uniform sample points in the
reference tetrahedron.
- REFERENCE_TO_PHYSICAL_TET4 maps TET4 reference points to
physical points.
- TETRAHEDRON_BARYCENTRIC returns the barycentric coordinates of
a point.
- TETRAHEDRON_VOLUME computes the volume of a tetrahedron in 3D.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 02 March 2010.