FEM2D_NAVIER_STOKES_CAVITY
2D Navier-Stokes Driven Cavity Problem


FEM2D_NAVIER_STOKES_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.

Usage:

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

You compile and link the Stokes solver with cavity.cpp, using commands like:

        g++ fem2d_navier_stokes.cpp cavity.cpp
        mv a.out channel
      
and then run the program with the command
        ./cavity nodes6.txt triangles6.txt
      

Licensing:

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

Languages:

FEM2D_NAVIER_STOKES_CAVITY is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

FEM2D_NAVIER_STOKES, a C++ program which applies the finite element method to a 2D Navier Stokes flow problem with user input.

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 Stokes equations are solved first, providing the solution of a linear system that can be used as a good estimate of the solution, especially for high values of the viscosity.

The nonlinear Navier Stokes equations are solved, using the Stokes solution as a starting point.


Last revised on 08 September 2006.