================================================================================

                   USER'S NOTES ON - SURGRD (Version 7.0h)

   Authors:  William M. Chan,  MCAT, Inc., AAC
             Pieter G. Buning, NASA Langley

   Date:     September, 1997

================================================================================

    The SURGRD program is used to generate surface grids over a user-supplied
surface geometry definition. Currently, the surface geometry definition is
assumed to be a collection of panel networks. Straight forward extensions
can be made to accommodate other types of surface definitions such as NURBS.
Two schemes are available for surface grid generation: (1) a hyperbolic marching
scheme and (2) an algebraic marching scheme. For both schemes, the grid is
generated by marching from a user-supplied initial curve. The marching distance,
start and end grid spacings and other parameters are specified in an input
parameters file.

    The primary application of SURGRD is intended for overset surface grid
generation. SURGRD can be run in batch mode on any machine that supports
Fortran 77. The code is currently in beta testing mode. Some bugs may exist in
the constrained floating boundary conditions (BC types 11,12,13,14). Comments,
questions, bug reports can be sent to wchan@nas.nasa.gov.

    SURGRD has been successfully used to generate surface grids for
(a) collars grids used at the junction of intersecting geometric components
    such as a wing/body junction,
(b) cap grids at fuselage noses and wing tips,
(c) overlapping surface grids for more complex surfaces such as the Space
    Shuttle Orbiter, X-CRV Crew Return Vehicle, and the V-22 tiltrotor.

================================================================================

    SURGRD is executed by typing

 surgrd < [input parameters filename] > [output messages filename]


    The input files required are:

-------------------------------------------------------------------------------
        Description                 File Type          Dimensions of each grid
-------------------------------------------------------------------------------

 Reference surface definition   unformatted PLOT3D        jrmax,krmax,1
                                multiple grid file*

 Reference curves file          unformatted PLOT3D        jcmax,1,1
                                multiple grid file*

 Input parameters (STDIN)             ASCI

 * If there is only one grid, either single or multiple grid format is accepted.
--------------------------------------------------------------------------------


    The output files produced are:

-------------------------------------------------------------------------------
        Description                 File Type          Dimensions of each grid
-------------------------------------------------------------------------------
 Output surface grids           unformatted PLOT3D        jmax,kmax,1
                                multiple grid file**

 Output messages (STDOUT)             ASCI

 ** Same file format as surgrd.ixyz (single/multiple).
--------------------------------------------------------------------------------


    The output PLOT3D command files produced are:

----------------------------------------------------
 Filename               Description                   
----------------------------------------------------
 refs.com         For viewing reference surface      
 refc.com         For viewing reference curves        
 surg.com         For viewing output surface grids     
 minmax.com       For setting minmax and view point   
 nowalls.com      For resetting to no walls          
----------------------------------------------------


================================================================================

    Filenames Convention
    --------------------

    The reference surface filename, reference curves filename and output grid
    filename can be specified by the user in the first 3 lines of the input
    parameters file. If no filenames are specified in the first 3 lines of the
    input parameters file, the following defaults are assumed:

   -------------------------------------
    Filename          Description
   -------------------------------------
    surgrd.body     Reference surface
    surgrd.ixyz     Reference curves
    surgrd.xyz      Output surface grids
   -------------------------------------

