FLOW7
An Experimental Finite Element Code
for Steady Incompressible 2D Navier Stokes Fluid Flow


FLOW7 is a FORTRAN90 program which applies the finite element method to solve the steady incompressible Navier Stokes equations in a 2D region for velocity and pressure.

To solve a particular problem, you need to include routines that define the shape of the region and the boundary conditions. Problems that are already written up include

FLOW7 is derived from the FLOW6 code, but is currently under development. Intended alterations will include:

Languages:

FLOW7 is available in a FORTRAN90 version

Related Data and Programs:

BUMP is a FORTRAN90 program which solves a fluid flow problem in a channel including a bump which obstructs and redirects the flow.

CHANNEL is a FORTRAN90 program which computes the pressure and velocity for a Navier Stokes flow in a channel.

DIRECTION_ARROWS is a MATLAB program which can be used to plot the vector direction field.

DIRECTION_ARROWS2 is a MATLAB program which plots the velocity direction field, assuming that the XY and UV data are stored in a single table file.

DIRECTION_ARROWS_GRID is a MATLAB program which reads files of node and velocity data, and, using interpolation, creates a velocity direction plot with arrows place on a uniform grid of the user's specification.

DIRECTION_ARROWS_SEQUENCE is a MATLAB program which plots the velocity direction fields of many data files with names that are numbered in sequence.

FEM is a data directory which contains a description of the data files that can be used to describe a finite element model.

FEM_50 is a MATLAB finite element program in just 50 lines of code.

FEM_50_HEAT is modified version of FEM_50 suitable for solving the heat equation.

FEM_50_HEAT is modified version of FEM_50 suitable for solving the heat equation.

FEM_BASIS_T3_DISPLAY is a MATLAB program which displays a basis function associated with a linear triangle ("T3") mesh.

FEM_BASIS_T6_DISPLAY is a MATLAB program which displays a basis function associated with a quadratic triangle ("T6") mesh.

FEM_IO is a FORTRAN90 library of routines for reading or writing the node, element and data files that define a finite element model.

FEM_TO_TEC is a MATLAB program that can convert an FEM model into a TEC graphics file.

FEM2D_PACK is a FORTRAN90 library which contains utilities for 2D finite element calculations.

FFNS_SPARSE is a MATLAB program for solving the steady incompressible Navier Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

FFS_SPARSE is a MATLAB program for solving the steady incompressible Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

FLOW3 is an earlier version of the FLOW7 program.

FLOW5 is an earlier version of the FLOW7 program.

FREE_FEM_NAVIER_STOKES is a FORTRAN90 program which solves the 2D incompressible Navier Stokes equations in an arbitrary triangulated region (this program is not working yet).

FREE_FEM_STOKES is a FORTRAN90 program for the steady incompressible 2D Stokes equations on an arbitrary triangulated region.

HOT_PIPE is a sample problem that can be run with FEM_50_HEAT.

HOT_POINT is a sample problem that can be run with FEM_50_HEAT.

INOUT is a FORTRAN77 program which computes the pressure and velocity for a Navier Stokes flow in a square region with an inlet and an outlet.

NAST2D is a C++ program which computes the pressure and velocity for a Navier Stokes flow.

NAST2D_F90 is a FORTRAN90 program which uses the finite volume method to set up and solve the 2D incompressible Navier Stokes equations with heat.

NSASM is a C library of routines, intended to be used with a MATLAB calling program, and which set up the sparse matrix needed for a Newton iteration to solve a finite element formulation of the steady incompressible 2D Navier Stokes equations.

PLTMG_SINGLE is a FORTRAN77 library for solving elliptic partial differential equations using the finite element method with piecewise linear triangles and the multigrid approach.

PLOT_POINTS is a FORTRAN90 program that can make a plot of the nodes that define the region.

TABLE is a format used to store the input and output files used by the program.

TABLE_IO is a FORTRAN90 library of routines needed to read the data files.

TCELL is a FORTRAN77 program which computes the pressure and velocity for a Navier Stokes flow in a "T"-shaped region.

TOMS866 a MATLAB library which is the Incompressible Flow Iterative Solution Software;
this library is commonly called IFISS;
this is ACM TOMS algorithm 866.

TRIANGULATION_ORDER3 is a data directory containing a description and examples of an order 3 triangulation.

TRIANGULATION_ORDER3_CONTOUR is a MATLAB script which can be used to make contour plots of the pressure field from these files.

TRIANGULATION_ORDER6 is a data directory containing a description and examples of an order 6 triangulation.

TRIANGULATION_PLOT is an executable FORTRAN90 program which can be used to plot the elements that triangulate the region.

VECTOR_ARROWS is a MATLAB program that can be used to plot the vector field.

VECTOR_PLOT is an executable FORTRAN90 program that can be used to plot the vector field.

Reference:

  1. Max Gunzburger,
    Finite Element Methods for Viscous Incompressible Flows,
    A Guide to Theory, Practice, and Algorithms,
    Academic Press, 1989,
    LC: TA357.G86

Source Code:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 17 January 2007.