fem3d_pack
fem3d_pack,
an Octave code which
contains utility routines for 3D finite element method (FEM) calculations.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
fem3d_pack is available in
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version.
Related Data and Programs:
fem3d_pack_test
fem_basis,
an Octave code 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,
an Octave code which
contains utilities for 1D finite element calculations.
fem2d_pack,
an Octave 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_project,
an Octave 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,
an Octave 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 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.
-
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 16 July 2023.