================================================================================ 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
Last Modified: