FLOW5
A Finite Element Code for Fluid Flow


FLOW5 is a FORTRAN90 program which 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 a 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 which 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 MATLAB library which reads and writes 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_PACK is a FORTRAN90 library which contains utilities for 2D finite element calculations.

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

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 a FORTRAN90 program which uses the finite element method to solve for the steady state velocity and pressure in a fluid flow region.

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.

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