A Sample 2D Flow Problem

FEM2D_STOKES_SPARSE_INOUT is a square region that is 1 unit wide and 1 unit high. A parabolic inflow is specified on the lower left, and a zero Neumann outflow is specified on the upper right.

The Neumann condition on the outflow is not working as expected, so we have temporarily backtracked to using a Dirichlet outflow condition there...


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

You can run the program with the MATLAB command

        fem2d_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_INOUT 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:

The user-supplied files needed to run the problem include:

The printed output from a run is:

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 20 October 2006.