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