================================================================================

    Special Notes on version 7.0h
    -----------------------------

    A new stretching option (`geomunic' stretching) is introduced. The user
supplies the distance, initial and final spacings and a stretching ratio (s.r.).
A geometric stretching is constructed using the given s.r. until the specified
final spacing is exceeded. The rest of the domain is padded with a uniform spacing
given by the specified final spacing. The total distance may have to be adjusted
slightly. If the specified final spacing cannot be reached using a geometric
stretching, a hyperbolic tangent scheme is used.

    The geomunic stretching option is invoked by specifying KMAX=0, RMAX>1.0.
The input line containing KMAX can take 2 or 3 parameters. When 2 parameters
are supplied, they are assumed to be KMAX and NNOD (old format). When 3 parameters
are supplied, they are assumed to be KMAX, RMAX and NNOD. The geomunic stretching
can only be used with NNOD set to 1 currently.

================================================================================

    Special Notes on version 7.0c
    -----------------------------

 -  The old initial curves file is now called the reference curves file which
    contains all the initial curves to be used for hyperbolic or algebraic
    marching, as well as any fixed boundary curves for BC type 15 and 20.
    The surgrd.bndy file in earlier versions of SURGRD is no longer used.

 -  There is no need to duplicate a reference curve and reverse its index
    direction if one already exists in the reference curves file (see IC parameter
    in input file).

 -  The reference surface filename, reference curves filename and output grid
    filename can now be specified by the user in the first 3 lines of the input
    parameters file. If no filenames are specified in the first 3 lines of
    input, the old default filenames (surgrd.body, surgrd.ixyz, surgrd.xyz) will
    be used.

 -  Dynamic memory allocation is used for the large arrays.


================================================================================

    The following is a sample input file for generating 2 surface grids.
Grid 1 is generated in one part using reference curve number 1, while grid 2 is
generated in two parts using reference curve number 2 (RC2). The first part uses 
RC2 directly as the initial curve, while the second part uses RC2 in the
reverse direction as the initial curve.

   For grid 1, the float along KS=constant boundary conditions are used.
The KS=constant lines are taken from reference grid number 3. A constant
far field distance, initial and end grid spacings are specified. For grid 2,
a variable far field distance is specified via 3 nodes. Grid topologies on
all reference grids are to be determined automatically in the code. Two families
on the reference surface are specified: a fuselage family and a wing family.
Both grid 1 and grid 2 are generated on family 1.


ref_surface.dat
ref_curves.dat
output_grid.dat

1                      IC (Grid no. 1)
11, 12, 1              IBCJA, IBCJB, IAFAM
 3,  3,                NGBCA, NGBCB
14, 1                  KMAX, NNOD
1, 0.3, 0.01, 0.05     JNOD, ETAMX, DETA, DFAR
0.1, 0.0, 3            SMU, TIM, ITSVOL

2                      IC (Grid no. 2)
-1, -1, 1              IBCJA, IBCJB, IAFAM
14, 3                  KMAX, NNOD
 1, 0.3, 0.01, 0.05    JNOD, ETAMX, DETA, DFAR
15, 0.2, 0.01, 0.0
-1, 0.2, 0.01, 0.0
0.1, 0.0, 3            SMU, TIM, ITSVOL

-2                     IC (Grid no. 2)
-1, -1, 1              IBCJA, IBCJB, IAFAM
14, 3                  KMAX, NNOD
  1, 0.2, 0.01, 0.0    JNOD, ETAMX, DETA, DFAR
-15, 0.2, 0.01, 0.0
 -1, 0.3, 0.01, 0.05
0.1, 0.0, 3            SMU, TIM, ITSVOL

0, 1                   NSPBC, IAUC(0/1)

2                      NFAM
1, 5                   IFNUM, NGFAM  (fuselage family)
1,2,3,6,7              IGNUM
2, 4                   IFNUM, NGFAM  (wing family)
4,5,8,9                IGNUM


--------------------------------------------------------------------------------

    The input parameters are described in more detail below.

C-----------------------------------------------------------------------
C   INPUT NOTES:
C-----------------------------------------------------------------------
C
C   IC     > 0  Use reference curve number IC as initial curve for current grid
C          < 0  Use reference curve number IC in reverse direction as initial
C               curve for current grid
C
C   Boundary condition types for J=1
C   IBCJA  = -1 Free floating condition
C          =  1 Constant plane condition in X, float Y and Z
C          =  2 Constant plane condition in Y, float X and Z
C          =  3 Constant plane condition in Z, float X and Y
C          =  4 Reflected symmetry condition in X
C          =  5 Reflected symmetry condition in Y
C          =  6 Reflected symmetry condition in Z
C          = 10 Periodic condition (*)
C          = 11 Floating condition along KS=const line in +JS direction
C          = 12 Floating condition along KS=const line in -JS direction
C          = 13 Floating condition along JS=const line in +KS direction
C          = 14 Floating condition along JS=const line in -KS direction
C          = 15 Floating condition along user supplied line of points
C          = 20 Exact coordinates of boundary points prescribed by user
C          = 21 Constant X plane for all J from 1 to JMAX (*)
C          = 22 Constant Y plane for all J from 1 to JMAX (*)
C          = 23 Constant Z plane for all J from 1 to JMAX (*)
C          = 31 Float along KS=const line in +JS direction for all J (*)
C          = 32 Float along KS=const line in -JS direction for all J (*)
C          = 33 Float along JS=const line in +KS direction for all J (*)
C          = 34 Float along JS=const line in -KS direction for all J (*)
C
C   (*) Must also apply for IBCJB
C
C   Similarly for IBCJB at J=JMAX
C
C   IAFAM >0  Family number of family on which to project grid to
C
C   If IBCJA,IBCJB is 11-14 or 31-34 then enter NGBCA,NGBCB (**)
C   NGBCA = Reference grid number for floating constant JS,KS bc at J=1
C   NGBCB = Reference grid number for floating constant JS,KS bc at J=JMAX
C
C   If IBCJA,IBCJB is 15 or 20 then enter NGBCA,NGBCB (**)
C   NGBCA = Reference curve number at J=1
C   NGBCB = Reference curve number at J=JMAX
C
C   (**) If only one of IBCJA and IBCJB is in the above range, the NGBCA/NGBCB
C        corresponding to the other boundary is disregarded.
C
C   KMAX = 0 Use geomunic stretching (specify non-zero RMAX)
C        > 0 Number of points in eta (marching direction)
C   RMAX = Stretching ratio in geomunic stretching (disregarded if KMAX>0
C   NNOD <=1  Constant far field, initial/end grid spacing.
C        > 1  Number of nodes of piece-wise linear function for variable far
C             field distance, initial/end grid spacing.
C             (must be in range 2 < = NNOD < = MNOD, a constant far field,
C              distance, initial/end grid spacing is specified with NNOD=1)
C
C   Repeat the following for each node
C   Do N=1,NNOD
C    JNOD(N) = Node index of Nth node (-1 = last node, disregarded if NNOD=1)
C    ETAMX(N) = Far field distance at node N
C    DETA(N) = First grid point spacing in marching direction from initial curve
C              (or 0 for no spacing control)
C    DFAR(N) = Last grid point spacing in marching direction from initial curve
C              (or 0 for no spacing control)
C   Enddo
C
C   SMU    = Explicit smoothing coefficient O(1)
C   TIM    = TIM factor for smoothing in marching direction (0<=TIM<=3)
C   ITSVOL = Number of times prescribed areas DAREA(J) is smoothed
C
C   NSPBC  = 0 topologies of all reference grids to be determined automatically
C          > 0 number of grids to specify topology
C   IAUC   = 0  Do not automatically concatenate consecutive grids that share
C               a common initial curve
C          = 1  Automatically concatenate consecutive grids that share
C               a common initial curve
C          = -1 Do not do projection
C
C   Repeat the following for each reference grid that require topology
C   specification.
C   Topologies of grids not specified here will be determined automatically.
C   
C   IG     =     grid number of reference grid
C   IBCJS  = 0   non-periodic condition with no axis pts in J
C          = 1   axis point at J=1 only
C          = 2   axis point at J=jmax only
C          = 3   axis point at both J=1 and jmax
C          = 10  periodic condition in J
C   IBCKS  = 0   non-periodic condition with no axis pts in K
C          = 10  periodic condition in K
C
C   NFAM   > 0   Number of reference grid families
C          = 0   All input reference grids belong to same family, i.e family #1
C
C  If NFAM>0 read the following
C
C   IFNUM  = Family number
C   NGFAM  = Number of grids in IFNUM family
C   IGNUM  = Reference grid number in IFNUM family


| CFD Programs | Website Menu |


Last Modified: