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:
-
cavity.cpp,
the user-supplied routines to evaluate the right hand side
and boundary conditions;
-
cavity.sh,
commands to compile the user routines, link them with
the partial program, and run the program;
-
cavity_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.
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.
-
stokes_pressure3.txt,
a text file containing the Stokes pressure P at each linear node;
-
stokes_pressure3.png,
a PNG image of
a contour plot of the Stokes pressure, produced by
TRIANGULATION_ORDER3_CONTOUR.
-
stokes_velocity6.txt,
a text file containing the Stokes velocity (U,V) at each velocity node;
-
stokes_velocity6_dir.png,
a PNG image of
the Stokes velocity direction field, created by
VECTOR_PLOT.
-
stokes_velocity6_vec.png,
a PNG image of
the Stokes velocity field, created by
VECTOR_PLOT.
-
stokes_velocity6_arrows.png,
a PNG image of the Stokes velocity field, created by
VELOCITY_ARROWS.
The nonlinear Navier Stokes equations are solved, using
the Stokes solution as a starting point.
-
navier_stokes_pressure3.txt,
a text file containing the Navier Stokes pressure P at each
pressure node;
-
navier_stokes_pressure3.png,
a PNG image of
a contour plot of the Navier Stokes pressure, produced by
TRIANGULATION_ORDER3_CONTOUR.
-
navier_stokes_velocity6.txt,
a text file containing the Navier Stokes velocity (U,V)
at each velocity node;
-
navier_stokes_velocity6_dir.png,
a PNG image of
the Navier Stokes velocity direction field, created by
VECTOR_PLOT.
-
navier_stokes_velocity6_vec.png,
a PNG image of
the Navier Stokes velocity field, created by
VECTOR_PLOT.
-
navier_stokes_velocity6_arrows.png,
a PNG image of the Navier Stokes velocity field, created by
VELOCITY_ARROWS.
Last revised on 08 September 2006.