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.

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.

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

- boundary_type.m, adjusts the program's default assignment of boundary condition types.
- constants.m, sets flow constants, in this case just the kinematic viscosity NU.
- dirichlet_condition.m, evaluates the right hand sides of the Dirichlet boundary conditions.
- neumann_condition.m, evaluates the right hand sides of the Neumann boundary conditions.
- rhs.m, evaluates the right hand sides (source terms) of the equations.

The printed output from a run is:

- inout_output.txt, output from a run of the program;

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

- nodes6.txt, a text file containing the velocity nodes;
- nodes6.png, a PNG image of the velocity nodes;
- triangles6.txt, the quadratic triangulation;
- triangles6.png, a PNG image of the order 6 triangulation;

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.

- nodes3.txt, a text file containing the pressure nodes;
- nodes3.png, a PNG image of the pressure nodes;
- triangles3.txt, the linear triangulation;
- triangles3.png, a PNG image of the linear triangulation;

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

- pressure3.txt, a text file containing the pressure P at each linear node;
- pressure3.png, a PNG image of a contour plot of the pressure, produced by TRIANGULATION_ORDER3_CONTOUR.
- velocity6.txt, a text file containing the velocity (U,V) at each velocity node;
- velocity6_dir.png, a PNG image of the velocity direction field, created by VECTOR_PLOT.
- velocity6_vec.png, a PNG image of the velocity field, created by VECTOR_PLOT.
- velocity6_arrows.png, a PNG image of the velocity field, created by VELOCITY_ARROWS.