VGM Logo

Volume Grids... Manipulations... 3D! What's this stuff used for?

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, NASA CR-4772, 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 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.
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 to another.

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.

Through the use of the VGML, the VGM code can do many types of manipulations, including:

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 Remapping technique.

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 and smoothing.

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

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