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.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
FLOW5 is available in
a FORTRAN90 version.
Related Data and Programs:
BUMP,
a FORTRAN90 program which
solves a fluid flow problem
in a channel including a bump which obstructs and redirects the flow.
FEM2D,
a data directory which
contains a description of the data files
that can be used to describe a 2D finite element model.
FEM_IO,
a MATLAB library which
reads and writes the node, element and data files that define a finite element model.
FEM_TO_TEC,
a MATLAB program which
can convert an FEM model into a TEC graphics file.
FEM2D_PACK,
a FORTRAN90 library which
contains utilities for 2D finite element calculations.
FEM2D_POISSON,
a FORTRAN90 program which
solves Poisson's equation
on a square, using the finite element method.
FLOW3,
a FORTRAN90 program which
uses the finite element method to solve for the steady state
velocity and pressure in a fluid flow region.
INOUT,
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,
a FORTRAN90 program which
tries to control the evolution of an MHD system so that a particular
state is achieved.
MHD_FLOW,
a FORTRAN90 program for the
evolution of an MHD system.
NAST2D_F90,
a FORTRAN90 program which
uses the finite volume method to set up and solve
the 2D incompressible Navier Stokes equations with heat.
TCELL,
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.
Reference:
-
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:
-
cavity.txt,
the output file;
-
cavity_elements.txt,
the element file,
suitable for input to the DISPLAY4 graphics program;
-
cavity_uvp.txt,
the node file, suitable for
input to the DISPLAY4 graphics program;
-
cavity.tec,
a graphics file suitable for
input to the TECPLOT graphics program;
List of Routines:
-
MAIN is the main program for FLOW5.
-
BSP evaluates the linear basis functions for pressure.
-
DGB_FA factors a matrix stored in LINPACK general band storage.
-
DGB_SL solves a system factored by DGB_FA.
-
FP computes the jacobian matrix A of the Navier Stokes residual.
-
FX computes the residual RES of the Navier Stokes equations.
-
INTPRS interpolates the pressure at the midside nodes.
-
NEWTON applies Newton iteration, seeking a solution of FX(G) = 0.
-
QBF evaluates a nonisoparametric quadratic basis function.
-
R8VEC_AMAX returns the maximum absolute value in a real vector.
-
REFBSP evaluates a reference element linear basis function.
-
REFQBF evaluates a reference element quadratic basis function.
-
SETBAN computes the lower band width of the Jacobian matrix.
-
SETBAS evaluates the basis functions at each quadrature point.
-
SETQUAD sets the abscissas and weights for quadrature in a triangle.
-
SETNOD assigns numbers to the nodes and elements.
-
SETXY sets the X and Y coordinates of the nodes.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TRANS calculates the biquadratic reference element transformation.
-
UVPNORM returns the "norm" of the computed finite element solution.
-
UVALQ evaluates velocities and pressure at a quadrature point in an element.
-
WRITE_DISPLAY_FILE writes solution information to two files.
-
WRITE_TECPLOT_FILE writes out solution information for use with TECPLOT.
-
XOFXSI computes X and Y given XSI and ETA coordinates.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 12 November 2006.