A Sample 2D Stokes Problem

FEM2D_STOKES_SPARSE_CAVITY is a square region that is 1 unit wide and 1 unit high. The tangential velocity is specified to be 1 along the top boundary, with a zero normal component. On all other parts of the boundary, the velocity is specified to be zero.


To run the problem directly, you only need the user-supplied routines in dirichlet_condition.m and rhs.m, the node data in nodes6.txt, and the element data in triangles6.txt.

You can run the program with the MATLAB command

        fems2d_stokes_sparse ( 'nodes6.txt', 'triangles6.txt' )


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


FEM2D_STOKES_SPARSE_CAVITY is available in a MATLAB version.

Related Data and Programs:

FEM2D_STOKES_SPARSE, a MATLAB program which solves the steady (time independent) incompressible Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

Source Code:

Some of the files needed to run the problem include:

The geometry is defined by sets of nodes and triangles. The velocities use the full set of nodes, and quadratic (6 node) triangles.

The pressures are associated with a subset of the nodes called "pressure nodes", and linear (3 node) triangles. Note that, in the order 3 triangulation, the nodes are renumbered, and do NOT inherit the labels used in the order 6 triangulation.

The pressures are a scalar quantity associated with the pressure nodes, the velocities are a vector quantity associated with the vector nodes.

Last revised on 08 September 2006.