WINGCAP Version 2

Authors: Stuart E. Rogers

Description:

The wingcap program generates a fine-resolution surface grid on the tip of a wing, to be used in an overset (chimera) grid environment.

Usage:

     wingcap [-f wingfile] [-ow wing_out_file] [-oc cap_root_name]
             [-cove covefile jte_cove kcap_cove jteb_wing jtet_wing]
             [-family name] [-familyhalf name1 name2] [-family2 name1 name2]
             [-jte j] [-kmax] [-k1] [-cgrid] [-ogrid]
             [-round] [-square] [-cusp] [-slit] [-srface srf] [-srfacete srfte]
	     [-srmax srmx] [-jmaxcen j] [-kmaxcen k] [-jpts_end j] [-mgrid m]
	     [-thickmin t] [-wakerad w] [-intgrd] [-notrim] [-linear] [-debug]
	     [-kwingspan k] [-top_anchor ta]
	     [-halfcap jhalftop jhalfbot] [-halfrat xr]
             [-smu smu] [-tim tim] [-itsvol itsvol]


     -f wingfile: wingfile is the filename of the wing surface grid.
        Default is wing.srf

     -ow wing_out_file: output file name of the trimmed and projected wing
        surface grid.  Defaults are:
           wing.trimi for -k1
           wing.trimo for -kmax

     -oc cap_root_name: root name for output cap surface grid and OVERFLOW
        cap boundary-condition file.  For example, if the root name is
        capi, the output cap-grid file will be capi.srf, the output BC
        file will be capi.ovfi.  Default is "cap"

     -family name: denotes family name to be written to the OVERFLOW input
        file.

     -familyhalf name1 name2: denotes family names to be written to the
        OVERFLOW input file for the case when the wingcap face should
	be split into a lower family (name1) and an upper (name2) family.

     -family2 name1 name2: denotes family names to be written to the
        OVERFLOW input file for the case when the wingcap face belongs
        to family name1, and the cap-surfaces on the wing belong to
        family name2.

     -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.
	
        Default is 0.

     -jle j: used in determining the leading-edge (LE) of the wing section.
	By default, the code determines the LE point by searching for the
	grid point that is furthest away from the TE.  The LE point can
	be shifted by an amount j using this input parameter.

        Default is 0.


     -k1 indicates that a cap grid should be generated on the k=1
	end of the wing.  Default is to compute the cap on the k=kmax
	end of the wing.

     -kmax indicates that a cap grid should be generated on the k=kmax
	end of the wing.  This is the default and takes precendence over -k1.

     -cgrid causes the cap grid to be a c-grid topology at the trailing-edge.
	This is the default, and takes precendence over -ogrid.

     -ogrid causes the cap grid to be an o-grid topology at the trailing-edge.
	Default behavior is to use a c-grid topology.

     -round causes the wingtip surface to be rounded.
	This is the default and takes precendence over -square.

     -square causes the wingtip surface to be square.
	Default is to create a rounded surface.

     -cusp should be used when the cross section has a sharp cusp
	as can sometimes be found on the slat-element of a high-lift wing.
	This causes the program to generate a cap grid with an h-grid
	topology.

     -cove covefile jte_cove kcap_cove jteb_wing jtet_wing:
        Used for special case where a square-shapped cove is cut out of
        a wing, and a separate H-H grid is used inside the cove.  This
        will force the cap grid on the wingtip face to align with the
        edges of the cove.  The -cove option will generate a square
        cap grid, and will override the -round option.   Five arguments
        are required with the cove option: 

		covefile is the filename of the volume grid which fills
		        the cove, the grid must have j-direction chordwise, 
			k-direction spanwise, and l-direction vertical;
		jte_cove is the j-index in the cove grid at the wing 
			trailing edge; 
		kcap_cove is the k-index of the cove grid in the plane
			of the wing-tip;
		jteb_wing is the j-index in the wing grid at the bottom 
			surface edge of the cove; 
		jtet_wing is the j-index in the wing grid of the 
			upper-surface trailing edge.

     -jbreak:
        indicates that the wing has a slope discontinuity on the lower
        surface at j=jbreak, which requires special attention.
        **** defered implementation *****

     -mgrid m: causes the program to generate a grid with dimensions that
	are usable for m levels of a multigrid algorithm:
	dim = 2**(m-1)*n + 1; n=1,2,3,...  where dim applys to kmaxcen,
	jmaxcen, jpts_end, kmax, and jmax+1-jte.  Thus, for jmax to be a
	good multigrid number, jte in the wing-surface grid must also be
	a good multigrid number for this value of m.
	Default: m=3.
	
     -notrim causes the program to skip the portion of the program which
	generates the new wing surface grid called wing2d.trimi or wing2d.trimo

     -linear causes the program to use a linear interpolation of the
	wingtip shape instead of the default montone cubic spline.

     -debug causes the program to not delete all the temporary files
	used in the creation of the wingcap program.

     -sharple should be used when the airfoil section at the wingtip has
	a sharp leading-edge.  This causes the program to generate a
	cap grid with an h-grid topology.

     -slit should be used when the cross section at the wingtip collapes
	to zero thickness.  This causes the program to generate a
	surface grid with a single line on the zero-thickness-
	wingtip face.  The following flags will have no effect when
	using -slit: -round, -square, -srface, -kmaxcen, and -srfacete.
	Currently only implemented for -ogrid topology.

     -srface srf; srf should be a real number between 0.7 and 1.3.
        srf is used as a stretching ratio to control clustering of points
	toward the wingtip edge in k-direction.  Typically, use values from
	1.0 (equal spacing on wingtip face) to 1.25 (clustered).
	Square wingtips should have larger values than rounded wingtips.
	Default is 1.01 for a rounded wingtip; 1.2 for a square wingtip.

     -srfacete srfte; srfte should be a real number between 0.7 and 1.3.
	srfte is used like srf except it overrides srf in the region
	of the trailing edge.  Use values between 1.3 (smaller spacing at
	edge), and 0.75 (largers spacing at edge).  Using smaller values
	of srfte results in fewer grid points in k-direction, so this is
	recommeded.  However, for an o-grid topology and a swept wing, the
	resulting concave grid shape will require larger values of SRFACETE.
	Default is 0.9.

     -srmax srmx; srmx is the maximum stretching ratio allowed.
	Default is 1.25.

     -jmaxcen j; j is the number of points in chordwise direction in the wingcap
	grid for an o-grid; c-grid will have total of jmaxcen-jpts_end+jte,
	where jte is the index of the TE point in the wing grid.
	Default is j=77.

     -kmaxcen k; k is the number of points in the wing-thickness direction on
	the face of the wingtip.  The total number of points in the
	k-direction will be determined by the code.  This value may be 
	overwritten as required by the value of mgrid (to force a good 
	multigrid number).
	Default:  k=17.

     -jpts_end j: j is the number of points in j-direction in wingcap grid
	which wrap spanwise along the LE line; in the o-grid it is also
	number of points which wrap spanwise along TE line.
	Default: j=17

     -kwingspan k: k is the number of spanwise cells on the wing grid
	that the wingcap grid will try to overlap.  Remember that the last 
	k-plane of the wing grid is typically removed after the wingcap 
	grid is generated.  Due to the nature of the hyperbolic surface
	grid generation, it is not guaranteed that this many cells will
	be covered.
	Default: k=3

     -thickmin t; t is a small number which is the minimum allowable thickness
	of the wingtip for the cap face.
	Default = 5.e-4

     -wakerad w; w is a real number used for c-grid topologies only; it
	is used to compute the radius used in wake portion of the grid:
	radius = WAKERAD * 0.5 * TE thickness of wing.
	Default = 0.7.

     -intgrd; this switch causes the program to use intgrd instead of surgrd
	when generating the grid spanwise along the surface of the wing
	where possible.  intgrd uses an algebraic grid generation which
	forces the wingcap grid to follow along the spanwise grid lines
	of the wing.  surgrd is a hyperbolic grid generation which will
	result in smoother grids that do not necessarily follow the spanwise
	grid lines of the wing.  Default is to use surgrd.

     -top_anchor ta: ta is a real number used to modify the placement of
        grid lines on the wingtip face.
        Default = 1.0

     -halfcap jhalfbot jhalftop: this option causes the program to generate
        a cap grid on an aft subset of the wing.  jhalftop and jhalfbot are
        the j-indices of the wing-surface grid on the top and bottom surfaces
        respectively, which determine the subset to be capped.

     -halfrat xr: xr is a variable which scales the grid spacing in the
	j-direction at the j=1 grid line in the -halfcap option.  When
        the -halfcap option is used with the -cove option, xr also
        scales the j-spacing at the cove opening.
        Default = 1.0

     -smu smu: passes the value of smu to surgrd; controls smoothing.
        Default = 2.0, except with -slit where default = 1.0

     -tim tim: passes the value of tim to surgrd; controls implicit
        factor which helps marching out of concave regions.
        Default = 2.0, except with -slit where default = 5.0

     -itsvol itsvol: passes the value of itsvol to surgrd; controls
        number of smoothing iterations.
        Default = 100


