NASA Center for AeroSpace. Information. 800 Elkridge. Landing. Road. Linthicum. Heights, MD 21090-2934. (301) 621-0390. National Technical. Information.
NASA
The Volume Grid Reusability Tool Stephen Lockheed
Manipulator
Contractor
(VGM):
Report
4772
A Grid
J. Alter Martin
Engineering
& Sciences
Company
• Hampton,
National Aeronautics and Space Administration Langley Research Center • Hampton, Virginia 23681-0001
Virginia
Prepared for Langley Research Center under Contract NAS1-96014
April
1997
Printed
copies
NASA
Center
800 Elkridge Linthicum
available
for AeroSpace Landing
Heights,
(301) 621-0390
from the following: Information
Road
MD 21090-2934
National
Technical
Information
5285 Port Royal Road Springfield, VA 22161-2171 (703) 487-4650
Service
(NTIS)
Abstract
This
document
software. grids
is a manual
The
code
to improve
volumes,
and
command
can code
the
This
this
successfully good
next used
and
are
Grid
Manipulation
thereby
(VGM)
existing
surface
and volume
line skewness,
removal
of negative
to flow field gradients. offering
an execution
The
style
the one
the
The software ca.pability
of the
code.
uses a.
of executing The
command
redirected
file, or interactively
C, offering
portability
another
a command
as well as describe
reference problems
the
and
associated
this
of such
by trouble with
and
and
section
grid generation shooting generated
sections scripts
works
has
been
that
grid
well,
is required
to grid
software
can
but
to view
manipulation;
be utilized.
manipulation
complex
adapt,
a tutorial
Graphics
code
performed.
a.nd the
simple
Silicon the
(FAST)
software
is an introduction
strengths
to a. wide
it is recommended
Toolkit
manipulations
first
to smooth,
code
require though
visualization
management
to solve actual guide
the
codes
machines;
Software
The
The
describe
accompanied
ma.nipulations
Analysis
from
memory
generation on such
applied.
where
TT and
To use
Flow
resulting and
are
grid
tested
architecture.
8 sections with
FORTRAN
most
of 14 sections.
describe
These and
Since
Sun
applicable
in conjunction
commands
grids
by a UNIX
ANSI
thoroughly
grids
following
computations.
with
be used.
consists
sections The
of grid
during
code
can be effectively
volume
it is most two
VGM
been
to the
software
manual
guage.
grid
Volume
or manipulate
all manipulations
written
has
visualizer
surface The
volume
a single
pla.tforms.
code
ported
visualization
to alter
the
the reduction
and
to the
has been
of computer
machines,
where
on
to use
is executing.
code
variety
designed
to perform
be input
how
through
of surface
lnanipula.tions
while
the
quality
adaption
language
any
is specifically
grid
language
multiple
describing
command
manipula.tions reuse
existing
that
describes
problems. to aid
The
The
tha.t grids how
lancan
be
for \;arious to use
the
last two sections
in the
for manipula.tion
use of the control.
code
Contents
1
Introduction
2
Memory 2.1 Grid
3
4
13 Management Blocks ....................................
2.2
Internal
Variables
2.3
Memory
Limits
Language Script
Readability
3.3
Script
Progress
4.:3
Grid
17 19
Con]lnand
4.2
17
Specifics
3.2
4.1
................................. ..................................
3.1
Input
15 15
and
Argument
Ordering
..........................
19
................................. and
Results
20
...........................
20
Output
21
Commands READ
....................................
and
WRITE
4.2.1
PLOT3D
4.2.2
GRIDGEN
4.2.:3
Solution
4.2.4
TE(',PLOT
4.2.5
Re-orienting
Manipulative
Usage
Coordinates
Capabilities
Grids
4.3.3
Surface
4.3.4
Re-orienting
and
and
Extracting, 6.1
Extracting
Grid
6.2
Merging
6.:3
Combining
Grid
Merging
Blocks
Grid
Blocks
26 27
..........................
27
Extraction
28
......................
to Generate
Volume
Grids
...........
30
Manipulations
Usage
Inserting
.........................
28
Parameters
Inserting,
26
.............................
Data
for
ALLOCATE
and
Styles
Curve
Parameters Grid
24
............................
Grid
SET
24
...............................
TM
Coarsening
5.2
2:3
..................................
Com'erting
Computing
23
................................
4.3.2
5.1
............................
.................................
4.:3.1
Based
21
31
...........................
32
...........................
34
and
Combining
............................. ............................... ..............................
Grids
and
Grid
Parameters
37 39 :39 42
Copying Grids 7.1 COPYDIST Usage ................................ 7.2 Manipulative Capabilities of COPYDIST ....................
45 48 48
8 Redistributing Grids 8.1 REDIST Usage ..................................
51 52
9 Smoothing Grids 9.1 Parametric Re-mapping ............................. 9.1.1 One-DimensionalParametric Re-mapping ............... 9.1.2 Two-Dimensiona.1 Parametric Re-mapping ...............
61 61 63
9.1.:3
10
Three-Dimensional
9.2 9.3 9.4
Smoothing
CFD
Adapting
Vector
with
Trans-Finite
Interpolation
Summary
Re-mapping
Interpolation
..............
74
...................
76
...............................
of Techniques
78
.............................
82 83
10.1
Coarse
10.2
Adaption
by Changing
10.:3
Sun]nlary
Of Adaption
11 Volume
Parametric
72
Grid
to Fine
Grid
Ada.ption
Grid
.......................
Densities
Techniques
83
......................
86
........................
88
Generation
89
11.1
Three-Dimensional
11.2
C,orrecting
11.3
Straight
11.4
Summary
Trans-Finite
Grid Line
Coordinates
Generation
Interpolation
.................
89
...........................
96
.............................
of Generation
Capabilities
97
......................
99
12 Tutorials 12.1
12.2
Tutorial
I: Coarsening
a Volume
12.1.1
Purpose:
12.1.2
Steps
To Be Used
12.1.:3
VGM
Script
12.1.4
Results
Tutorial
Grid
101
.............................
a Single
Block
Steps
12.2.:3 12.2.4
VGM Script ................................ Results ...................................
To Be [_sed
Grid
.............
103
TFI
Grid
10:3
.............................
Smoothing
Purpose:
12.:3.2
Steps
12.:3.:3 12.3.4
VGM Script ................................ Results ...................................
10:3 104 105
........................
105
.................................. To Be Used
C,onversion
Purpose:
Volume
..................................
12.3.1
12.4.1
102 102
12.2.2
IV:
101
................................
Purpose:
Tutoria.1
101
...................................
II: Decomposing
III:
......................
..................................
12.2.1
12.:3 Tut.orial
12.4
101
105
.............................
of an Inviscid
..................................
105 106 107
Grid
to a Viscous
Grid
........
107 107
12.4.2 StepsTo Be Used ............................. 12.4.3 VGM Script ................................ 12.4.4 Results................................... 12.5 Tutorial V: Merging Multiple Block DecompositionsInto a Single Block Volume Grid ..................................... 12.5.1 Purpose: .................................. 12.5.2 StepsTo Be Used ............................. 12.5.3 VGM Script ................................ 12.5.4 Results...................................
108 108 109 110 110 110 110 110
13 Cmnmand Index 13.1 Input and Output ................................. 13.2 Distributions ................................... 13.3 Variable Manipulation .............................. 1:3.4Block Manipulators ................................ 13.5 Grid Generation .................................. 1:3.6Programming Language .............................
113 113 115 117 119 121 12:3
14 Trouble Shooting and Errors 14.1 LanguageErrors ................................. 14.2 Manipulation Colnlnand Errors ......................... 14.2.1 ALLOCATE Comma,nd ......................... 14.2.2 BLEND Command ............................ 14.2.:3COMBINE Command ..........................
125 126 129 129 129
14.2.4
COPYDIST
14.2.5
R EDIST
14.2.6
SET
Command Command
Command
14.2.7
SMOOTH
14.2.8
TFI
Command
14.:3 Redistribution
Errors
14.4
Input
and
..............................
Command
Output
.......................... ............................ ...........................
.............................. ...............................
Errors
1:31 1:31 132 1:34 1:35 1:36 1:37
.............................
References
142 146
5
List
of Tables
2.1
VGM
Memory
3.1
VGM
comma,nd
5.1
VGM
grid
6.1
Initial
6.2
New blocking
limits;
summa_ry
pa,rameters
blocking
both
strategy stra,tegy
computer
and
language
...............
.............................
(intrinsics) for NASA
19
......................... proposed
...............................
17
31 SSTO ...............
39 42
List
of Figures
5.1
Arclength
parameter
space
6.1
Initial
multiple
block
7.1
Effects
of the
copydist
_._
Effects
of the
linear
7.3
Effects
of arclength
8.1
Effects
of equal,
8.2
(',ell to cell scaling
8.:3
Effects
8.4
(',ell to cell scaling
8.5
Effects
of redist
8.6
Effects
of parametric
9.1
Initial
9.2
Domain
9.3
Domain
9.4
Linear
9.5
Kinked
9.6
Elliptic
9.7
Spline
9.8
Iterative
9.9
TFI
9.10
LARCS
9.11
Poor
9.12
Improved
9.13
Poorly
9.14
Appropriately
9.15
Order
9.16
Identified
9.17
Three-dilnensional
10.1
Initial
command
effects effects
spacing
functions
.............
domain
of an adapted
and
based
blending
for blending
interpolation
lines
from function function
smoothing
blending elliptic
region
adapted
with kinked
in the
boundaries
used
dimensiolml
for one-dimensional
64 66 67
grid
the
method
lines lines
grid
in a specific in the
entire
blending
lines grid
in two lines
plane
smoothing
74
plane
the
3dp
for grid
adapted
based grid
on the
from
....
75
blending.
smoothing.
. .
Slnoothing.
...............
used
on a McDonnell
CFD
solution
to the
75 76 77 79 S0
original
Douglas
volume proposed
.................................... grid
71
................. grid
70 73
for grid of TFI
function..
70
dilnensions.
through
of TFI
region. grid..
in two dimensions.
at a symmetry
in the method smoothing
68 69
spline
condition
of an improved
of a fine grid
60
a daption.
a grid ........
grid
kinked
at a symmetry
used
smoothing grid
lines
boundary
for one
58
for grid
grid ............
kinked
56
cell sizes ......
................
kinked
to smooth
condition
of derivatives
configuration
to smooth used
boundaries chosen
coarse
used
orthogonal
boundary
to smooth to smooth grid
function
PDE
chosen
used
functions.
a grid .............
paralneters
of kinked
function
blending
existing
54 55
a grid ....................
adaption
used
. .
.......
distribution
for smoothing/adapting
poor
functions.
redistributions
non-adapted
49 53
functions
vin2cub
by retaining
physical
46
.........
distribution spacing
and
for smoothing/adapting
elliptic
cos
laura
cubic,
of a grid
and
....
and
......
47
adaption
and
of vinokur,
domain
41
..............
for grid
-sin,
32
SSTO .........
arclength
interpolation
blending
blending
Iifitially
cos
vin2cub,
smoothing
blending
10.3
used
of sin,
cubic,
dolna.in
grid
Fine
basis
and
-sin,
proposed
in normalized
spline
parameter sin,
.......
of NASA
based and
10.2
...............
decomposition
and
of vinokur,
outer
differences
grid.
82
X33 84
ALGNSHI
i, ii_i.i_,_ [;
•
This the
error
results
limits
of the
fron] blend
using
the
require
interpolation
extrapolation
extrapolation
can
not
be done,
array
and
the
arclength
variable
elliptic
only
beyond
linear
domain
type
the
the
extrapolation to be used
for the
limits
command.
of available
is possible.
if and
blend
Check
only if the
data,
the
physical
If
elliptic
limits
of the
domain
is in
I_ISC.
*** ERROR:
/
Not enough
values
Number
of values
required:
Number
of values
given:
When
using
two data froln
the
points
linear have
to use for interpolation!
2
n
or elliptic to be used,
choosing
the
increment
arras _ variable
and
the
interpolation a beginning
of the
arclength
and
blending
dolnain
zones
to be used
types
in the
blend
ending
point.
This
to be too if and
large.
only
command, error
Check
if the
a.t least
usually the
physical
results
limits
of the
domain
is in
use.
*** WARNING:
When
using
one point the
',
L
***
the
linear
should
blending
domain
No values
zones
to be used
ERROR:
Input
need
to be interpolated.
or elliptic
be interpolated. to be too if and
interpolation This
small.
only
abscissas
if the
error
Check
the
usually
results
limits
of the
physical
domain
out of order.
130
/
types
in the from
blend choosing
arras _ variable
is in use.
command, the and
a.t least
increment the
arclength
of
When
using
pendent results
***
the
from
been
has
grid
Volume
requested,
14.2.3
type
which
Blocks
new
is only
blend
combine given
blocks
blend
for a particular
wildly.
command, This
manipulation.
the
error
Check
de-
usually
the
grid.
2D manipulation!
available
for with
2d and LARCS.
3dp
blending.
Check
the
A volume
interpolation
zone type
has
or the
command.
combination
of blocks
will
exceed
the available
limits!
Blocks: Needed:
command in the placed
in the can vary
Command
Current
Maximum
chosen
for
types
the independent
can not be blended
of the
block
blocks,
lines being
COMBINE
*** ERROR:
interpolation but
identified
interpolation
dimensionality
The
or elliptic to be in order,
crossed
ERROR:
LAflCS
linear
variable
limblk mxblkm
works
combine in the
+ delmblk
by increasing command,
reference
list are
the block
reference
instead
of making
done
so by noting
list by a specified
duplicate the
copies
counters
number
of a block.
to the
of The
positions
the physical coordinate arrays. This error results if the number of blocks to be duplicated ca.uses the maximum number of blocks in the current VGM execution to exceed the ma.ximum number
of blocks
14.2.4
available
COPYDIST
*** ERROR: ***
Incorrect
*** Specification:
to the
code.
Command
destination
grid
limit
specifications:
cmdpart(nuse)
-or-
***
*** ***
ERROR:
Number
of sources
number
of destinations:
INDEX
Source
does not match
Dest inat ion
131
in
The copydist commandrequires the number of destination grid lines to be identical to the number of sourcegrid lines. If this is not true, this error messagewill appear. Check the limits in the cross-directionto the direction of the copy (i.e. if the I-direction is the copying direction, the cross-directionsare J and K). ##
** POLE
identified
** Resulting **
in basis.
points
will
have
basis
values.
basis
values.
basis
values.
O=j K=k
##
-or##
** POLE
identified
** Resulting ** l=i
in basis.
points
will
have
K=k
## ##
-or#, ** POLE
identified
** Resulting ** I=i
points
**
J=j
The
copydist
nation
If a pole This
14.2.5
will
command
grid.
positions.
in basis.
is just
have
will identi_
boundary
exists
a warning
REDIST
_ pole the
boundaries resulting
to tell the
user
in the grid
that
direction
chosen
will not be changed
a switch
for the
from
of operations
has
desti-
its original been
done.
Command
###
*** ERROR:
Incorrect
New Block
specifier:
###
***
cmdpart(iblk)
This
error
only
two
can be produced answers
generate
this
you
can
not
grid
block.
to the
error set
by the newblock=
message.
a. grid
redist
block
The equal
and
set
argument set
commands.
are
COlmnand to a single
uses array
"yes" this
Number
of new points
not specified! 132
error
variahle.
###
*** ERROR:
and
For tile redist
comnaand,
the
"no",
thine
will
and
message The
any
to tell the
set has
else user
that
to he to another
***
Command
In the
redist
specified,
***
Line:
cmdl ine (icmd)
command,
with
ERROR:
the
No
***
new
with
***
Implied
***
ITOTAL=itot
the
points=
number
of points
to be
placed
along
the
basis
curves
must
be
argument.
block
other
specifier
conflicts
inputs.
condition:
ITOTAL=NEWPTS
NEWPTS=',newpts
-or-
***
ERROR:
No
***
new
with
block
other
***
Implied
***
JTOTAL=',jtot,'
specifier
conflicts
inputs.
condition:
JTOTAL=NEWPTS NEWPTS=',newpts
-or-
ERROR:
No
new
with
Implied
block
other
specifier inputs.
condition:
KTOTAL=NEWPTS
***
KTOTAL=',ktot,
'
The
number
specified
of points
of points already
is conflicting the a.tong
limits that
grid
NEWPTS=',newpts
in the
in that
direction
the
non-newblock
with of the
grid line;
conflicts
block if these
to
for
be
two
direction the
of a redistribution
limits
chosen
specification; redistributed limits
are
not
133
in the
so the and
the
identical
does grid
not
block
manipulation number this
error
of new results.
match
the
specification.
number This
is not
done.
Check
points
to
placed
be
14.2.6
SET
** This
Command
feature
is not available.
** It can be done by: ** allocate
xvar[...]
** set xvar[...] **
xyz[i]
set
= 0.0
= xvar
y(xyz[13)
z(xyz[i])
-or-
**
allocate
**
set
yvar[...]
yvar[...]
**
set
xyz[1]
= 0.0 = x(xyz[l])
yvar
z(xyz[1])
-or-
** allocate
zvar[...]
** set zvar[...] ** set xyz[l] The
%ature
in the
requested
command. the
code
*** ERROR: *** ***
= x(xyz[l])
being
set
number,
= 0.0
This
gives
is not
tile user
a grid
intrinsic
allowed.
To set
3 different
command
on the a single
left ha.nd
side of the
coordina.te
of a. grid
equa.1 sign block
to a
sequences.
variable
= ctmpv(ntmpvar)(l:ncpertmpv(ntmpvar))
Temporary
variables
impossible.
1Remember
Core
ca.n only that
have
one
va.lue.
tempora.ry
variable
value
To try
variables
type
are
to set multiple consta.nts
va.lues to a. consta.nt
is
in VGM.
unrecognizable.
CMDPART=cmdpart(4)
***
The
is to place
zvar
Trying to assign a temporary more than one value.
TEMPVAR
*** ERROR:
y(xyz[l])
capa.bility
to a.ssign
be either
a va.riable
variable,
constant,
a. consta.nt
or a number. or a number.
value
to a.n a.rray
This
error
Check
the
va.riable
will result, spelling 134
if the
of the
exists,
but. the
constant
varia.ble
constant
is not. another
on the
right
hand
ha.s to a.rray side.
7)_'_I_;:!,!
*** ERROR:
General
Math
not allowed:
*** cmdline(1)
When
using
of values i_
•
have
that
a "-"
variable
the
set
can be set
sign
general
of the
on the
equations
are constants,
in front
or value
*** ERROR:
command,
right
No match
array
value,
hand
but
of math
variables, that
of limits
grid
is all.
sign is not one
are not
This
of the
allowed.
The
blocks
and
intrinsics.
error
can
also
possible
values
only
types
Each
be given
can if the
or if it is misspelled.
can be found:
*** cmdline(i)
The
set
equal
command
sign
match,
for block
one side
14.2.7
requires
the
manipulations
does
not
have
SMOOTH
***
not specified.
***
cmdline(icmd)
\¥hen
smoothing
to be specified command line.
*** ERROR: *** Command ***
a.s grids
memory
to match and
array
to be equated
the
indices
on the
variables. to the
If the
right limits
of the do not
other.
of points
to be used
for
ID vector
construction
_
line:
a. grid with
with
the
order=#.
Dirichlet
hermite If not
this
boundaries
vector
interpolation,
error
will result
the from
order that
of the
vector
needs
not
on the
argument
not specified.
line:
cmdline(icmd)
When
smoothing
gument any
left
Command
Number
Command
on the
such
enough
*** ERROR:
***
indices
(dirichlet=
boundaries
placed
a grid
inbetween
with
(...)) held the
fixed,
the needs
the
hermite
vector
to be on the
argument
still
has
parentheses. 135
interpolation, command to appear,
the line. but
boundary
If the
user
no control
condition does words
not
arwant
are to be
** WARNING: **
Distribution problems detected. Locations written to fort.8 and fort.20
The
and
vinokur
parameters. limits
of the
to which the
This
cubic can
smoothing
the
cells
are
cell sizes or there
14.2.8
TFI
*** ERROR: *** Command
the
produce
NaN
or the being may
functions or infinity
sizes of the applied.
may
for results.
beginning
There
not
may
and not
work If this
ending
be enough
with
the
happens, cells.
specified try
changing
Also check
distance
control the
the length
to accolmnodate
be too much.
Command
Number Line:
To do three-dimensional with
distribution
iterations=
of 3DTFI
iterations
not
specified!
cmdline(icmd)
TFI, argument.
tile
number
of optimization
In two-dimensional
136
TFI,
iterations there
needs
to be
is no optimization.
specified
14.3
Redistribution
ERROR:
Surface
and
Errors
redistribution
control
variable
Surface:
Itot=itot Jtot=jtot Ktot=ktot
Control
Variables:
Ltot(DSB)=Id_dsb
Mtot(DSB)=md_dsb
Ltot(DSE)=id_dse
Mtot(DSE)=md_dse
Control
Variables:
Ltot (DSB)=id_dsb
Mtot (DSB) =md_dsb
Ltot (DSE)=id_dse
Mtot (DSE) =md_dse
Ltot(RATIO)=id_ratio
Control
Variables:
Mtot(RATlO)=md
Ltot(DSB)=Id_dsb
Mtot(DSB)=md_dsb
Ltot(DSE)=Id_dse
Mtot(DSE)=md_dse
Ltot(FSTR)=id_fstr
Mtot(FSTR)=md
Ltot(EPO)=id
Mtot(EPO)=md_epO
epO
Ltot(FSH)=id_fsh
Control
Variables:
Ltot(NEWPOINTS)=Id_junk
137
limits
do
not
match:
_
***
JTOT
!= LTOT
-or-
KTOT
!= MTOT
***
ITOT
!= LTOT
-or-
KTOT
!= MTOT
***
ITOT
!= LTOT
-or-
JTOT
!= MTOT
When
specifying
the
control
and smooth commands, have the same dimensional function
has
different
error
message.
The
***
ERROR:
*** ***
Jtot=jtot Ktot=ktot
parameters
if arrays are used, each array limit in the cross-directional
control code
for a distribution
parameters
will only
Cross-direction
that
print
out
limits
the
are
function
argument
used as a control indices. Note that
checked;
message
hence
that
the
redist
parameter has to each distribution
extent
identifies
of core variable
in the
the
of the
function
do not match
above chosen.
grid
limits:
Mtot=mtot Ntot=ntot
-or-
Itot=itot
Ltot=Itot
*** Ktot=ktot
Ntot=ntot
***
-or-
Itot=itot
***
Ltot=ltot
*** Jtot=jtot
When
specifying
dist and directional array
smooth indices
redistribution
being
control
variables.
indices
***
ERROR:
The
redist
this
error
is not incorrect
variable.
a misspelled
referenced
If there
there being
an undefined
created
parameters
commands, the to the direction
because
from
or even ha.re
the
or constant
results
Mtot=mtot
and
check
The
array the
Distribution
a.nd smooth message
for the
distribution
index limits of the of the redistribution is no match enough
data
in the latter
grid is more
variable.
Check
fa.ce or point must match
of these
limits,
for the block
chosen
specifier,
difficult the
function
indices
the
a.rgulnents
identified by the the index limits code
This
or misspelled because
of all variables,
error
re-
crossof the
can not perform
function.
to track
of the
the
usually
variable
name
an allocate
may
and
grid
blocks
dimensions.
function
commands
not
require
found.
a distribution
will appear. '8
function.
If one
is not
selected,
*** ERROR:
Core
***
Limits:
Block
Variable
***
IDIM=idima(nblku)
*** ***
JDIM=j dima(nblku) KDIM=kdima(nblku)
chosen
and Block
limits
do not match:
-or-
***
Itot=itot
*** ***
Jtot=3tot Ktot=ktot -and-
***
Core
Variable
Limits:
***
LDIM=idim(mcorv)
***
MDIM=mdim(mcorv)
***
NDIM=ndim(mcorv)
-or-
***
Ltot=Itot
***
Mtot=mtot
***
Ntot=ntot
\¥hen
specifying
domain,
the
increments.
***
the
limits
index of the
Otherwise,
ERROR:
File
limits grid
the
for the block
llltISt
amount
for variable
blend
comma.nd match
of da.ta
the
needed
with limits
interpola.tion
in the physical
of the
blending,
the
arclengths
to compute
including
the
is incorrect.
not read.
*** ***
GRIDGEN
If a. variable
that
fimction this
represents
of a redist
error
will result.
of control
pa.ra.meters
GRIDGEN beca.use control variable.
format
assumed.
a file ha.me,
or smooth Ea.ch
of the
comm_nds,
as a control does
distribution
for a distribution it is surfa.ce
used
based.
not
exist
comma.ntis
function. C,heck
139
The the
pa.rameter
or is in the can
forma.t
forlna.t
for the
hold
of these of the
incorrect
a.t most, control
file being
distribution format,
a. 2D
surface
parameters used
to loa.d
is a.
*** ERROR:
Specified
limits
One of the ***
Ltot=itot
***
Mtot=mtot
***
Ntot=ntot
If a variable COlnmand of the
used does
variable
*** ERROR: ***
as a control not. represent
being
used
Problem
of core
following
parameter
for the
at most to speci_
variable
has to be
be
distribution
a 2D surface,
,_the
must
control
in 2D computational
space
I:
this
function error
of a redist
will result.
or slnooth
Check
the
limits
parameters.
w/internal-read.
CVAR=cvar(nvar)
*** FILEU=fileu ***
NC=ncf
If a constant
is used
COlnmands, tial
and
notation,
*** ERROR: ***
There not
option:
*** ERROR: ***
error Check
function
due to characters will also result the
constant
occurs
if the
not correct
"E"
for exponen-
is not determined
requested.
functions
available.
distribution
function
The
***
i,j,k:
poor
parameterization:
poor
parameterization:
i,j,k
-or-
not correct
140
one you have
is misspelled.
REDIST
JPT,DSnew(JPT)=jpt,dsnew(jpt)
Could
than
constant
or smooth
distribution.
distribution
***
ERROR:
other
if the
*** MPi,MP2=mpl,mp2
***
in the redist
',dist
usually
1-Direction
This
or file name.
9 different
Could
to a distribution
is not discernible
Unrecognizable
This
variable
will result.
variable
are only exist.
constant
an error
to be an array
*** DIST
the
for a. control
requested
does
•_
J-Direction
REDIST
•_
MPI,MP2=mpI,mp2
•_* JPT,DSnew(JPT)=jpt,dsnew(jpt) •*_ i,j,k:
i,j,k
-or-
•_* ERROR:
Could
not correct
•_
K-Direction
•_
MPi,MP2=mpl,mp2
poor
parameterization:
REDIST
•** JPT,DSnew(JPT)=jpt,dsnew(jpt) •** i,j,k:
When
the
spline
the
spline
the
direction the the
volmnes.
-
is used the
to construct
resulting
curve
of the
basis
curve.
If this
region
that
is bad
and
parameterization
This
to alleviate function
function
is unclamped,
isolating changes
i,j,k
the
error
slightly,
will tell the
possible
generation
user
the basis could
occurs,
the
VGM
redistributing but if the
code
generation.
141
for a redistribution,
negative code
the
curve.
re-parazneterize
or volumes.
Try
since
1)3; reversing to correct The
the risk of generating
can not cells
volumes
will attempt
it to correct
does reduce
of negative
function
produce
correction
negative the using
it by
basis linear
cells or function basis
:!ii
14.4
Input
***
ERROR:
The
only
TECPLOT
format
file as ASCII
***
the
incorrectly
binary
VGM
input
command
read
Input
this
Data
*** BLOCK:
nblk
During types Check
***
the
input
has
phase
fileu(i:nc)
*** Above
filename
The the
file requested output
of data.
not
data
files
is ASCII.
Rewrite
of the
argument
types
the
TECPLOT
set.
defaults,
some
sure
there
is a file to be read
may
be specified
or written.
not found.
an argument If it is not,
form
of the
read
trying file.
being
makes
the
no sense,
spelling
or file
COlnma.nd,
to read
of the
not
point
VGM
will try
to
argument.
complete!
all end-of-file
a floating
lJsually
(EOF)
number
into
was found an integer
or the
data
variable).
not found.
set up anew.
to be appended If this
that
check
incorrect
to be appended
*** FILE:
read!
it.
to make
found
block
File
be
cmdpart(npart)(l:ncperpart(npart))
are incon'ect (i.e. the format of the
ERROR:
not
TECPLOT
has
Check
as a file name.
*** ERROR:
can
flags
command
command
interpret
to
at all.
*** INPUT COMMAND:
The
to read
due
Errors
file
to read
read
or not
*** ERROR:
Output
available
to get
Nothing
Although
and
action
does is not
not
exist.
adequa.te,
appended. 142
The check
VGM the
code spelling
will create of the
this
file name
file for to be
*** ERROR:
TECPLOT
variable
12=i2
LDIM=Idim(mcorv)
J2=j2
MDIM=mdim(mcorv)
K2=k2
NDIM=ndim(mcorv)
When
data
is being
at least
the
variable
exceeds
written
number
and
the
limits
Grid System
The
solution
argument
of the
reference
the
grid
and system
***
ERROR:
The
flow constants
e (,h,ck
***
the
variable,
input
Mach,
Alpha,
in the
and
for
output,
data
Re, Time
PLOT3D
file to verify
Number Only
ERROR:
To reference the
***
form
Grid
flow
discussed
ERROR:
variables
being
write.
If the
will result
Solution
and
requires
Change
written limits
no data
must
have
of writing
a
will be written.
output.
commands
to a grid.
styled
the
correct
of variables
5 variables
does
not exist
solution data
the
Grid
System
variables in section
a grid
systen_
solution
argument
solution
data
number to reflect.
System
is in the
in the
set:
ngsys
file or are not. readable.
header.
data
is incorrect.
can be written.
and Block
in the
for
file are not
for solution
The PLOT3D style of solution data file can only another solution file needs to be written.
***
array for the
this error
not specified
solution
the
available
number.
solution
ERROR:
form,
of indices
of that
ERROR:
to attach
mismatch:
in TECPLOT range
***
the
limit
does
writing
not have
of data
4.1 or listed
and Block
support
separately
does
into
Solution
the
in the
not have
143
5 flow varial)les.
PLOT3D solution
LAURA
To request
more,
variables.
style, argument.
variables.
they
must
be of
The grid systemnumber chosento write out a LAURA restart file doesnot haveflow variables attached to it. Checkthe grid systemnumber in the LAURA argument.
***
ERROR:
Conflicting and Switching
*** TECPLOT
The
switch
argument
TECPLOT
***
output
ERROR:
*** Core
***
ERROR:
output
can
TECPLOT
only the
number
the
previously
be used
on
is
array
not
possible.
va.riables,
so it can
not
be used
with
the
written
Switching
be used
are
mode
number
a. data
not
files
AS(Ill
of variables
and
coordinates
of
on array
variables,
just
is not possible.
physical
grid
blocks.
arguments:
Conflicting
appending
the
coordinates
arguments:
Conflicting
*** Different
When
not
Conflicting
switch argument
*** ERROR: ***
of
style.
The
(!urrently,
can
variable
*** Binary
arguments:
not
possible.
of TECPLOT
data
style
is available
for reading
and
writing.
of variables
must
arguments: of TECPLOT
variables
set to a. previously in the file. TECPLOT
The file.
opened
VGM
code
If the
for an append.
file, the does
number
number
not keep of variables
track
of multiple
requested
match
files, only
to be written
does not match the nmnber already written, this error message will result. Check the number of variables for each file to be appended and be sure that, that number is identical.
*** ERROR: *** *** Solution
Conflicting output
of
arguments: no
solution
data.
144
To output solution data, solution data.must exist. This could be causedby not referencing the correct grid systemnmnber. Checkthe grid systemnumber and the solution argument.
***
ERROR:
Incorrect
source
grid
limit
specifications:
*** *** Specification:
cmdpart(npart)(l:ncperpart(npart))
*** I=il to i2
j2
*** ***
J=jl K=kl
to to
The
limits
chosen
of these
k2
storage
for a grid
Output
*** OUTPUT
COMMAND:
write
interpret
con]l]]and this
*** ERROR: ***
grid
variable
command
variable
have
been
exceeded.
Check
the
limits
\TGM
will try
Grid
system
has
System
found
the
(i :ncperpart
an argument
number
identified Check
(npart)
If it is not,
REQUESTED:
being
is incorrect,.
not found.
cmdpart
as a file name.
*** GRID SYSTEM
The
or an array
types.
*** ERROR: ***
The
block
that
check
to output,
(npart))
makes
the
spelling
no sense. of the
Usually
to
argument.
not valid.
ngsys
for output grid
system
in a. grid number
145
block
or solution
requested.
argument
or an array
References 1S. J. Alter Grid
and
Generation 2j.
Block
p.
System
Grid
Generation
3R. W. Noack
5p. A.
"An
Perfect
NASA
and
12p. S. W.
Singer,
Laboratory, 13j.
E.
Modeling,
Grid
Solutions,
pp. NASA
Vehicle,"
AIAA
putations
Paper and
Reentry
Heating
lSS. J. Alter tional
Fluid 19A.
and
Parabolic Hyperbolic
October
Algorithm
2953,
199:3.
for Viscous,
February
1990.
Amtec
Engineering
"PLOT3D
User's
Manual,"
The
K.
publiManual,"
A Surface Related
Up-
VA: Aerosoft,
K.
Mani,
Center
Issues first
first Code
Study," and
A. (3. (3odfrey,
vol.
R. Potter,
ed.,
for
Mas;
3-D
18,, pp.
"FAST
1996.
Navier391-403,
User
Guide,"
199:3.
Modeling
CP-3291,
Technology
(21.B. Fury,
of a Multigrid
Aerodynamic
Development
and
Ames/Langley
M. Applebaum,
Blacksburg,
Keen,
Euler and
C.
R. Olling,
Method
(TEAM),"
AFWAL
TR
Grid
Generation
and May
J.
S. Sikora, Flight
87-3074,
in Computational
ed.,
Stretching
Aerodynamic
Dynamics
.June
Tool,"
Fluid
and
1987.
in Sul:face
Dynamic
(CFD)
1995.
Functions
F. A. Greene, Characteristics
June
for Fininte-Difference
Calcu-
"Elliptic
Studies,"
J.
H. H. Hamilton
of a Proposed
AIAA AIAA
Weihnuenster,
Volume
AIAA
of 3-D
F. M. Cheatwood. Algorithms,"
C. J. Riley,
Ill,
and
Single-Stage-to-Orbit
1995.
':Importance
K.
HYPGEN
1995.
June
Design
Dynamic
S. J.
Using
TM-108791,
P. A. Elson,
RND-93-010,
Environments," and
5 User's
T. Plessel,
95-1850,
lZD. D. R. Olynick,
Paper
to a (3rid-Refinement
F. M. Cheatwood,
in Parametric
NASA Relaxation
"Development
P. A. (3noffo,
"Hypersonic
I(_S. J. Alter
WRDC-
1993.
15K. J. Weihnuenster, S. J. Alter,
for the
and
May
One-Dimensional
CR-3313,
Manual
R. K. McCabe,
NASA
"On
"User's Interface,"
W. M. Eppa.rd,
J. M.
Generation. 821-831,
1988.
"3DGRAPE/AL:
Wedan,
Brennan.
"(3ridTool:
14M. Vinokur, lations,"
Center
Research
Samareh,
Multiple
Report
Generation
January
L. Pierce,
"Three-Dimensional Wright
Grid
88-0315,
Technical
3: Usor Mamtal.
B. W.
J. Clucas,
J.
Center
3D
1990.
GASP
Research
Raj,
Development
Adaptive
version
pp. 447-462,
and
Hp. p. Walatka, Ames
and
Point-hnplicit
Stokes Equations and Its Application Computers & Fluids, June 1990. NASA
GRIDGEN
Advanced
1992.
D. C. Slack,
N. V-atsa
"The
NASA
S. J. Alter,
CP-3291,
W. D. Mc(3rory, l°v.
C. L. Fouts,
User
"Tecplot:
March
9R. W. _:alters, and
Flows,"
P. (3. Buning,
101067,
NASA
and
P. (3. Buning, Graphical
January
SR. L. Sorenson grade,"
1993.
pa.per
Upwind-Biased
Gas
p. Walatka, TM
and
Engineering,
V5.0/92-14, rp.
April
"Solution
AIAA
the HGUI
(3noffo,
6I. Amtec cation
I. Chiu,
and
Compressible
TM-108985,
Research
D. A. Anderson,
Equations,"
4W. M. Chan, Generator
Wright
Multi-block
NASA
R. Chawner,
System,"
Three-Dimensional
1989.
and
Differential
Grid
J.
October
"The
(3DMAGGS),"
Steinbrenner,
TR-90-3022,
Partial
K. J. VVeilmuenster,
Paper
Grid
Paper "Volun]e
Grid
Generation
96-1999,
June
Resolution
96-1857, Grid
June
96-0029,
"(',ell
Volume
(Iom-
1996.
Structure
for Calculating
1996.
Expansion
Paper
146
and
for Viscous
January Control
Techniques
for Computa-
1996. at
a Surface
for
Three-
Dimensional
Grid
Generation
Generation (R. E. Smith, 2°B. K. Soni, "Twocations
of Computational
Packages,"
in Software
Systems
for Surface
Modeling
ed.), pp. 273-298, NASA CP-3143, 1992. and Three Dimensional Grid Generation for Internal Fluid
Dynamics,"
AIAA
147
Paper
85-1526,
1985.
a_d
Flow
Grid
Appli-
REPORT
DOCUMENTATION
PAGE
Form Approved OMB No. 0704-0188
Pautbla_re_o_tin.g bu_en !or this coJlect.ion.of inJorma, tion is es.t!mated t£ ave_rage 1 hour per respo_e, i_]udin£1 the time for reviewing instructions, searching existing data sources, gathering and ma_tain{ng the the'bur_en._ '" _a_A°-c_'-r_-'le_un_--an°-r'-ev--_-r_ me co[_9n o_ i_ormatpn. :_endcornn_.. nls regard,ng th_s buroen est,rnate or.any, other as_1 of this c_..lection of ,nformation, including suggestions for redudng and Budn_ '_;_e=r_'_c_uPa_e, ",_ _n_e_vl_ns_n_ _L'_rect_ak te ]or intOr_rr_tlonouper_lons and Reports, 1215 Jefferson Davis Highway, Suite 1204, Admgton VA 2_02-430_ and to the Office of Management n t _ ................. _f_, | ....... tt was'lnq_°nt _ _v_.
1. AGENCY USE ONLY (Leave Blank)
4. TITLE AND SUBTITLE The Volume Grid Manipulator
2. REPORT DATE April 1997
3. REPORT TYPE AND DATES COVERED Contractor Report 5. FUNDING NUMBERS
(VGM):
A Grid Reusability Tool Contract NAS1-96014 Task Order DG02 WU 242-80-01-01
6. AUTHOR(S) Stephen J. Alter
7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Lockheed Martin Langley Program
Engineering Office
Langley Research Center, Hampton, VA 23681-0001
& Sciences
8. PERFORMING ORGANIZATION REPORT NUMBER
Company
Mail Stop 371
9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) National Aeronautics and Space Administration Langley Research Center Hampton, VA 23681
10. SPONSORING/MONITORING AGENCY REPORT NUMBER NASA CR-4772
11. SUPPLEMENTARY NOTES Langley Technical
Monitor:
K.J.
12a. DISTRIBUTION/AVAILABILITY
Weilmuenster STATEMENT
12b. DISTRIBUTION CODE
UnclassifiedUnlimited Subject Category 34 13. ABSTRACT (Maximum 200 words) This document is a manual describing how to use the Volume Grid Manipulation (VGM) software. The code is specifically designed to alter or manipulate existing surface and volume structured grids to improve grid quality through the reduction of grid line skewness, removal of negative volumes, and adaption of surface and volume grids to flow field gradients. The software uses acommand language to perform all manipulations thereby offering the capability of executing multiple manipulations on a single grid during an execution of the code. The command language can be input to the VGM code by a UNIX style redirected file, or interactively while the code is executing. The manual consists of 14 sections. The first is an introduction to grid manipulation; where it is most applicable and where the strengths of such software can be utilized. The next two sections describe the memory management and the manipulation command language. The following 8 sections describe simple and complex manipulations that can be used in conjunction with one another to smooth, adapt, and reuse existing grids for various computations. These are accompanied by a tutorial section that describes how to use the commands and manipulations to solve actual grid generation problems. The last two sections are a command reference guide and trouble shooting sections to aid in the use of the code as well as describe problems associated with generated scripts for manipulation control. 14. SUBJECT TERMS: Computational Grids; Grid Generation (mathematics); Viscous Grids; Computational Fluid Dynamics; Numerical Techniques
17. SECURITY CLASSIFICATION OF REPORT Unclassified NSN 7540-01-280-5500
18. SECURITY CLASSIFICATION OF THIS PAGE Unclassified
15. NUMBER OF PAGES 148 16. PRICE CODE A07 19. SECURITY CLASSIFICATION 20. LIMITATION OF OF ABSTRACT ABSTRACT Unclassified UL Standard Form 298 (Rev. 2-89) Prescribedby ANSIStd.Z39-18 2£8-102