fem3d_pack
    
    
    
      fem3d_pack,
      an Octave code which
      contains utility routines for 3D finite element method (FEM) calculations.
    
    
      Licensing:
    
    
      The information on this web page is 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.