SMOGRD Version 1.33

Authors: Stuart E. Rogers

Usage:

      smogrd [-f wingfile] [-o outfile] [-2d] [-jte j] [-ibdir i]
	     [-cgrid] [-hgrid] [-wingcap] [-cusp] [-collar] [-wake wakefile]
             [-jfold] [-kfold] [-lfold]
             [-ibcja ja] [-ibcjb jb] [-ibcka ka] [-ibckb kb] [-nmax n]
             [-jbeg jb] [-jend je]
             [-kbeg kb] [-kend ke]
             [-lbeg lb] [-lend le]
             [-relx rx] [-rely ry] [-relz rz] [-kperi]

Description:

The smogrd program is used to perform elliptic smoothing to a portion of a grid and spread out an undesired region of fine spacing. This typically occurs at the wake-cut of a c-grid which has been generated with a hyperbolic grid generator. Improved accuracy and convergence can sometimes be obtained if the fine wall spacing is relaxed at these flow-through boundaries.

Arguments:

   -f wingfile: wingfile is the filename of the input volume grid written
	as a plot3d single-zone unformatted file, in two or three dimensions.
	The current implementation of the program assumes the following:
	in a 3D file, the j-direction is the c-grid direction, the k-direction
	is a spanwise or cross-flow direction, and the l-direction is normal
	to the body; in a 2D file, the j-direction is the c-grid direction and
	the k-direction is normal to the body.
	Default value for wingfile is xyz.dat.

  -o outfile: outfile is the filename to which the new grid is written.
	Default value for outfile is xyz.sm.dat.

  -2d: this flag indicates that the input file is two-dimensional.
	The default is to assume a 3D input file.

  -cgrid: this flag indicates that the topology of the input grid is
	a c-grid.  The smoothing is performed by temporarily reordering 
	the grid lines aft of the trailing-edge into a single block.  This
	provides for slope- and spacing-continuity across the wake-cut.
	This is the default behavior.

  -collar: This flag indicates that the input grid is a collar grid.
	The smoothing is performed by reordering the grid lines aft of
	the trailing-edge into a single block for the subset of the
	grid which forms a c-topology.

  -jfold: This flag indicates that the grid has a fold-over flow through
	boundary, where j is the fold direction, as in OVERFLOW boundary
	condition 54.  Works only with -hgrid option.  Default is false.

  -kfold: This flag indicates that the grid has a fold-over flow through
	boundary, where k is the fold direction, as in OVERFLOW boundary
	condition 55.  Works only with -hgrid option.  Default is false.

  -lfold: This flag indicates that the grid has a fold-over flow through
	boundary, where l is the fold direction, as in OVERFLOW boundary
	condition 56.  Works only with -hgrid option.  Default is false.

  -jte j: j is the j-index of the grid point of the lower trailing-edge,
	or, if j is less than or equal to zero, it indicates that the program
	should find the TE point automatically.  The TE point (jte) is the
	aft-most point which will be considered a no-slip wall point.  Aft of
	this point, c-grid flow-through boundary conditions should be applied.

	If j=0, the code will set jte to the forward most point
	where the wingtip cross-section collapses to zero thickness.

	If j=-1, -2, ..., the code will set jte corresponding to the
	(-j)th point ahead of the forward most point where the wingtip
	cross-section collapses to zero thickness.  For example, if jte=-1,
	the code will set jte corresponding to the aftmost point where
	there is a non-zero thickness.

	If the c-grid wake cut of the wing grid never collapses to zero
	thickness, use j=-99.  This will cause the code set jte to the
	point corresponding to the first minima encountered (when
	searching from j=1 forward) in the chordwise spacing.  It also
	causes the program to treat each side of the c-grid separately,
	so that the surface line does not move and the opening between
	the legs of the c-grid is maintained.
	
        Default is 0.


  -wingcap:  This flag indicates that the input grid file has the topology
	of a wingcap grid with a c-topology.  Smoothing is applied to
	each l-grid line aft of the trailing-edge individually.

  -cusp:  This flag indicates that the input grid file has the topology
	of a wingcap grid with a cusp.  This implies the -wingcap option.
	Smoothing is applied to each l-grid line individually, to all lines
	aft of the trailing edge and before the cusp.

  -wake wakefile:
	#### Defered Implementation ####

  -relx rx: rx is a real number between 0.0 and 1.0.  rx is a scale factor
	effecting the change in the x-coordinates.  Values of zero means
	the smoothing will not change the x-coordinates.  Default is 1.

  -rely ry: ry is a real number between 0.0 and 1.0.  ry is a scale factor
	effecting the change in the y-coordinates.  Values of zero means
	the smoothing will not change the y-coordinates.  Default is 1.

  -relz rz: rz is a real number between 0.0 and 1.0.  rz is a scale factor
	effecting the change in the z-coordinates.  Values of zero means
	the smoothing will not change the z-coordinates.  Default is 1.

  -nmax n: number of iterations used in the elliptic smoother.  Default is 2.

  -hgrid: program is to perform smoothing on the input grid for the
        specified subset given by the input parameters jbeg,jend,
	kbeg,kend, and lbeg,lend.

  -jbeg jb  -jend je:
  -kbeg kb  -kend ke:
  -lbeg lb  -lend le:
	These inputs specify a subset of the grid to be smoothed.
	For the hgrid option, all 3 beg/end indices are used.
	For the cgrid option, only the spanwise computational direction
	indices are used.  Negative indices can be used to specify
	an index using the formula: jb = jmax + 1 + jb; for example
	jb=-1 indicates jmax.  If the beginning or ending index is an interior
	point, the smoothing is limited for the first few grid points close
	to the beginning/ending index.  Defaults: jb=1, je=-1; kb=1, ke=-1;
        lb=1, le=-1.

  -kperi: use this flag to indicate a periodic o-grid in the k-direction;
        this forces the program to make k=1 and k=kmax planes coincident.

  -ibdir ib: ib indicates the computational direction to be smoothed, which
	typically should be the direction normal to the no-slip wall.
	Values of +1/-1, +2/-2, +3/-3 indicate the positive/negative xi-
	direction, the positive/negative eta-direction, and the positive/
	negative zeta-direction, respectively.  Default = 3.

  -ibcja ja, -ibcjb jb:
  -ibcka ka, -ibckb kb:
	boundary conditions to apply at the j=1,
	j=jmax, k=1, and k=kmax, boundaries, respectively.  These values are
	ignored if these boundaries are excluded from the active subset of the
	grid using the [jkl]beg, [jkl]end inputs.  The values of these
	boundary conditions correspond to the values used by the hyperbolic
	grid generator HYPGEN.  Default is -1.

	-1:	floating x, y, and z.  This extrapolates coordinates for
		c-grid and collar grid topologies on the downstream and
		spanwise boundaries.
	1:	fix x, float y and z
	2:	fix y, float x and y
	3:	fix z, float x and y
	4:	float x, fix y and z
	5:	float y, fix x and z
	6:	float z, fix x and y
	7:	floating collapsed edge with matching upper and lower sides
	21:	NOT YET IMPLMENTED!!!!!!
                ibcka or ibckb only: apply to ibcka or ibckb:  stacked 2D
		grid boundary condition with kmax=3.  Code will copy
		the k=2 plane into the k=1 and k=kmax planes.  Code will
		automatically determine if the 2D planes are in the xy, yz,
		or xz physical planes.

	NOTE: these are currently only coded for the cgrid option with
              ibdir=3, and for the collar option (ibcjb and ibckb=7 only)
              with ibdir=3, and for the 2d hgrid option, and for the 2d
              cgrid option with ibdir=2, and for the wingcap option, and
              for the 3d hgrid option.


Last modified: Tue May 4 14:07:56 1999