FLOW5
A Finite Element Code for Fluid Flow


FLOW5 uses the finite element method to solve for the steady state velocity and pressure in a fluid flow region.

The fluid is presumed to be incompressible.

FLOW5 writes element and data files that may be read in and plotted by DISPLAY4.

Related Data and Programs:

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

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

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

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.

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 a 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 set of MATLAB routines for reading or writing the node, element and data files that define a finite element model.

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

FEM2D_POISSON is a FORTRAN90 program for solving Poisson's equation on a square, using the finite element method.

FEMPACK is a FORTRAN90 library of routines for 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 FLOW5 program.

FLOW7 is a later version of the FLOW5 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.

MHD_CONTROL is a FORTRAN90 program which tries to control the evolution of an MHD system so that a particular state is achieved.

MHD_FLOW is a FORTRAN90 program for the evolution of an MHD system.

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 of routines 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 which can make a plot of the nodes that define the region.

TABLE is a format which is 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.

TRIANGULATION_ORDER3 is a data directory which describes the format for an order 3 triangulation.

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

TRIANGULATION_ORDER6 is a data directory which describes the format for an order 6 triangulation.

TRIANGULATION_PLOT can be used to plot the elements that triangulate the region.

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

VECTOR_PLOT is a FORTRAN90 program which can be used to plot the vector field.

VECTOR_STREAM_GRID is a MATLAB program which reads node and vector data from a file, computes an interpolatory function, evaluates on a uniform grid of points specified by the user, and displays a streamline plot of the vector field.

VELOCITY_ARROWS. is a MATLAB program which can plot velocity fields.

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

Reference:

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

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 12 November 2006.