HCELL_STEADY
Steady Fluid Flow in an Hshaped Region
HCELL_STEADY
is a FORTRAN77 program which
solves the timeindependent
or "steady" Navier Stokes equations in a
twodimensional region called the "H Cell",
by HyungChun Lee.
The "HCell" region is an Hshaped 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
Usage:

hcell_steady

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.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
HCELL_STEADY 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 timedependent
Navier Stokes equations in an Hcell region.
HCELL_FLOW_DISPLAY,
a MATLAB program which
can plot the data produced by HCELL.
INOUT,
a FORTRAN77 program which
solves the Navier Stokes equations 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 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 TCell region.
POD_BASIS_FLOW,
a FORTRAN90 program which
extracts dominant solution modes from a set of flow solutions
using POD methods.
Author:
HyunChun Lee,
Ajou University, Korea,
in collaboration
with Max Gunzburger, Janet Peterson, and John Burkardt.
Reference:

Max Gunzburger,
Finite Element Methods for Viscous Incompressible Flows,
A Guide to Theory, Practice, and Algorithms,
Academic Press, 1989,
ISBN: 0123073502,
LC: TA357.G86.
Source Code:
Examples and Tests:

nodes3.txt,
the coordinates of the nodes associated with linear elements;

nodes6.txt,
the coordinates of the nodes associated with quadratic elements;

datar6.txt,
a text file containing node numbers, coordinates, and velocities.

uvr6001.tec,
a data file suitable for viewing with TECPLOT;
List of Routines:

MAIN is the main program for HCELL_STEADY.

CH_IS_DIGIT returns .TRUE. if a character is a decimal digit.

CH_TO_DIGIT returns the integer value of a base 10 digit.

DAXPY adds a multiple of one vector to another.

DDOT forms the dot product of two vectors.

DGBFA factors a double precision band matrix by elimination.

DGBSL solves a double precision band linear system.

DIGIT_INC increments a decimal digit.

DIGIT_TO_CH returns the character representation of a decimal digit.

DSCAL scales a vector by a constant.

ELEMENT_NODE_BANDWIDTH determines the bandwidth associated with the grid.

ELEMENT_NODE_WRITE writes the element node list to a file.

FILE_NAME_INC generates the next file name in a series.

HCELL_DOF_COUNT determines the number of degrees of freedom in the region.

HCELL_DOF_SET assigns degrees of freedom to each node.

HCELL_ELEMENT_COUNT determines the number of elements in the region.

HCELL_ELEMENT_NODE determines the nodes that make up each element.

HCELL_NODE_NUM determines the number of nodes in the region.

HCELL_NODE_XY assigns coordinates to each node.

IDAMAX finds the vector element of largest magnitude.

NODE_EPS creates an EPS file containing an image of the nodes.

NSTOKE solves the NavierStokes equations using TaylorHood elements.

QUAD_A_SET sets quadrature information for the assembly routine.

R8_HUGE returns a huge R8.

REFBSP evaluates a linear basis functions on the reference triangle.

REFQBF evaluates quadratic basis functions on the reference triangle.

SETGRD sets up the grid for the problem.

TRANS transforms data between the reference and physical elements.

UBDRY evaluates boundary conditions at a node.

UV_WRITE writes the velocity values for a given timestep to a file.

UV_WRITE_TEC writes velocity information to a TECPLOT file.

XY3_WRITE writes the coordinates of nodes of 3node triangles to a file.

XY6_WRITE writes the coordinates of nodes of 6node triangles to a file.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 15 November 2006.