<html> <head> <title> TOMS866 - IFISS - Incompressible Flow Iterative Solution Software </title> </head> <body bgcolor="#eeeeee" link="#cc0000" alink="#ff3300" vlink="#000055"> <h1 align = "center"> TOMS866 <br> IFISS - Incompressible Flow Iterative Solution Software </h1> <hr> <p> <b>TOMS866</b> is a MATLAB library which contains the IFISS program, which is software that can model the steady (time-independent) flow of a 2D incompressible fluid. </p> <p> The library includes algorithms for discretization by mixed finite element methods and for a posteriori error estimation of the computed solution. </p> <p> The most recent version of the software may be found by going to <a href = "http://www.maths.manchester.ac.uk/~djs/ifiss/"> http://www.maths.manchester.ac.uk/~djs/ifiss/ </a> </p> <p> The text of many ACM TOMS algorithms is available online through ACM: <a href = "http://www.acm.org/pubs/calgo/"> http://www.acm.org/pubs/calgo</a> or NETLIB: <a href = "http://www.netlib.org/toms/index.html"> http://www.netlib.org/toms/index.html</a>. </p> <p> The four classes of problems that can be solved by this code are identified by an alphabetic code: <ul> <li> <b>P</b>, the Poisson or diffusion equation; </li> <li> <b>CD</b>, the convection/diffusion equation; </li> <li> <b>S</b>, the Stokes equations; </li> <li> <b>NS</b>, the Navier Stokes equation; </li> </ul> </p> <p> There are four predefined example problems for the Poisson or diffusion equation: <ul> <li> <b>P1</b>, diffusion in a square plate; </li> <li> <b>P2</b>, diffusion in an L-shaped region; </li> <li> <b>P3</b>, diffusion in the square, with an exact analytic solution; </li> <li> <b>P4</b>, diffusion in an L-shaped region with an exact analytic solution; </li> </ul> </p> <p> 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: <ul> <li> <b>CD1</b>, constant convective velocity (0,1), with an exponential boundary layer; </li> <li> <b>CD2</b>, convective velocity (0,1+(x+1)^2/4); characteristic boundary layers. </li> <li> <b>CD3</b>, convective velocity (-sin(pi/6),cos(pi/6)), with a solution discontinuity that is smeared by viscosity; </li> <li> <b>CD4</b>, a simple model for temperature diffusion in a cavity; </li> </ul> </p> <p> The four predefined Stokes problems: <ul> <li> <b>S1</b>, steady horizontal channel flow, (Poiseuille flow); </li> <li> <b>S2</b>, slow flow in a rectangular duct with sudden expansion, flow over a step; </li> <li> <b>S3</b>, driven cavity flow; </li> <li> <b>S4</b>, colliding flow; </li> </ul> </p> <p> The four predefined Navier-Stokes problems: <ul> <li> <b>S1</b>, steady horizontal channel flow, (Poiseuille flow); </li> <li> <b>S2</b>, slow flow in a rectangular duct with sudden expansion, flow over a step; </li> <li> <b>S3</b>, driven cavity flow, with a choice of leaky, watertight or regularized boundary conditions; </li> <li> <b>S4</b>, boundary layer flow over a flat plate, (Blasius flow); </li> </ul> </p> <h3 align = "center"> Licensing: </h3> <p> The computer code and data files described and made available on this web page are distributed under <a href = "../../txt/gnu_lgpl.txt">the GNU LGPL license.</a> </p> <h3 align = "center"> Related Data and Programs: </h3> <p> <a href = "../../f_src/arby4/arby4.html"> ARBY4</a>, 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. </p> <p> <a href = "../../f_src/bump/bump.html"> BUMP</a>, a FORTRAN90 program which solves a fluid flow problem in a 2D channel including a bump which obstructs and redirects the flow. </p> <p> <a href = "../../f_src/channel/channel.html"> CHANNEL</a>, a FORTRAN90 program which solves a fluid flow problem in a channel. </p> <p> <a href = "../../py_src/dolfin/dolfin.html"> DOLFIN</a>, PYTHON scripts which are used with the DOLFIN library to set up and solve a wide variety of problems using the finite element method. </p> <p> <a href = "../../f77_src/inout/inout.html"> INOUT</a>, 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. </p> <p> <a href = "../../f_src/mhd_flow/mhd_flow.html"> MHD_FLOW</a>, a FORTRAN90 program which simulates the evolution of a system governed by the equations for 2D magnetohydrodynamics. </p> <p> <a href = "../../cpp_src/nast2d/nast2d.html"> NAST2D</a>, a C++ program which solves the 2D Navier Stokes fluid flow equations </p> <p> <a href = "../../m_src/ns3d_fem/ns3d_fem.html"> NS3D_FEM</a>, a MATLAB program which sets up and solves a finite element formulation of the steady incompressible 3D Navier Stokes equations on a user-defined geometry. The program can output graphics files for TECPLOT, VU or the VTK format used by PARAVIEW. </p> <p> <a href = "../../datasets/tcell_flow/tcell_flow.html"> TCELL_FLOW</a>, a dataset directory which contains 500 time steps of Navier-Stokes flow in a 2D "T"-shaped region. </p> <h3 align = "center"> Author: </h3> <p> <ul> <li> Howard Elman,<br> Department of Computer Science,<br> University of Maryland,<br> College Park, Maryland 20742,<br> USA,<br> elman@cs.umd.edu </li> <li> Alison Ramage,<br> Department of Mathematics,<br> University of Strathclyde,<br> 26 Richmond Street,<br> Glasgow G1 1XH,<br> United Kingdom,<br> a.ramage@strath.ac.uk </li> <li> David Silvester,<br> School of Mathematics,<br> University of Manchester,<br> Sackville Street,<br> Manchester M60 1QD,<br> United Kingdom,<br> na.silvester@na-net.ornl.gov </li> </ul> </p> <h3 align = "center"> Reference: </h3> <p> <ol> <li> Howard Elman, Alison Ramage, David Silvester,<br> Finite Elements and Fast Iterative Solvers with Applications in Incompressible Fluid Dynamics,<br> Oxford, 2005,<br> ISBN: 978-0198528678,<br> LC: QA911.E39. </li> <li> Howard Elman, Alison Ramage, David Silvester,<br> Algorithm 866: IFISS, A Matlab Toolbox for Modelling Incompressible Flow,<br> ACM Transactions on Mathematical Software,<br> Volume 33, Number 2, June 2007. </li> <li> Howard Elman, Alison Ramage, David Silvester,<br> Incompressible Flow Iterative Solution Software (IFISS), Installation and Software Guide,<br> <a href = "http://www.maths.manchester.ac.uk/~djs/ifiss//ifiss_guide_3.0.pdf"> http://www.maths.manchester.ac.uk/~djs/ifiss//ifiss_guide_3.0.pdf</a>. </li> </ol> </p> <h3 align = "center"> Source Code: </h3> <p> <ul> <li> <a href = "activemode.m">activemode.m</a>, turns off batch processing for IFISS. </li> <li> <a href = "batchmode.m">batchmode.m</a>, enables batch processing for IFISS test problems. The command <b>batchmode('P2')</b> uses the file <b>diffusion/test_problems/P2_batch.m</b> to generate and solve the second test problem for the Poisson (diffusion) equation. </li> <li> <a href = "default.m">default.m</a>, gets response to IFISS prompt. </li> <li> <a href = "gohome.m">gohome.m</a>, positions command prompt at top level directory. </li> <li> <a href = "helpme.m">helpme.m</a>, IFISS interactive help facility. </li> <li> <a href = "ifiss.m">ifiss.m</a>, returns IFISS version number. </li> <li> <a href = "install_pc.m">install_pc.m</a>, sets up IFISS on non-UNIX computer. </li> <li> <a href = "install_unix.m">install_unix.m</a>, sets up IFISS on UNIX computer </li> <li> <a href = "readme.m">readme.m</a>, contains information to be read by the user. </li> <li> <a href = "setpath.m">setpath.m</a>, sets the IFISS search path. </li> </ul> </p> <h3 align = "center"> Subdirectories: </h3> <p> <ul> <li> <a href = "batchfiles/batchfiles.html">batchfiles</a>, example files for solving problems in batch mode. </li> <li> <a href = "convection/convection.html">convection</a>, for the convection-diffusion equation. </li> <li> <a href = "datafiles/datafiles.html">datafiles</a>, a directory for storing intermediate data. Programs run with the <b>batchmode</b> command, for instance, will store their results here. </li> <li> <a href = "diffusion/diffusion.html">diffusion</a>, for the Poisson equation. </li> <li> <a href = "graphs/graphs.html">graphs</a>, functions that visualize the computed solutions. </li> <li> <a href = "grids/grids.html">grids</a>, functions associated with the domain geometry and grid generation. </li> <li> <a href = "matlab704/matlab704.html">matlab704</a>, patched versions of four MATLAB 7.0.4 functions. </li> <li> <a href = "navier_flow/navier_flow.html">navier_flow</a>, for the Navier-Stokes equations. </li> <li> <a href = "plotfiles/plotfiles.html">plotfiles</a>, a directory for storying intermediate data for plotting. </li> <li> <a href = "solvers/solvers.html">solvers</a>, specialized fast iterative solvers. </li> <li> <a href = "specific_files/specific_files.html">specific_files</a>, functions which set up specific examples from the reference. </li> <li> <a href = "stokes_flow/stokes_flow.html">stokes_flow</a>, for the Stokes equations. </li> </ul> </p> <p> You can go up one level to <a href = "../m_src.html"> the MATLAB source codes</a>. </p> <hr> <i> Last modified on 25 September 2009. </i> <!-- John Burkardt --> </body> </html>