fem_basis_t6_display, an Octave code which reads data defining a quadratic triangular ("T6") mesh and displays the basis function associated with any node in the mesh.

The entire mesh is shown (which could be a problem for large meshes!). However, a finite element basis function is nonzero over only a relatively small number of elements. Over these elements, the basis function is quadratic, and the curved nature of this part of the surface is suggested by taking many plot points in this region.

The triangular mesh is defined by a node file containing the coordinates of nodes, and an element file containing sets of the six nodes that make up each element.

Note that the six nodes making up each element are to be listed in a particular order, in which the vertices come first, followed by the midside nodes. Moreover, the first midside node is the one between vertices 1 and 2, as suggested by the following diagram:

        | \
        |  \
        6   5
        |    \
        |     \
        |      \

In general, a mesh of quadratic triangles allows the sides to be bent. However, for this application, it is assumed that the sides of each triangle are straight, that is, that each midside node lies on the line segment joining the corresponding vertices.


fem_basis_t6_display ( 'prefix', node_index)


The computer code and data files described and made available on this web page are distributed under the MIT license


fem_basis_t6_display is available in a MATLAB version and an Octave version.

Related Programs:


bezier_surface_display, an Octave code which displays a bezier surface.

fem_basis_t3_display, an Octave code which displays a basis function associated with a 3-node triangle "t3" mesh.

fem_basis_t4_display, an Octave code which displays a basis function associated with a 4-node triangle "t4" mesh.

fem2d_pack, an Octave code which is useful for 2d finite element calculations.

polygonal_surface_display, an Octave code which reads two files defining a polygonal surface and displays it.

quad_surface_display, an Octave code which reads files defining a 3d quadrilateral mesh surface and displays it.

tet_mesh_display, an Octave code which can read in the node and tetra files defining a tet mesh and display a wireframe image.

tri_surface_display, an Octave code which reads data defining a triangular mesh of a 3d surface and displays it.

triangulation_order6_contour, an Octave code which makes contours of a scalar quantity defined on the nodes of an order 6 triangulation.

triangulation_plot, an Octave code which creates an eps image of a triangulation.


  1. Klaus-Juergen Bathe,
    Finite Element Procedures,
    Prentice Hall, 1996.
  2. Eric Becker, Graham Carey, John Oden,
    Finite Elements, An Introduction, Volume I,
    Prentice-Hall, 1981.
  3. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    LC: QA377.E36,
    ISBN: 0-521-79309-2.
  4. Max Gunzburger,
    Finite Element Methods for Viscous Incompressible Flows,
    A Guide to Theory, Practice, and Algorithms,
    Academic Press, 1989,
    LC: TA357.G86.
  5. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Prentice Hall, 1973,
    LC: TA335.S77.

Source code:

Last revised on 18 July 2023.