Navier Stokes solutions in the INOUT region.

INOUT is a FORTRAN77 program which solves the time-dependent Navier Stokes equations in the "INOUT" region, by Hyung-Chun Lee.

As time increases, other flow parameters may be varied as well. For this code, the flow parameter that can vary is the magnitude of the inflow specified at the left boundary. The program stores the results of each timestep in a file. Each solution may be thought of as a "snapshot" of the gradual evolution of the flow field over time. In a typical run, 500 such files might be created.

A collection of snapshot files may be analyzed to seek a small underlying basis of fundamental flows. This basis may be used to approximate the entire set, or indeed to generate a reduced basis program that can quickly and cheaply compute new flow solutions whose flow parameters vary in small ways from those of the original set.

The "INOUT" region is contained in the unit square, [0,1] x [0,1]. There is an inlet on the left side, from [0,0] to [0,0.2], and an outlet on the right side, from [1,0.8] to [1.0,1.0].

       ||                    --->
       ||                    ----->
       ||                    --->
       ||                     ++
       ||                     ||
       ||                     ||
       ||                     ||
       ||                     ||
       ++                     ||
      --->                    ||
      ----->                  ||
      --->                    ||
There are 1,681 nodes in a 41 by 41 evenly spaced grid. The nodes are organized into 800 6-node triangular elements which are quadratic in velocity and linear in pressure.


runs the program.


Hyun-Chun Lee,
Ajou University, Korea,
in collaboration with Max Gunzburger and John Burkardt.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


INOUT is available in a FORTRAN77 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.

CVT_BASIS_FLOW, a FORTRAN90 program which extracts dominant solution modes from a set of flow solutions using CVT methods.

HCELL, a FORTRAN77 program which solves the Navier Stokes equations in the H-Cell region.

INOUT_FLOW2, a dataset directory which contains solutions to flow in the "inout" region.

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, a C++ program which computes the pressure and velocity for a Navier Stokes flow.

POD_BASIS_FLOW, a FORTRAN90 program which extracts dominant solution modes from a set of flow solutions using POD methods.

TCELL, a FORTRAN77 program which solves the Navier Stokes equations in the T-Cell 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.


  1. 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.
  2. John Burkardt, Max Gunzburger, Hyung-Chun Lee,
    Centroidal Voronoi Tessellation-Based Reduced-Order Modelling of Complex Systems,
    SIAM Journal on Scientific Computing,
    Volume 28, Number 2, 2006, pages 459-484.

Source Code:

Examples and Tests:

RUN1 is a run of the program used to generated "snapshots", which are flow solutions at equally spaced time intervals. The program expects an input file, containing coefficients that define the solution at the initial time. During this run, the boundary conditions are varied in a way that is intended to make the system exhibit many varied behaviors. (Right now, to change the boundary conditions requires altering the source code of the program.)

List of Routines:

You can go up one level to the FORTRAN77 source codes.

Last revised on 02 December 2006.