fem3d_pack
fem3d_pack,
a MATLAB code 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 code which
can define and evaluate basis functions for any degree
in an Mdimensional simplex (1D interval, 2D triangle,
3D tetrahedron, and higher dimensional generalizations.)
fem1d_pack,
a MATLAB code which
contains utilities for 1D finite element calculations.
fem2d_pack,
a MATLAB code 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 code 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 code 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 912.

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,
ButterworthHeinemann, 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 GaussJordan elimination to solve an N by N linear system.

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.
Last revised on 04 May 2019.