Wing surface grid

The wing surface grid should be a 3D, single zone, unformatted, grid file in PLOT3D format, with lmax=1. The format for this file is given by the following FORTRAN code:
	lmax = 1
	write(unit) jmax,kmax,lmax
	write(unit) ((x(j,k),j=1,jmax),k=1,kmax),
       &            ((y(j,k),j=1,jmax),k=1,kmax),
       &            ((z(j,k),j=1,jmax),k=1,kmax)
The program assumes that the wing surface grid is a c-grid. The j-direction goes in the c-direction, with j=1 on the lower surface of the grid. The k-direction goes spanwise. The spanwise spacing at the wingtip should be no greater than 0.1 times the chord at the wingtip to obtain a smooth cap grid.

The code creates a new wing-surface grid file, called wing2d.new. This is generated by removing the last spanwise plane at the wingtip, and then projecting points of the new spanwise end plane onto the bilinear surface of the wingcap grid. It is recommended that this new wing sufrace grid is used because the cap-grid will typically have much greater spanwise resolution to handle the strong flow gradients at the wingtip. <3>Flow Solver Boundary Conditions Most surfaces of a wingcap volume grid resulting from the use of this program will either be no-slip wall surfaces or outer-boundaries to be updated through overlapping grid interpolation. The exception is for c-grid wingcap topologies and the inner surface which is aft of the wing trailing-edge. This it typically updated with a combination of c-grid flow-through boundary conditions, and a singular-axis boundary condition. The former is typically applied for l=1 points aft of the trailing-edge, k=1 to (kmax+1)/2-kmaxcen/2; and k=(kmax+1)/2+kmaxcen/2 to kmax. The singular-axis boundary condition would then be applied to the rest of the surface, from k=(kmax+1)/2-kmaxcen/2+1 to k=(kmax+1)/2+kmaxcen/2-1.


| CGT Manual | CFD Programs | Website Menu | Search |


NASA Ames Research Center, Moffett Field CA 94035-1000, (650) 604-5000
URL: http://rotorcraft.arc.nasa.gov/
This Website Maintained By: Randall L. Peterson.
Responsible NASA Official: Dr. William Warmbrodt (Chief)

Privacy Statement
Ames Research Center Homepage
NASA Homepage

Last Modified: Monday, 07-Jan-2008 11:59:37 PST