FEM3D_PACK
3D Finite Element Method Utility Library
FEM3D_PACK,
a MATLAB library which
contains utility routines for 3D finite element calculations.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
FEM3D_PACK is available in
a C++ 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 M-dimensional simplex (1D interval, 2D triangle,
3D tetrahedron, and higher dimensional generalizations.)
FEM1D_PACK,
a MATLAB library which
contains utilities for 1D finite element calculations.
FEM2D_PACK,
a MATLAB library which
contains utilities 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;
fem3d_pack_test
FEM3D_PROJECT,
a MATLAB 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 MATLAB program which
evaluates a finite element function defined on 3D tetrahedral mesh.
Reference:
-
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:
-
bandwidth_mesh.m,
bandwidth of finite element mesh.
-
bandwidth_var.m,
determines the bandwidth for finite element variables.
-
basis_brick8.m,
evaluates basis functions for a BRICK8 element.
-
basis_brick20.m,
evaluates basis functions for a BRICK20 element.
-
basis_brick27.m,
evaluates basis functions for a BRICK27 element.
-
basis_mn_tet4.m,
all bases at N points for a TET4 element.
-
basis_mn_tet10.m,
all bases at N points for a TET10 element.
-
basis_mn_tet10_test.m,
verifies BASIS_MN_TET10.
-
nodes_brick8.m,
returns the nodes of the BRICK8 element.
-
nodes_brick20.m,
returns the nodes of the BRICK20 element.
-
nodes_brick27.m,
returns the nodes of the BRICK27 element.
-
physical_to_reference_tet4.m,
maps TET4 physical points to reference points.
-
r8mat_det_4d.m
computed the determinant of a 4x4 R8MAT.
-
r8mat_solve.m
uses Gauss-Jordan elimination to solve an N by N linear system.
-
r8mat_uniform_01.m,
returns a unit pseudorandom R8MAT.
-
r8vec_uniform_01.m,
returns a unit pseudorandom R8VEC.
-
reference_tet4_sample.m,
returns nonuniform sample points from the reference tetrahedron.
-
reference_tet4_uniform.m,
returns uniform sample points from the reference tetrahedron.
-
reference_tet4_uniform2.m,
returns uniform sample points from the reference tetrahedron.
-
reference_to_physical_tet4.m,
maps TET4 reference points to physical points.
-
tetrahedron_barycentric.m
computes the barycentric coordinates of a point with respect to a tetrahedron.
-
tetrahedron_volume.m
computes the volume of a tetrahedron.
-
timestamp.m,
prints the current YMDHMS date as a time stamp.
Last revised on 04 May 2019.