toms866 
    
    
    
      toms866,
      a MATLAB code which 
      embodies version 2.2 of the 
      Incompressible Flow Iterative Solution Software (IFISS), 
      that can model the
      steady (time-independent) 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
      
                 https://www.maths.manchester.ac.uk/~djs/ifiss/ 
    
    
      The text of many ACM TOMS algorithms is available online
      through ACM:
              
                         https://calgo.acm.org/ 
      or NETLIB:
      
                 https://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 L-shaped region;
        
 
        - 
          P3, diffusion in the square, with an exact analytic solution;
        
 
        - 
          P4, diffusion in an L-shaped 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 Navier-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, with a choice of leaky, watertight
          or regularized boundary conditions;
        
 
        - 
          S4, boundary layer flow over a flat plate, (Blasius flow);
        
 
      
    
    
      Licensing:
    
    
      The information on this web page is distributed under the MIT license.
    
    
      Languages:
    
    
      toms866 is available in
      a MATLAB version and
      an Octave version.
    
    
      Related Data and Programs:
    
    
      
      arby4, 
      a Fortran90 code 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 code which 
      solves a fluid flow problem
      in a 2D channel including a bump which obstructs and redirects the flow.
    
    
      
      channel,
      a Fortran90 code which 
      solves a fluid flow problem in a channel.
    
    
      
      dolfin,
      a Python code which
      is 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, a flow-solver.
    
    
      
      ifiss3.3, 
      a MATLAB code which 
      embodies the IFISS software that can model the
      steady (time-independent) flow of a 2D incompressible fluid,
      by Howard Elman, Alison Ramage, David Silvester.
    
    
      
      inout, 
      a Fortran77 code 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 code which
      simulates the evolution of a system governed by the equations for 2D
      magnetohydrodynamics.
    
    
      
      nast2d,
      a C++ code which
      solves the 2D Navier Stokes fluid flow equations  
    
    
      
      ns3d_fem,
      a MATLAB code 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.
    
    
      
      tcell_flow, 
      a dataset directory which 
      contains 500 time steps of Navier-Stokes 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@na-net.ornl.gov 
         
      
    
    
      Reference:
    
    
      
        - 
          Howard Elman, Alison Ramage, David Silvester,
          Finite Elements and Fast Iterative Solvers with
          Applications in Incompressible Fluid Dynamics,
          Oxford, 2005,
          ISBN: 978-0198528678,
          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.
         
      
    
    
      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 non-UNIX 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 convection-diffusion 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 Navier-Stokes 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.
        
 
      
    
    
    
      Last modified on 25 September 2009.