INOUT
Navier Stokes solutions in the INOUT region.


INOUT is a program in FORTRAN77, using double precision arithmetic, which solves the time-dependent Navier Stokes equations in the "INOUT" region.

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.

Usage:

inout
runs the program.

Author:

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

Related Data and Programs:

BUMP is an executable FORTRAN90 program which solves a fluid flow problem in a channel including a bump which obstructs and redirects the flow.

CHANNEL is a program which computes the pressure and velocity for a Navier Stokes flow in a channel. It is available in a FORTRAN77 version and a FORTRAN90 version.

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 for solving 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 for solving 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 MATLAB program for solving the steady incompressible Navier Stokes equations on an arbitrary triangulated region, using the finite element method.

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_FLOW_MOVIE is a MATLAB script which can be used to animate all the flow solutions from the dataset into a movie.

INOUT_FLOW_MOVIE is an MP4 animation of the data in this directory.

INOUT_FLOW_SNAPSHOT is a MATLAB script which can be used to display a single flow solution from the dataset.

INOUT_FLOW2 is a collection of solutions to flow in the "inout" region.

MHD_CONTROL is an executable FORTRAN90 program which tries to control the evolution of an MHD system so that a particular state is achieved.

MHD_FLOW is an executable FORTRAN90 program for the evolution of an MHD system.

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

NAST2D_F90 is a FORTRAN90 program which computes the pressure and velocity for a Navier Stokes flow.

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

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

TRIANGULATION_PLOT is a FORTRAN90 program which can be used to draw an image of the nodes and elements used in the triangulation of the region.

VECTOR_PLOT is a FORTRAN90 program which can be used to draw an image of the velocity vector field over the region.

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

List of Routines:

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


Last revised on 02 December 2006.