|PEGASUS 5 User's Guide|
|Previous Section||Return to Table of Contents||Next Section|
The new features that have been added to PEGASUS 5 are discussed in this section.
2.1 Automatic Minimum Hole Cutting
An automatic hole-cutting capability is provided with PEGASUS 5.1 In many cases, a good hole structure can be developed with no intervention by the user. However, the hole generation process can be manipulated through user inputs if necessary.
The hole generation process requires a definition of the solid boundaries of the configuration. This information is supplied in the standard input file. See the $BCINP namelist for a description of this input and Appendix B for an example. This file can either be created manually using an editor, or can be generated automatically (with possibly some modifications necessary) if OVERFLOW input is available.
The automatic hole generation process is illustrated using a
two-dimensional example (i.e., a 3-element airfoil, used throughout
this manual to illustrate aspects of PEGASUS operation). Figure 1
illustrates the solid boundaries of the airfoil, as defined in the
boundary condition file.
Figure 1. Three-Element Airfoil Solid Boundaries
The entire point of the hole-generation process is to partition the
region surrounding the airfoil into "inside" and "outside" regions. In
PEGASUS 5.1, this is accomplished using Cartesian meshes, where it is
desired to mark each Cartesian element as an "inside", "outside", or
"fringe" element. In the simplest case, a single Cartesian mesh is
generated which contains the solid boundaries of the
configuration. The elements of the Cartesian mesh which intercept the
solid surface elements of the airfoil are found; Fthese are designated
as fringe elements. Some of the fringe elements in the slat-wing
region of the 3-element airfoil are depicted in Figure 2.
It is assumed that the corner elements of the Cartesian mesh are
"outside" elements. Any unidentified (i.e., non-fringe) element that is
adjacent to an outside element must itself be an outside element. The outside
region is then identified by marching from the corner elements inward until
no more elements that are adjacent to outside elements can be found. The
outside region is thereby completely defined, and is depicted in Figure
3. Finally, any element remaining that is not either an outside or fringe
element must be an "inside" element. Inside elements are depicted in Figure
Figure 3. Outside Elements
Figure 4. Inside Elements
The Cartesian mesh is now a completed "hole map". Given an arbitrary
grid point, the Cartesian element within the hole map in which the point
resides can very quickly be identified. Points that are found to be encompassed
by "outside" or "inside" elements are marked as field points or hole points,
respectively. Points that fall within fringe elements must undergo further
processing. PEGASUS 5.1 uses a "line-of-sight" algorithm to determine the
status of an arbitrary grid point; this algorithm simply states that if
a clear line-of-sight exists between the point and an outside or inside
(i.e., non-fringe) element, the point will assume the identity of that
element. A clear line-of-sight means that a vector from the point to a
neighboring non-fringe element does not intersect the solid surface contained
in the fringe element. The algorithm is illustrated in Figure 5. Points
that can "see" an outside element are field points; points that can "see"
an inside element are hole points.
Figure 5. Line-of-Sight Algorithm
In the example of Figure 5, Point A is outside. Point B is inside, and will be marked as a hole point. Points that cannot be identified are considered outside points.
2.2 Automation of Outer Boundary Specifications
The automation of the specification of outer boundaries is relatively straightforward. If all boundary conditions have been specified for a mesh, the minimum and maximum index surfaces that have not been specified as boundary conditions for the flow solver are designated as the outer boundaries. Outer boundaries are assumed to receive boundary information via interpolation from other meshes.
To automate the outer boundary specifications within PEGASUS, the boundary conditions for each grid must be available as input to PEGASUS. The boundary conditions are entered into PEGASUS using the $BCINP namelist in the standard input file. By default, PEGASUS will determine outer boundaries for all meshes.
The manual approaches for specifying both outer boundaries and interior blanked regions are still acceptable inputs to PEGASUS. These inputs can still be used separately or in combination with the new method.
In PEGASUS version 4, the user specifies whether a hole boundary is to have a single or double fringe of interpolation points with a single input. The fringe level for outer boundaries, on the other hand, had to be explicitly specified. Now, with outer boundaries automatically specified, the fringe level for outer boundaries can be set with a single input. The user can set the fringe level for holes and outer boundaries with a single input, or set the fringe level for holes and outer boundaries separately. It should be noted that not all flow solvers can handle a mixed single/double fringe level of interpolated boundary points.
In version 4, the LINK list input is a priority list containing the
names of meshes that are to be searched for interpolation stencils that
can provide information for interpolated boundary points. The meshes in
the priority list are searched in the order in which they appear in the
input. If a legal interpolation stencil is found, then the processing for
that interpolated boundary point is discontinued. If no legal interpolation
stencil can be found in the first mesh in the priority list, then the second
mesh is searched for an interpolation stencil. The process continues until
either (1) interpolation stencils have been found for all interpolated
boundary points, or (2) the mesh priority list is exhausted. Any interpolated
boundary points that have no legal interpolation stencil in any of the
meshes in the priority list are termed "orphans."
The user typically places the finer meshes at the top of the priority list and coarser meshes at the bottom of the list. This method usually gives adequate results but still leaves the user with only visualization techniques to evaluate the size difference between the interpolated boundary point cell and the interpolation stencil. (An interpolated boundary point cell is the cell adjacent to the interpolated boundary point in the positive J, K, and L directions.) It is assumed here that to obtain the "best" interpolation, the interpolated boundary point cell and interpolation stencil cell must have similar sizes. Use of the link-list approach, although simple to implement and computationally efficient, may not find the "best" pairing of an interpolated boundary point cell and an interpolation stencil. For example, if a user specifies a coarse mesh at or near the top of the link list, a significant difference in size may be found between the interpolated boundary point cell and the interpolation stencil.
Automation of this process must therefore take into account the sizes of the interpolated boundary point cell and the interpolation stencil when determining the "best" pairing. Additionally, the user needs to receive diagnostic information to determine the worth of the interpolated boundary points-interpolation stencil pairs.
The interpolation stencil that is determined to be the "best" for an interpolation boundary point is based on quality and the cell difference parameter. Quality is defined as a measure of the information that is being interpolated from non-hole points. As in previous versions of PEGASUS, if one of the stencil points is a hole point the interpolation stencil is not accepted. Quality is computed by first creating a temporary cell with the values at each of the eight points set equal to 1.0 (the point is a field point) or 0.0 (the point is a boundary point). Quality is then determined by performing a tri-linear interpolation using the computed interpolation coefficients. If all of the stencil points are field points, quality will have a value of 1.0. If for example, one of the stencil points is an interpolated boundary point and the interpolation coefficients are 0.5, 0.5, and 0.5, and, quality would be equal to 0.875.
The cell difference parameter (CDP) is defined as follows:
Values for the cell difference parameter will vary from 0 (the best) to "big." It is yet to be determined what is "too big." Examples of the cell difference parameter are shown in Figure 6 for 2-dimensional cells.
Quality and the cell difference parameter are used to determine from which interpolation stencil, and therefore, from which mesh, an interpolated boundary point receives its data. Figure 7 depicts this logic. The quality value is checked first. If the quality is less than a user specified cutoff level (QCUTOFF), the interpolation stencil is no longer considered.
If the quality of the interpolation is better than a previously selected interpolation stencil by some tolerance (QTOL), the newer interpolation stencil is selected. If the value of quality is within the tolerance value, the interpolation stencil with the lesser value for cell difference is selected. If the computed quality is less than the current quality minus the tolerance, the previously accepted interpolation stencil is kept.
2.4 Level 2 Interpolation
Once the minimum hole has been established, the hole typically must
be enlarged to improve the communication among the meshes. When only a
minimum hole is cut, the fringe about the hole often causes very coarse
mesh points to interpolate from very fine mesh elements. This disparity
in mesh resolutions can severely impact accuracy, especially in viscous
solutions, where a coarse mesh might be attempting to interpolate flow
field information from within a boundary layer. In addition to being able
to establish blanked regions in meshes with solid boundaries, it is also
a requirement to have the capability to create holes with refinement meshes
that are added to the domain. This cannot be accomplished through the usual
hole-cutting methods, since refinement meshes typically do not have solid
walls that would be used for automatic hole cutting.
In order to handle these requirements a new approach for creating the
interpolation boundary was developed. This approach, termed "level 2" interpolation,
has the basic philosophy that coarser mesh points are interpolated from
finer mesh points wherever possible. If more than two meshes are present,
the coarser mesh will interpolate from the medium mesh, which will interpolate
from a finer mesh. For all interpolations of this type quality is kept
equal to 1.0. This approach results in holes that are enlarged only if
better communications are obtained by doing so. Therefore, the flow field
will be computed for a given region only by the mesh with the best resolution.
In addition, proper communications is established by this approach when
refinement meshes are added. Figure 8 depicts the hole structure in the
outer mesh in the 3-element airfoil case. Note that the outer boundary
of the wing mesh has also been moved in so that the outer boundary of the
wing mesh obtains information from mesh elements of similar refinement.
Level 2 interpolation is not initiated within PEGASUS until all boundary creation (hole cutting and outer boundary definitions) is completed.
To implement level 2 interpolation, PEGASUS first attempts to interpolate
every point in each mesh from all other meshes. As a result, PEGASUS performs
far more point interpolations than did earlier versions of PEGASUS. Therefore,
it is critical that the interpolation process in PEGASUS be as efficient
and robust as possible. As in earlier versions of PEGASUS, Version 5.1
uses a Newton's iteration method to determine interpolation coefficients
for each point. Newton's methods are very efficient if a good initial guess
is available. Earlier versions of PEGASUS used an exhaustive search on
a sparse representation of the donor grid to provide initial guesses to
the Newton's method. It was determined that in some cases PEGASUS was spending
large amounts of computational time determining these initial guesses,
particularly since even a sparse representation of a large grid can still
represent a significant effort when using an exhaustive search.
PEGASUS 5.1 uses data structures (Alternating Digital Trees, or ADTs,
Ref. 2) for each mesh to determine an approximate closest point in the
donor mesh to the target boundary point in the recipient mesh. Use of the
ADT is extremely fast; being a tree structure, the ADT approach can handle
very large meshes without a significant increase in the amount of time
required to find the approximate closest point. Once the approximate closest
point is found, the Newton's method is used to iterate to the final stencil
reference point and compute the associated interpolation coefficients.
PEGASUS also uses the ADTs as a means to cross boundaries (e.g., cut planes)
during the Newton's method iteration without requiring knowledge of the
2.5 Orphan Point Fixing
An additional option is offered to the user that provides the
ability to change second fringe "orphan" points back to field
points. This option should only be used with flow solvers that can
handle a mixture of single and double fringes along any interpolated
boundary (e.g., OVERFLOW (Refs. 3-5) or INS3D (Ref. 6)). It should be
noted that fixing a second fringe orphan only changes that point to a
field point and does not affect the quality of any interpolation point
that uses this second fringe orphan point as an interpolation stencil.
Also, even if a second fringe orphan point is fixed, it is still
retained as an orphan point within PEGASUS and efforts will be made in
subsequent restarts to find a legal interpolation stencil for this
Problems have often arisen when two or more grids overlap at a
region near a viscous solid wall, particularly with the small spacing found in
meshes generated to resolve boundary layers. This difficulty is due to
the discretization of curved surfaces. Points that are on the actual
surface can be found to be inside the discretized solid boundary of
another surface. To correct this problem, mesh projection methods have
been used successfully. Programs like PROGRD (Ref. 7) move the mesh
points in one mesh relative to another mesh. Once the grids have been
projected and stored, interpolation coefficients may be found by
PEGASUS in the normal manner.
PEGASUS 5.1 has a built-in and highly automated mesh projection
capability which is based on the PROGRD algorithm. For a given
mesh, all other overlapping meshes are projected onto its viscous, solid
surfaces. The interpolation process then uses these projected mesh
definitions to determine interpolation coefficients. PEGASUS does not
modify the grids that will be used by the flow solver. However, each
boundary point will receive information from interpolation elements
from the temporary projected mesh definitions. Mesh projection can be
controlled through the user inputs DISTANCE, ANGLE, SHIFT,
PINCLUDE, PEXCLUDE in the $GLOBAL and $MESH namelists.
A feature that has been added to aid in cleaning up hole cutting is
the unblanking feature. This feature is a manual operation that uses the
$REGION/$VOLUME user inputs. Points of a specified mesh can be modified
so as not to be hole points. This procedure is performed immediately after
hole cutting. Points that are to be unblanked will become either a field
or interpolated boundary point.
In the previous version of PEGASUS, restarting was handled in a very labor-intensive manner. Each new restart required a new user input file that specified the changes, as well as the relationship, of the new added meshes to the previously added meshes. This operation was prone to errors and required a new approach, since the number of meshes and connections would increase prohibitively. The new approach to restart requires no special knowledge of what has occurred in previous executions. The user is required only to modify the standard input file or the meshes, as needed. PEGASUS automatically determines what work needs to be performed to complete the PEGASUS execution. In this manner, restarting in PEGASUS is very similar to using the UNIX "make" utility.
The procedures in PEGASUS version 5.1 have been written so create the communication data in a path independent manner. Path independence was not the case with restarting for PEGASUS 4.
In order to restart a PEGASUS job from the beginning, simply remove or rename the WORK directory, for example:
|PEGASUS 5 User's Guide|
|Previous Section||Return to Table of Contents||Next Section|