LAB
Services
LAB
Information
More About NASA:
|
|
|
CSCMDO - Coordinate and Sensitivity Calculator for Multi-disciplinary Design Optimization SYNOPSIS
Usage: CSCMDO input [output]
By default, the code writes to stderr, but will write to the file output
if provided.
DESCRIPTION
CSCMDO
is a Multi-Block Structured Volume grid generator
which is optionally capable of quickly updating an exist-
ing volume grid with any number of new surface grids. The
code runs in the batch environment and is written entirely
in the C language. Dynamic memory allocation is used for
problem size independence. An ASCII input file is used to
control code flow and function.
CSCMDO
performs the algebraic grid initialization of the
block interior as well as that of any block surface. The
block surfaces may be input or generated as intermediate
"hard planes" to allow automatic block subdivision for
increased control of the developing interior. Once the
interior of the block is defined through input or alge-
braic initialization, the block may be redistributed to a
user specified spacing requirement. This is useful for
generating an initial grid using 32-Bit precision with
redistribution at a higher precision. Also, blocks may be
redimensioned with spacing optionally specified for the
new block.
COMMANDS
The command set recognized by CSCMDO is described below ( optional
arguments are contained in [brackets] ) :
BLOCK blockname imax jmax kmax dim
- Manually allocate a block named blockname with dimensions
imax x jmax x kmax of dimension dim.
- BLOCK_SUMMARY [blockname]
- Provide a summary of the block blockname.
READ type filename
- Read the file filename of the file type specified by type.
The valid values of type are defined below :
- GGBLOCK(B)(D) filename
- Read a GRIDGEN Block file (*.mlg, *.mlga) as an
ASCII, C Binary file (B), or Double precision
C Binary (D) file. Dynamically allocates space to
hold the block based on dimensions.
- GGFACE(B)(D) filename face n blockname [ngrid] [sensfile] [dvs] [dve]
- Read a grid from and ASCII, C Binary (B), or
Double precision C Binary (D) GRIDGEN face file
(*.grd, *.grda). Reads the grid into the block as a
block face or intermediate "hard plane". The grid is
read as a face plane (I, J, or K), and is loaded
into the index n of blockname. To load
other than the first surface grid in the file, use the
optional [ngrid] parameter. Sensitivity
derivatives may be read from the file [sensfile]
in the sensitivity enhanced CSCMDO.AD version only
and will be ignored by other versions. A range of
deriviatives can be specified with the dvs and
dve parameters.
- P3DFACE(B)(D) filename face n blockname [ngrid] [sensfile] [dvs] [dve]
- Read a grid from and ASCII, C Binary (B), or
Double precision C Binary (D) PLOT3D file
(*.fmt, *.bin). Assumes Kdim=1. Reads the grid
into the block as a block face or intermediate "hard
plane". The grid is read as a face plane (I, J,
or K), and is loaded into the index n of
blockname. To load other than the first surface
grid in the file, use the optional [ngrid]
parameter. Sensitivity derivatives may be read from the
file [sensfile] in the sensitivity enhanced
CSCMDO.AD version only and will be ignored by
other versions. A range of deriviatives can be specified
with the dvs and dve parameters.
- HESSFACE filename face n blockname [ngrid]
- Read a grid from and ASCII HESS face
file. Reads the grid into the block as a block
face or intermediate "hard plane". The grid is read as a
face plane (I, J, or K), and is loaded into the index
n of blockname. To load other than the first
surface grid in the file, use the optional [ngrid]
parameter.
- P3DVOL(B)(U)(D)(UD) filename [ngrid]
- Read a PLOT3D Volume grid file (*.fmt, *.bin, *.dat) as
an ASCII, C Binary (B), FORTRAN
Unformatted (U), Double precision C Binary (D),
or Double precision FORTRAN Unformatted (UD) file.
Dynamically allocates space to hold the block(s) based on
dimensions in filename. The read can be limited
to the first ngrid blocks in the file.
- GGSURF(B)(D) filename [sensfile] [dvs] [dve]
- Read a GRIDGEN surface file (*.grd, *.grda) as an ASCII,
C Binary (B), or Double precision C Binary
(D) file. The data is placed in a dynamically
allocated surface network data structure for use in
PARAMETRIC surface updates. Sensitivity
derivatives may be read from the file [sensfile]
in the sensitivity enhanced CSCMDO.AD version only
and will be ignored by other versions. A range of
deriviatives can be specified with the dvs and
dve parameters.
- P3DSURF(B)(D) filename [sensfile] [dvs] [dve]
- Read a PLOT3D surface file (*.fmt, *.bin) as an ASCII,
C Binary (B), or Double precision C Binary
(D) file. Assumes Kdim=1. The data is
placed in a dynamically allocated surface network data
structure for use in PARAMETRIC surface updates.
Sensitivity derivatives may be read from the file
[sensfile] in the sensitivity enhanced
CSCMDO.AD version only and will be ignored by
other versions. A range of deriviatives can be specified
with the dvs and dve parameters.
- HESSSURF filename [sensfile] [dvs] [dve]
- Read a HESS surface file (*.hes) as an ASCII file. The
data is placed in a dynamically allocated surface network
data structure for use in PARAMETRIC surface updates.
Sensitivity derivatives may be read from the file
[sensfile] in the sensitivity enhanced
CSCMDO.AD version only and will be ignored by
other versions. A range of deriviatives can be specified
with the dvs and dve parameters.
- GGCURVES filename [sensfile] [dvs] [dve]
- Read a GRIDGEN ASCII curves file (*.crv). The
data is placed in a dynamically allocated surface
network data structure for use in PARAMETRIC
surface updates. One-dimensional curve entity
will be converted to 2-D through duplication of
the curve. Sensitivity derivatives may be read from the
file [sensfile] in the sensitivity enhanced
CSCMDO.AD version only and will be ignored by
other versions. A range of deriviatives can be specified
with the dvs and dve parameters.
- WRITE
(B)(U)(D)(UD) outfile
[blockname]
[is ie js je ks ke]
- Write the volume grid as an ASCII, C Binary (B), FORTRAN
Unformatted (U), Double precision C Binary (D),
or Double precision FORTRAN Unformatted (UD), PLOT3D
Multi-Zone 3D/Whole file named outfile. A specific
range may be specified using is ie js je ks ke as well
as a specific block with blockname. The sensitivity
enhanced CSCMDO.AD version will additionally write
sensitivity data to the file outfile.sens for
each volume grid.
- INTERPOLATE
[blockname]
[is ie js je ks ke]
- Interpolate the interior of block blockname using arclength
based blending functions for the range specified by is ie js je ks
ke. Previously defined block "hard planes" are located
automatically to control the interpolation.
- INTERPOLATION_PARAMETERS
[sweeps]
[EPS] [avgsk] [maxsk] [speed]
- Specify global parameters to govern subsequent operations.
sweeps determines the number of smoothing sweeps used to
smooth the arclength based SONI blending functions (default 0).
EPS specifies the tolerance below which all numbers are
to be treated as ZERO. This value is used in singularity detection
as well as negative volume checks (default 0.0).
The values of avgsk and maxsk set the maximum average
skewness and absolute maximum skewness, respectively, allowed for
cells within the volume. These values are specified in degrees.
Cell skewness is calculated by determining the intersection angles
of each individual face and its four adjacent neighbors. The largest
of these is considered to be the cell skewness (0.0 implies
orthogonality). A grid with cells exceeding avgsk will
trigger a Warning return code to a CSCMDO controlling
executive. Cells exceeding maxsk will trigger a Fatal return
code. The default values are avgsk=45.0, and
maxsk=90.0. The speed is used to control the
accuracy of grid PROJECTION. A value of 0 provides the most
accurate (but costly) projection. The default value of 1 will
speed projection, but in some cases will not provide a suitable
grid.
Using this command with no arguments will reset all parameters
to the defaults. Specifying a -1 for any argument will maintain
the current value of the corresponding parameter.
- INTERPOLATE_FACE
face n
[blockname]
[ss se ts te]
- Interpolate a block surface using arclength based blending
functions based only on the surface edges (2D
computationally). This can be used to generate intermediate
hard planes within a block. Will interpolate a face
(I, J, or K) grid at index n of block
blockname. Optionally, will only interpolate face
over the range ss to se and ts to te.
- COLLAPSE
face n edge [blockname][ss se ts te]
- Collapse a block surface to a true singularity. Will collapse
the range of the face (I, J, or K) grid at
index n to edge defined by the
GRIDGEN edge numbering scheme (1, 2, 3, or 4) of block
blockname. A range of the face may be specified with
ss se ts te.
- CHECK
[type]
[blockname]
[is ie js je ks ke]
- Check the quality of blocks. The type of check is determined by
type which has one of the following values :
- ALL Check for negative volumes and cell skewness.
- NEG Check for negative volumes only using all methods.
- NEGOLD Check for negative volumes only using original mehtod.
- NEGNEW Check for negative volumes only using method similar to that used in CFL3D.
- SKEW Check for cell skewness only.
- SD Summarize sensitivity derivative data in the sensitivity
enhanced CSCMDO.AD version.
Individual blocks may be specified by blockname. The
default type is ALL. Skewness checks include histogram
output. Return codes are produced which are controlled by avgsk
and maxsk defined with the
INTERPOLATION_PARAMETERS command.
- PARAMETRIC
us ue vs ve psurf face n [blockname] [ss se ts te] [c0 c1 c2 c3]
- Update an existing block surface grid to that defined by a parametric
network. The existing surface will be updated to the shape
defined by the region us ue to vs ve of the
parametric surface psurf. The existing block surface grid
will be updated for blockname. The range of the existing
surface grid may be controlled with ss se ts te. The code
will attempt to determine the grid/surface orientation
automatically. However, the orientation may be specified by
associating the grid corners c0 c1 c2 c3 with the
surface definition corners (0, 1, 2, 3). The corners are defined
using
GRIDGEN edge numbering scheme
with corner c0 at the beginning of edge 1, c1 at
the end of edge 1, c2 at the beginning of edge 3, and
c3 at the end of edge 3
(Surface corners are defined similarly with umin,vmin = 0,
umax,vmin = 1, umin,vmax = 2, and umax,vmax = 3).
- COPY
iss ies jss jes kss kes src ist iet jst jet kst ket trg
- Copy the range defined by iss ies jss jes kss kes of
the source block src to the range defined by ist
iet jst jet kst ket of the target block trg. The
copy can be reversed by reversing the only target range limits
of the selected direction (ie. ist > iet, etc.). Also, the
ranges may be swapped (ie. I with J) by swapping the target
ranges limits only (ie. tjs tje tis tie tks tke). Note:
Computationally "Square" ranges must be copied in two rectangular
pieces.
- EDGE
edge face n [blockname][ss se ts te]
- Redefine an edge of a block face using linear blending.
The edge is defined by the
GRIDGEN edge numbering scheme
(1, 2, 3, or 4) and will depend on the type of
face (I, J, or K). The face index is specified
with n. The block name can be given by blockname
over the face range ss se ts te.
- CLOSE
us ue vs ve
[surface]
- Close a surface to a straight line connecting the end points
of the range given by us ue vs ve of the surface
surface. (Used as a quick-and-dirty close of wing tips,
etc.)
- CLEAR_FACE_DEFORMATIONS
[blockname]
- Used to clear out all face deformations in
[blockname].
- FACE_DEFORMATIONS
d1 d2 d3 d4 face n
[blockname]
[ss se ts te]
- Set up the face deformations according to d1 d2 d3 d4
for face (I,J,K) n of block blockname and
range ss se ts te. The values of d1 d2 d3 d4 are
integer flags controlling the deformation of each edge of
face (Edge order is defined by the
GRIDGEN edge numbering scheme).
Valid values are given below :
-1 - Copy deformation from opposing edge
0 - Zero deformation (Anchor original edge)
1 - Calculated edge deformation (difference
between modified and original)
2 - Interpolate deformation along edge from
end values
3 - Do not disturb present edge deformation
Edge deformations are interpolated on the interior of
the face, unless all flags are -1 or 1 when a pure copy
or difference is indicated.
- DEFORM
[blockname]
- Apply face deformations to the interior of blockname
and evaluate the new deformed block.
- DEFORM_FACE
face n
[blockname]
[ss se ts te]
- Apply deformations to the face n of blockname
therefore evaluating only the deformed face. The range of the
face to be deformed may be controlled with ss se ts te.
- COMPONENT
name [surfname]
[us ue vs ve]
- Create a COMPONENT named name. Optionally, a MEMBER
may be added to name at creation using the surface definition
surfname. The range of the surface definition may be further
restricted with us ue vs ve. If surfname is ommitted,
an empty component is created for name.
- MEMBER
compname surfname
[us ue vs ve]
- Add the surface definition surfname as a MEMBER of the
COMPONENT compname. The range of the surfname may be
restricted with us ue vs ve.
- PROJECT
compname face n
[blockname]
[ss se ts te]
- Project the grid defined on the face (I,J,K) Face at
index n onto compname. The projection may be
restricted to blockname with the Face range
optionally restricted with ss se ts te.
- UV_PROJECTION
oldcomp newcomp face n
[blockname]
[ss se ts te]
- Similar to the PROJECT command, this command is used to
project the grid defined on the face (I,J,K) Face at
index n onto a COMPONENT. The grid is projected to
oldcomp which is assumed to contain surface members
originally used to define the grid. This projection
returns the parametric coordinates of each grid point
which can be evaluated on the corresponding members of
newcomp to obtain the new physical coordinates of the
grid point. The members of both components are assumed
to be in the same order and to have similar
parameterizations. The component members, however, do
not need to have the same parameterization as face.
Arclength parameter (APS) space will be used for
parameter evaluation if turned on. The projection may
be restricted to blockname with the Face range
optionally restricted with us ue vs ve.
- APS
- Toggles between the usage of Uniform Parameter Space
(UPS) and Arclength Parameter Space (APS). Default is
UPS.
- STOP
- Causes a premature, user requested temination of
program execution. Mainly used for debugging an input
deck.
- SAVE_FACES
[blockname]
- Saves the block face data for block blockname as the
ghostface reference for PARAMETRIC and FACE_DEFORMATIONS
commands.
- DELETE_BLOCK
blockname
- Deletes block blockname from the system. No further
reference to block blockname is valid. Note that the
blockname argument is NOT optional for this command.
Also, any commands which omit the blockname argument in
order to operate on all blocks will no longer include
block blockname. An "*" can be used as a
termininating wild card (ie: DELETE_BLOCK temp*).
- SURFACE
surfname face n blockname
- Creates a surface named surfname out of the face
(I,J,K) Face at index n of block blockname. This
surface may be used by any of the commands which
require a surface as input (PARAMETRIC, PROJECT, etc.).
- WRITE_COMPONENT
filename compname
- Mainly for debugging purposes, this command will write
to the file filename, all of the members of component
compname. The file is written only as a GRIDGEN C
Binary.
- RENAME_BLOCK
blockname newblockname
- Renames the block blockname to newblockname.
Further references to the block should be made with
newblockname No further reference to blockname
is valid or processed.
- RENAME_SURFACE
surfname newsurfname
- Renames the surface surfname to newsurfname.
Further references to the surface should be made with
newsurfname. No further reference to surfname
is valid or processed.
- SMOOTH
[blockname]
[is ie js je ks ke]
- Smooth a block using PDE smoothing with Multigrid
Acceleration. Smoothing is controlled with parameters
specified with the
SMOOTHING_PARAMETERS command. Boundary control
results in angle othogonality and interpolated spacing if
the entire block range is used. Angle slope continuity
with the surrounding block is provided when using
subblocks. The usual restrictions are specified using
blockname and is ie js je ks ke.
- SMOOTH_FACE
face n
[blockname]
[ss se ts te]
- Smooth a block surface using PDE smoothing with
Multigrid Acceleration. Smoothing is controlled with
parameters specified with the
SMOOTHING_PARAMETERS command. Can be used to
refine faces or intermediate "hard planes" within a block.
Will smooth a face (I, J, or K) surface at index
n of block blockname. Optionally, will only
smooth the surface over the range ss to te and
ss to te.
- SMOOTHING_PARAMETERS
[cycles]
[eEPS] [RESTART] [MAXLEVELS] [ForeGround]
[BackGround] [SURFSOLV] [STOPRESID]
- Specify global parameters to govern subsequent
smoothing operations. sweeps determines the number
of smoothing cycles used in smoothing (default 100).
eEPS specifies the tolerance below which all numbers
are to be treated as ZERO. This value is different from
that specified with the
INTERPOLATION_PARAMETERS command.
RESTART is a toggle to specify not to run the
Full Multigrid portion (FMG) if restarting smoothing.
Non zero values signify a restart (default is deadstart).
The value of MAXLEVELS sets the maximum number of
additional coarse levels to use with multigrid
acceleration. The default is to use as many as can be found
with standard coarsening. ForeGround is used to
activate the type of 3D Foreground Control function
formulation. The default value of 1 produces GRAPE type
control at the boundaries. A value of 2 will produce
Hilgenstock/White boundary control. A 0 value will turn
off foreground control resulting in Thomas-Middelcoff
control within the entire block. (Default: 1 => GRAPE)
BackGround is used to activate the type of 3D
Background Control function formulation. The default value
of 0 will turn off background control for LaPlace type
smoothing. A value of 1 will produce
Thomas-Middelcoff control within the interior of the
block. (Default: 1 => Thomas-Middelcoff) SURFSOLV is
used to fix the grid shape for smoothing (NOT YET
SUPPORTED). STOPRESID is the value of the cutoff
order of magnitude reduction of the residual (ie: 2.0
means run sweeps cycles or 2.0 orders of magnitude
reduction which ever comes 1st).
Using this command with no arguments will reset all
parameters to the defaults. Specifying a -1 for
any argument will maintain the current value of the
corresponding parameter.
|
Responsible
NASA Official: William T. Jones
Site Curator: William
T. Jones
Comments
and Questions
Last Updated:Sep
17, 2002
|
Footnotes :
- [blockname]
- Commands which contain the optional argument [blockname]
will operate on all current blocks if the argument is omitted.
- [range]
- Commands which contain an optional [range] argument will
operate on the entire range of the appropriate entity if
the argument is omitted.
- [surface]
- Commands which contain the optional argument [surface] will
operate on all current surface definitions if the argument is
omitted.
|
|
Responsible
NASA Official: William T. Jones
Site Curator: William
T. Jones
Comments
and Questions
Last Updated:Sep
17, 2002
|
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
|