VGM - NASA Technical Reports Server (NTRS)

5 downloads 44 Views 8MB Size Report
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