VELOCITY_ARROWS_GRID
Velocity Vector Plot,
Uniform Grid from Scattered Data


VELOCITY_ARROWS_GRID is a MATLAB program which reads velocity data defined at possibly scattered points, and creates a vector plot of the velocity field on a uniform grid of user-specified density.

The program is mainly a preprocessor for MATLAB's quiver routine. It reads the (X,Y) coordinates of a set of points from a "node" file, and the corresponding horizontal and vertical velocities from a "velocity" file. It uses MATLAB's griddata facility to create an interpolatory function to the given data, which is then sampled on a regular grid and displayed.

The program is especially useful if simply displaying the original data is unsuitable, perhaps because there are too many points, or too few, or because the density of points varies greatly.

Both the node and velocity files are simple "table" files whose format is described online.

This program was written as a quick and convenient way to view finite element data. It can also be used for any situation in which a collection of points and velocities are available.

However, a small "sin" is committed when we use this program on finite element data, since we take only the node locations and velocities, but not the elements. We simply use MATLAB's grid data feature which constructs a cubic spline interpolant to scattered data. This is OK, and probably doesn't distort the data too much, but in fact, we are not actually viewing values of the finite element function, and there is no guarantee that this surrogate function will actually satisfy the boundary conditions or other characteristics of the finite element function.

VELOCITY_ARROWS_GRID is based in part on a plotting routine written by Professor Hyung-Chun Lee of Ajou University, Korea.

Usage:

velocity_arrows_grid ( node_file, velocity_file, scale, number )
where

Licensing:

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

Languages:

VELOCITY_ARROWS_GRID is available in a MATLAB version.

Related Data and Programs:

DIRECTION_ARROWS, a MATLAB program which plots the velocity direction field.

DIRECTION_ARROWS_GRID, a MATLAB program which plots the velocity direction field on a uniform grid of density specified by the user.

TABLE, a format which is used for the input files to this program.

VECTOR_MAGNITUDE_GRID, 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 contour plot of the vector magnitude.

VECTOR_STREAM_GRID, 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.

VECTOR_PLOT, a FORTRAN90 program which can read an XY file and a UV file and plot the velocity and velocity direction fields.

VELOCITY_ARROWS, a MATLAB program which plots a velocity field.

VELOCITY_ARROWS_SEQUENCE, a MATLAB program which can process a set of many data files with names that are numbered in sequence.

VELOCITY_ARROWS_SEQUENCE2, a MATLAB program which reads a single XYUV file of nodes and velocities, plots the data and writes it to a PNG file, and then repeats the process for the next file.

Source Code:

Examples and Tests:

BIG_CAVITY is a fluid flow problem involving an irregular mesh of 8,185 nodes in a square region. If you try to plot the velocity at every point, you will get an unusable blur. Using this software, you can ask for a plot on a 10x10 grid or a 20x20 grid, for instance.

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


Last revised on 29 September 2006.