The VGM code is a grid manipulation tool, used to alter, adapt, smooth,
and even generate surface and volume grids based on existing 2D and 3D
data. It is designed to bridge the gaps between CAD systems, Grid Generation
packages and a deliverable/usable high fidelity surface or volume grid
to be used for Computational Fluid Dynamics (CFD) simulations. This code
eliminates the need to generate specific computer codes to do a range of
simple to complex alterations on a grid. The VGM code does this by providing
a Grid Manipulation Language (VGML), to execute various simple commands
controlled by associated arguments. The manual for this code,
can be down loaded for a detalied description of what is available in
the code. A brief overview of the commands available in the VGML are:
The VGM code supports operation of interactive or batch procedures. When in
a batch mode the VGML also supports comment lines and blank lines to improve
VGML Script readability. The VGML allows for the use of multiple execution
of each command in succession to offer the capacity to build up complex grid
manipulations from the simple commands.
- The allocate command enables the extraction of volume grid data and the
generation of array variables by allocating internal
memory for further use.
- The blend command provides an interpolation tool for grid based parameters
including arclength and normalized arclength parameters in all directions,
and physical grid coordinates. The blend command controls interpolation
through the use of 1D Linear,Elliptic, and Spline
functions, 2D Trans-Finite Interpolation (TF) and Local
Arclength Cell Sizing (LARCS) functions and 3D planar and whole volume
interpolation with 3-D TFI. The command also allows the use of
the computational or physical domains for all interpolations.
- The combine command enables the combination of single and multiple blocks
to form a single contiguous set of grid blocks.
- The copydist command copies grid distributions from one grid to another to
provide smoothing techniques, grid adaption based on previously CFD
solved grids, and inserting parametric volume grids for parametric design
changes and evaluation.
- FOR ... NEXT
- The for ... next command enables the use of a loop for repetitive
operations of any of the VGM commands, except to exit the software. It
permits loop counter variable substitution for the development of
abstract scripting for general manipulations.
- The quit command ends the processing of commands within VGM.
- The read command is the primary method for importing grid and CFD solution
data for all manipulations. It allows the styles of PLOT3D, GRIDGEN,
TECPLOT, and LAURA, in ASCII, Fortran Unformatted, or Binary format. The
read command provides a method to link solution data to read in surface
and volume grids, while offering flexibility in the specific styles of
PLOT3D and GRIDGEN.
- The redist command is the basis for all grid manipulations as it allows
for easy grid re-dimensioning, adaption, smoothing and combinations of
each. The redist command provides the distribution functions of
equal, sine, -sine, cosine, Vinokur,
Cubic, Vin2Cub, LAURA, and general functions.
The last 5 distribution types require controlling parameters for
determining the function to be used, where each parameter can be a VGM
computed constant or array variable. The command also allows for the
basis function for the redistribution to spline or linearly based, while
offering redistribution in the computational or physical domains.
- The set command provides a mechanism to extract, merge and insert grid
data into existing grid blocks, evaluate grid parametrics described in the
allocate command, and convert surface grid data to volume grid data. This
command also permits the addition, subtraction, multiplication and
division of grid and general variable data.
- The smooth command allows for 1D smoothing through Hermite Vector
Interpolation based on a specified order of accuracy, combined with
Dirichlet (Fixed-Grid), or Neumann (Moving-Grid) boundary conditions. All
of the distribution functions used in the redist command are also
available in the smooth command, but this command only allows smoothing in
the physical domain.
- The tfi command enables the generation and smoothing of surface and
volume grids through 2D and 3D formulations. This command only works on
a grid, not array variables.
- The write command provides all the output for VGM. The command supports
all input styles and formats, as well as extraction of grid data and
re-orientation of grid physical and computational coordinates. When this
command is used in combination with the read command, the VGM code can
become a simple conversion tool to switch grid data from one style/format
Through the use of the VGML, the VGM code can do many types of manipulations,
The VGM code is available to any citizen of the United
States of America, and the requesting organization or individual must
reside within the borders of the United States of America. To request a
Free copy of the VGM code, contact James Godsey The
VGM code is Restricted software according to the Arms Export
Control Act (Title 22, U.S.C., Sec 2751, et seq.) and The Export
Administration Act of 1979, as amended, Title 50, U.S.C., App. 2401,
et seq. Violations of these export laws are subject to severe criminal
Generation of Viscous Structured Grids. The VGM code
provides this by easily converting inviscid generated grids to viscous
grids with the redist command in the computational domain. This
process does not introduce negative volumes, but it can improve grid
orthogonality at the wall of a configuration.
Generation of Wakefield Volume Grids. Wakes can be
easily generated by extruding exit planes of an existing volume grid,
using the set, redist, and TFI commands.
Generation of Volume Grids from GRIDGEN. By reading in
a GRIDGEN *.mlga file and using the set, write and TFI commands, an
algebraic grid can be easily generated.
Multiple Zone Grid Adaption. By utilizing a flowfield
computation, adapting to several phenomenon such as shear layers and
internal shocks can be done readily utilizing the Parametric
Recycling/Improving the Quality of Existing Grids.
If a user has a grid that is the result of poor grid adaption,
a poor PDE (Partial Differential Equation) solution though improper
boundary condition control, or even poor algebraic grid generation,
the VGM code can smooth and regenerate each of these grids quickly
and efficiently without the necessity to use complex time consuming
codes over and over again.
Expanding Grids for Improved Flow Capture. The VGM code
provides a variety of mechanisms to expand the flow domain for CFD
applications where flow capture must be obtained. Use of these
techniques is fast because they are all algebraic, bot construction
When you send the Usage Agreement form, please notify
Stephen J. Alter so the request may be tracked. Please address
technical questions to Mr. Alter as well.
NASA Official Responsible for Content --
Stephen J. Alter
Last Updated September 17, 2008
Feedback on Langley Products and Services