TOMS866
IFISS2.2  Incompressible Flow Iterative Solution Software
TOMS866
is a MATLAB program which
embodies version 2.2 of the
Incompressible Flow Iterative Solution Software (IFISS),
that can model the
steady (timeindependent) flow of a 2D incompressible fluid,
by Howard Elman, Alison Ramage, David Silvester.
The library includes algorithms for discretization by mixed finite element
methods and for a posteriori error estimation of the computed solution.
The most recent version of the software may be found by going to
http://www.maths.manchester.ac.uk/~djs/ifiss/
The text of many ACM TOMS algorithms is available online
through ACM:
http://www.acm.org/pubs/calgo
or NETLIB:
http://www.netlib.org/toms/index.html.
The four classes of problems that can be solved by this code are identified
by an alphabetic code:

P, the Poisson or diffusion equation;

CD, the convection/diffusion equation;

S, the Stokes equations;

NS, the Navier Stokes equation;
There are four predefined example problems for the Poisson
or diffusion equation:

P1, diffusion in a square plate;

P2, diffusion in an Lshaped region;

P3, diffusion in the square, with an exact analytic solution;

P4, diffusion in an Lshaped region with an exact analytic solution;
There are four predefined example problems for the convection/diffusion equation.
All problems are posed on a square domain with a convective velocity of order 1:

CD1, constant convective velocity (0,1), with an exponential
boundary layer;

CD2, convective velocity (0,1+(x+1)^2/4); characteristic boundary layers.

CD3, convective velocity (sin(pi/6),cos(pi/6)), with a solution
discontinuity that is smeared by viscosity;

CD4, a simple model for temperature diffusion in a cavity;
The four predefined Stokes problems:

S1, steady horizontal channel flow, (Poiseuille flow);

S2, slow flow in a rectangular duct with sudden expansion,
flow over a step;

S3, driven cavity flow;

S4, colliding flow;
The four predefined NavierStokes problems:

S1, steady horizontal channel flow, (Poiseuille flow);

S2, slow flow in a rectangular duct with sudden expansion,
flow over a step;

S3, driven cavity flow, with a choice of leaky, watertight
or regularized boundary conditions;

S4, boundary layer flow over a flat plate, (Blasius flow);
Licensing:
The computer code and data files made available on this web page
are distributed under
the GNU LGPL license.
Languages:
TOMS866 is available in
a MATLAB version.
Related Data and Programs:
ARBY4,
a FORTRAN90 program which
analyzes a 2D fluid flow using the reduced basis method.
This is version 4 of a program which had 4 versions.
BUMP,
a FORTRAN90 program which
solves a fluid flow problem
in a 2D channel including a bump which obstructs and redirects the flow.
CHANNEL,
a FORTRAN90 program which
solves a fluid flow problem in a channel.
DOLFIN,
PYTHON scripts which
are used with the DOLFIN library to set up and solve
a wide variety of problems using the finite element method.
IFISS,
examples which
illustrate the use of IFISS, the MATLABbased flowsolver.
IFISS3.3,
a MATLAB program which
embodies the IFISS software that can model the
steady (timeindependent) flow of a 2D incompressible fluid,
by Howard Elman, Alison Ramage, David Silvester.
INOUT,
a FORTRAN77 program which
computes the pressure and velocity for a Navier Stokes flow in a
square 1D region with an inlet and an outlet.
MHD_FLOW,
a FORTRAN90 program which
simulates the evolution of a system governed by the equations for 2D
magnetohydrodynamics.
NAST2D,
a C++ program which
solves the 2D Navier Stokes fluid flow equations
NS3D_FEM,
a MATLAB program which
sets up and solves a finite element formulation of the steady
incompressible 3D Navier Stokes equations on a userdefined geometry.
The program can output graphics files for TECPLOT, VU or the VTK format
used by PARAVIEW.
TCELL_FLOW,
a dataset directory which
contains 500 time steps of NavierStokes flow in a 2D "T"shaped region.
Author:

Howard Elman,
Department of Computer Science,
University of Maryland,
College Park, Maryland 20742,
USA,
elman@cs.umd.edu

Alison Ramage,
Department of Mathematics,
University of Strathclyde,
26 Richmond Street,
Glasgow G1 1XH,
United Kingdom,
a.ramage@strath.ac.uk

David Silvester,
School of Mathematics,
University of Manchester,
Sackville Street,
Manchester M60 1QD,
United Kingdom,
na.silvester@nanet.ornl.gov
Reference:

Howard Elman, Alison Ramage, David Silvester,
Finite Elements and Fast Iterative Solvers with
Applications in Incompressible Fluid Dynamics,
Oxford, 2005,
ISBN: 9780198528678,
LC: QA911.E39.

Howard Elman, Alison Ramage, David Silvester,
Algorithm 866: IFISS, A Matlab Toolbox for Modelling Incompressible Flow,
ACM Transactions on Mathematical Software,
Volume 33, Number 2, June 2007.

Howard Elman, Alison Ramage, David Silvester,
Incompressible Flow Iterative Solution Software (IFISS),
Installation and Software Guide,
http://www.maths.manchester.ac.uk/~djs/ifiss/ifiss_guide_3.0.pdf.
Source Code:

activemode.m,
turns off batch processing for IFISS.

batchmode.m,
enables batch processing for IFISS test problems. The command
batchmode('P2') uses the file diffusion/test_problems/P2_batch.m
to generate and solve the second test problem for the Poisson (diffusion)
equation.

default.m,
gets response to IFISS prompt.

gohome.m,
positions command prompt at top level directory.

helpme.m,
IFISS interactive help facility.

ifiss.m,
returns IFISS version number.

install_pc.m,
sets up IFISS on nonUNIX computer.

install_unix.m,
sets up IFISS on UNIX computer

readme.m,
contains information to be read by the user.

setpath.m,
sets the IFISS search path.
Subdirectories:

batchfiles,
example files for solving problems in batch mode.

convection,
for the convectiondiffusion equation.

datafiles,
a directory for storing intermediate data.
Programs run with the batchmode command, for instance,
will store their results here.

diffusion,
for the Poisson equation.

graphs,
functions that visualize the computed solutions.

grids,
functions associated with the domain geometry and grid generation.

matlab704,
patched versions of four MATLAB 7.0.4 functions.

navier_flow,
for the NavierStokes equations.

plotfiles,
a directory for storying intermediate data for plotting.

solvers,
specialized fast iterative solvers.

specific_files,
functions which set up specific examples from the reference.

stokes_flow,
for the Stokes equations.
You can go up one level to
the MATLAB source codes.
Last modified on 25 September 2009.