Bluff Automotive Body
based on
"Automatic Structured Grid Generation Using Gridgen
(Some Restrictions Apply)"
from NASA CP-3291, "Surface Modeling, Grid Generation, and
Related Issues in Computational Fluid Dynamic (CFD)
Solutions", proceedings of a workshop held at NASA Lewis
Research Center, Cleveland, OH, 09-11 May 1995, pp. 463-476.
Gridgen is a software system for generation of 3D, multiple block,
structured grids. The system is comprised of two codes: Gridgen, an
interactive program that provides capabilities ranging from geometry
model import through volume grid initialization and analysis software
preprocessing; and Gridgen3D, a batch program for volume grid
refinement. Gridgen is a monolithic program in the sense
that it consists of a single process and a single graphics window.
Gridgen's window, however, is repositionable and resizable. Gridgen
also manages its own non-overlapping windows inside the main window.
User interaction with Gridgen is directed through text - based button
menus activated via the mouse or keyboard "hot keys". A 3D,
graphical image of the grid is always present and may be easily
panned, zoomed, rotated, and otherwise customized by the user.
The manner in which grids are constructed using Gridgen is is based
on a hierarchical paradigm, beginning with the geometry model, and
proceeding to curve, surface, and volume elements as shown in the
adjacent figure.
The geometry model, provided as input to Gridgen, serves as the
foundation for the hierarchy. The user constructs curves which are
in turn used to build the topological surface and volume components.
The grid for each of the hierarchical components is an implicit but
separate part of the component. The result of maintaining a
distinction between the geometry model, the hierarchical components,
and the grid allows changes to be rapidly propagated either forward
or backward throughout the grid system.
Users operate Gridgen in much the same manner as a product designer
operates a computer aided design (CAD) system. After importing and
repairing the geometry model (database), the user draws curves
(connectors), assigns a number of points to each connector, and
distributes those points along the connector using a variety of
distribution functions. The connectors are then selected as the
boundaries of surface grids (domains). Transfinite interpolation
(TFI), elliptic partial differential equation (PDE), and hyperbolic
PDE methods are available for controlling the distribution of grid
points on the domains. The domains are then selected as the
boundaries of volume grids (blocks). Again, TFI, elliptic PDE, and
hyperbolic PDE methods are available for grid point control within
the blocks. Finally, the user sets boundary conditions and exports
formatted data for the chosen analysis software.
From the description above it should be apparent that grid generation
using Gridgen is a user - in - the - loop task. Therefore, one of
the goals of the software design has been to automate as much
of the grid generation minutiae and bookkeeping as possible so that
the user may concentrate on topology and grid quality. This is made
possible through Gridgen's data hierarchy. The data hierarchy
maintains the inter-relationships between the 1D, 2D, and 3D grid
components (connectors, domains, and blocks, respectively) so that
the user's changes may be propagated up or down the hierarchy
automatically. Some of these automation tools are described
in the following sections.
Gridgen's automation features will be demonstrated in the context of
grid generation for an external automotive shape. This bluff body,
illustrated in the adjacent figure, was the subject of a wind tunnel
test that studied its wake structure relative to the base slant
angle. This vehicle was also used as the basis for an evaluation of
computational fluid dynamics (CFD) software for automotive shapes.
The surface grids created using Gridgen are shown in the figure
below.
Database is Gridgen's term for the geometry model of the object on
and around which the grid is to be generated. Gridgen's database
capability is based mathematically on nth degree, rational, Bezier
curve and surface geometry. The database also includes relational
data such as grouping, color, names, etc. Gridgen can import the
database from several industry standard file types. The bilinear
database surfaces for the bluff-body grid were created from drawings
and tabular data. The surfaces in this particular database were
stored in two files: one containing the five surfaces for the fore-
and mid-bodies, and one containing the four aft-body surfaces.
Gridgen offers several methods for placing grid points on the
database including curves that may be drawn directly on the surfaces
("Line on DB" and "Curve on DB" segment types),
projection of curve grids, and projection of surface grids. More
importantly, Gridgen automatically maintains the adherence of grid
components to the database. This relationship between the grid and
the database is maintained via the database entity name. Each entity
in Gridgen's database has a unique name and every grid component that
adheres to the database saves the name of the entity and the database
coordinates (see adjacent figure). This allows the grid to
automatically adhere to the database even when the database shape
changes.
When the shape modification commands (Translate, Scale, and Rotate)
are applied by the user, all of the grid elements adhering to the
modified entities (as determined by the data shown in the figure
above) are also modified automatically. For the bluff-body example
grid, this allows the base slant angle of the grid to be changed
simply by importing a different database file as shown in the
adjacent figure.
The curves along which grid points are to be distributed are called
connectors. Each connector consists of three attributes: shape,
dimension (number of grid points), and distribution (of grid
points). Although each of the three attributes of a connector
may be changed individually they
are all coupled. This allows the user to change any one of the
attributes and the other two will be updated automatically.
This feature allows the user to edit the grid without
reworking the entire connector definition which can make the user
much more efficient. This connector updating process occurs whenever
the database is modified (as described in the previous section). As
shown in the adjacent figure, changes to the connectors are propagated
automatically up the grid component hierarchy to domains and blocks.
Gridgen's surface grid components are called domains. Surface grid
quality (smoothness, clustering, orthogonality) can be improved by
application of Gridgen's elliptic PDE techniques. Specifically,
Gridgen solves Poisson's equation using an explicit, point-wise,
successive over relaxation (SOR) algorithm with optimal relaxation
factors subject to user selected control functions. The elliptic PDE
method is quite flexible and allows the user to apply a wide variety
of attributes. For example, the relatively coarse grid in the
adjacent figure
has been refined using Gridgen's elliptic PDE methods in order to
control the clustering and orthogonality of grid lines toward the
right vertical boundary.
One of the most important elliptic PDE attributes is the surface
shape. This attribute in combination with the control functions
allows the grid points to redistribute themselves in order to obtain
the desired grid qualities while also adhering to the desired shape.
Of course, the most important shape that users need to maintain is
the shape of surface grids constrained to the database. There are
two techniques with which Gridgen can make grid points adhere to the
database. As was the case for TFI, if Gridgen determines that the
surface grid points lie on the database, the elliptic PDEs will be
solved in the parametric space (u,v) of the database and the model
space coordinates will be obtained from the known surface shape
(parametric technique). The second technique for keeping grid points
on the database is a simple projection (conventional technique).
Each domain being run in the elliptic PDE solver maintains the
database entities to project onto, and the projection orientation
(which is computed automatically by Gridgen). The advantage of the
parametric elliptic PDE technique is that it's much easy to set-up
(no additional attributes) and it's much faster (no projections).
Fortunately, Gridgen has automated the application of the database
surface technique. Specifically, when Gridgen detects that all of a
grid point's neighbors (those points used in the finite differences
for solution of the elliptic PDEs) lie on the same database surface
the code will automatically apply the parametric technique, thus
making the calculation much more efficient. When domains span
multiple database surfaces, only those grid points that lie on or
near the seam between the surfaces will require projection. Of
course, grid points may migrate across the seam from one surface to
another. The figure below shows a surface grid that has been created
on the surface of the bluff body database spanning two forebody
surfaces with notations as to which grid points are solved
parametrically and which are solved conventionally.
It is often the case that the precise shape of a surface grid's
perimeter (the connector) is not a priori known by the user. This is
especially true for connectors shared between two domains. Even when
shape isn't important the requirement for smooth variation of grid
lines across the connector is required. Rather than forcing the user
to choose between 1) manually fine-tuning the connector's shape or 2)
being stuck with something inadequate, Gridgen's elliptic PDE
techniques provide a boundary condition that allows the connector
shape to float subject to the elliptic PDE solution. The float
boundary condition treats the grid points on a connector shared
between two domains in the same manner as interior domain
points; they move subject to the elliptic PDE solution. When
the solver is done the original connector shape is replaced by a
new shape defined by the refined grid points.
The user may also defined sub-domains which, as the name implies, are
subsets of a domain. Subdomains may then be used with the TFI and
elliptic PDE methods to restrict the effects of the methods to a
small region of the grid. Subdomains may be thought of as templates
that fit over the domain grid and define the region to which changes
should be made. Each subdomain saves its own unique combination of
elliptic PDE attributes. When grid modifications require
re-application of the PDE methods (see previous sections) the user
may simply invoke the PDE method without resetting attributes.
Volume grids (blocks) are created by the user's selection of the
domains that comprise the block's perimeter. Any number of domains
may be used on the block's perimeter but they must be arranged into
six faces such that opposite faces have the same number of grid
points (ie, the block must map into an IxJxK computational
parallelepiped). Once the block perimeter has been defined Gridgen
will automatically create the volume grid points by applying TFI.
Block modifications, including copy, translate, scale, and rotate,
will result in automatic propagation of changes down Gridgen's data
hierarchy (backward editing) to the domains and connectors as shown
in the adjacent figure.
Gridgen has also automated one of the most cumbersome aspects of
multiple block grid generation: interblock connectivity detection.
As a result of Gridgen's data hierarchy, the code automatically
detects and maintains both full- and partial-face interblock
connections simply by noting that the same domain is used in two
blocks. Changes to a domain's grid points by the PDE solver, for
example, are automatically transferred to both blocks that use that
domain. Changes to a domain on a block's perimeter will propagate up
Gridgen's data hierarchy and cause automatic re-TFI of the volume
grid points. Also, when the boundary conditions are exported for use
with the analysis software the connectivity data is formatted and
exported specifically for the chosen analysis software.
Gridgen also offers an interactive tool for re-dimensioning (changing
the total number of grid points) the entire blocking system. This
feature allows the user to select any connector in the blocking
system and change its number of grid points. That change is
propagated automatically throughout the system to maintain
dimensional consistency (ie, maintain IxJ domains and IxJxK blocks).
An example of this feature is shown in the adjacent figure.
One final automation feature deserves mention. Gridgen can import
"raw" grid points (from a PLOT3D grid file, for example).
When this is done, Gridgen automatically creates connectors, domains,
and blocks, from the raw grid data. Therefore, the user may then
avail him/herself of all of Gridgen's commands, including analysis
boundary condition setting and file export. Conversely, the Gridgen
user may export the grid points from any connector, domain(s), or
block(s) to a PLOT3D file for use in other applications.
Various features within Gridgen have been described and their unique
automatic aspects have been emphasized. These features contrast
sharply with the fact that Gridgen is not an automatic grid generator
where we define automatic as "create as suitable grid given a
geometry model and little or no user input". Instead, Gridgen has
been motivated by the desire to emphasize grid quality and software
flexibility. These emphases have led to the development of a
visually based, 3D, interactive application environment that
automates much of the low level grid maintenance tasks, freeing the
user to apply his/her judgement as to grid suitability. Gridgen's
ability to automate much of the process is directly attributable to
its data hierarchy in which the curve, surface, and volume grids are
maintained as secondary components of connector, domain, and block
topology components.
|