TCELL
Generate Navier Stokes solutions in TCELL region.


TCELL is a FORTRAN77 program which solves the time-dependent Navier Stokes equations in a two dimensional region called the "T 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.

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 "T-Cell" region is a T-shaped region contained in a subset of the unit square [01]x[01]. The top half of the region is a channel open to the left and right, with a rectangular recess in the bottom. The left channel opening extends from [0.0,0.5] to [0.0,1.0], and the right channel from [1.0,0.5] to [1.0,1.0]. The recess is a square, whose bottom extends from [0.25,0.0] to [0.75,0.0], and which extends upward to meet the channel.

             +--------------------+
             +--------------------+
            ->                      ->
      Inlet --->      Channel       --->  Outlet
            ->                      ->
             +-----+          +---+
             +----+|  Recess  |+--+
                  ||          || 
             Void ||          || Void
                  |+----------+|
                  +------------+
      
The grid can be thought of as being generated by a uniform 81 by 81 uniformly spaced grid of nodes, from which the nodes corresponding to the two voids have been deleted. This leaves 4,961 nodes. These nodes are organized into 2400 6-node triangular elements which are quadratic in velocity and linear in pressure.

Usage:

tcell
runs the program

Author:

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

Licensing:

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

Related Data and Programs:

BUMP is a FORTRAN90 program which seeks the appropriate channel inflow and bump shape which will cause the flow to most closely match a given downflow profile.

CHANNEL is a FORTRAN77 program which seeks the appropriate channel inflow which will cause the flow to most closely match a given downflow profile.

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

DIRECTION_ARROWS_GRID is a MATLAB program which reads files of node and velocity data, and, using interpolation, creates a velocity direction plot with arrows place on a uniform grid of the user's specification.

FFNS_SPARSE is a MATLAB program which solves the steady incompressible Navier Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

FFS_SPARSE is a MATLAB program which solves the steady incompressible Stokes equations on an arbitrary triangulated region, using the finite element method and MATLAB's sparse facility.

FREE_FEM_NAVIER_STOKES is a FORTRAN90 program which solves the 2D incompressible Navier Stokes equations in an arbitrary triangulated region.

FREE_FEM_STOKES is a MATLAB program which computes the pressure and velocity for a Stokes flow.

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

INOUT is a FORTRAN77 program which solves the Navier Stokes equations in the "In-Out" region.

MHD_CONTROL is a FORTRAN90 program which controls the evolution of an MHD system so that a particular state is achieved.

MHD_FLOW is a FORTRAN90 program which simulates the evolution of a system governed by the equations for magnetohydrodynamics.

NAST2D is a C++ program which solves the 2D Navier Stokes fluid flow equations

NAST2D_F90 is a FORTRAN90 program which uses the finite volume method to set up and solve the 2D incompressible Navier Stokes equations with heat.

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

TCELL_FLOW is a dataset which contains 500 successive flow solutions of the T-Cell problem.

TCELL_FLOW_MOVIE is an animation of a time simulation of the flow computed by TCELL.

TCELL_MASS is a FORTRAN77 program which computes the mass matrix for the T-Cell problem.

TOMS866 a MATLAB library which is the Incompressible Flow Iterative Solution Software;
this library is commonly called IFISS;
this is ACM TOMS algorithm 866.

VECTOR_PLOT is a FORTRAN90 program which plots velocity fields and the velocity direction fields.

VECTOR_STREAM_GRID is a MATLAB program which reads node and vector data from a file, computes an interpolatory function, evaluates on a uniform grid of points specified by the user, and displays a streamline plot of the vector field.

VELOCITY_ARROWS is a MATLAB program which plots velocity fields.

VELOCITY_ARROWS_GRID is a MATLAB program which reads files of node and velocity data, and, using interpolation, creates a vector plot with arrows place on a uniform grid of the user's specification.

Reference:

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

RUN2 is a run of the program used to generate a solution for comparison with one generated by a reduced order model. 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 new way. (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.