Fluid Flow in an H-shaped Region

HCELL is a FORTRAN77 program which solves the time-dependent Navier Stokes equations in a two-dimensional region called the "H Cell".

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. One set of such data is stored as the TCELL flow dataset.

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. Programs that can be used for such an analysis include CVT_BASIS and POD_BASIS.

The "H-Cell" region is an H-shaped region.

          |              :     :       |
    row 3 |   (3,1)      :(3,2): (3,3) |
          |              :     :       |
                         |     |
    row 2     empty      |(2,2)|  empty
                         |     |
          |              :     :       |
    row 1 |   (1,1)      :(1,2): (1,3) |
          |              :     :       |

              col 1       col 2  col 3


runs the program, reading the file "up000.txt" for the initial values of the horizontal and vertical velocities, and the pressure, at each node. Output files include the series "up001.txt", "up002.txt" and so on, containing flow quantities at successive time steps.


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


HCELL 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_FLOW_DISPLAY, a MATLAB program which can plot the data produced by HCELL.

HCELL_STEADY, a FORTRAN77 program which solves the time-independent or "steady" Navier Stokes equations in an H-cell region.

INOUT, a FORTRAN77 program which solves the Navier Stokes equations in the "In-Out" 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 which models the evolution of an MHD system.

NAST2D, a C++ program which computes the pressure and velocity for a Navier Stokes flow.

TCELL a FORTRAN77 program which solves the Navier Stokes equations in the T-Cell region.

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


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


  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.

Source Code:

Examples and Tests:

There are six sets of inflow and outflow vents in the flow region. A basis flow profile is specified for each set of vents. However, for each vent group I, there is also a multiplier BETA(I) which can be used to modulate the flow strength. To perform parameter studies, it was decided to consider datasets, each of which contained seven different settings for all the BETA's. (Thus, such a dataset contains 42 numbers.) Datasets were generated in a variety of ways:

List of Routines:

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

Last revised on 13 November 2006.