Upload
vuongnhi
View
238
Download
0
Embed Size (px)
Citation preview
50th
Aerospace Sciences Meeting and Exhibit, 2012, Nashville, TN AIAA-2012-****
1
American Institute of Aeronautics and Astronautics
Copyright 2012 by University of Tennessee at Chattanooga,
Published by the American Institute of Aeronautics and Astronautics, Inc., with permission
Adjoint-Based Design Optimization Using CAD
Parameterization Through CAPRI
William E. Brock*, Chad Burdyshaw
†, Steve L. Karman Jr.
‡, Vincent C. Betro
§, C. Bruce Hilbert
**, and W. Kyle
Anderson††
University of Tennessee at Chattanooga
Chattanooga, Tennessee, 37403
Robert Haimes‡‡
Massachusetts Institute of Technology
Cambridge, Massachusetts 02139
Within the field of computational design, there often exists a disconnect between the parametric model
creation (performed in a CAD or other modeling environment) and the analysis codes used by the optimizer
of the design process. In order to assure that optimization is occurring on the true surface and based on a
parameterization that is applicable to the final product, an interface between the model generation and the
optimization software has been created: the Computational Analysis PRogramming Interface (CAPRI1).
CAPRI is an API that allows communication with CAD software during the various stages of computational
design.
A framework was developed for implementing CAPRI within the SimCenter’s current GEOMETRY
libraries with the aim of improving geometry representation and accuracy. The framework also supports
functionality to interface with a design optimization cycle by providing sensitivity derivatives and surface
mesh coordinates throughout successive iterations. This provides an effective and efficient use of gradient-based optimizers. A sample wing was generated using SolidWorks
2 as the CAD tool with the root and tip
sections defined using a NACA 2412 airfoil. Design optimization was then performed upon this model with tip
rotation and wing length as adjustable parameters.
Nomenclature
t = Parametric Coordinate for CAPRI Edges
uv = Parametric Coordinate for CAPRI Faces
xyz = Cartesian Coordinate
ρ = Fluid Density
CL = Coefficient of Lift
L = Integral force of components in the direction of Lift
V = Free Stream Velocity
A = Surface Area
() = Used to denote C++ function call
* Associate CFD Engineer, SimCenter Enterprises Inc., and AIAA Student Member.
† Associate Research Professor, Graduate School of Computational Engineering.
‡ Professor, Graduate School of Computational Engineering, and AIAA Associate Fellow.
§ Assistant Research Professor, Graduate School of Computational Engineering, and AIAA Member.
** Research Associate, Graduate School of Computational Engineering, and AIAA Student Member.
†† Professor, Graduate School of Computational Engineering, and AIAA Associate Fellow.
‡‡ Principal Research Engineer, Massachusetts Institute of Technology, and AIAA Member.
50th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition09 - 12 January 2012, Nashville, Tennessee
AIAA 2012-0968
Copyright © 2012 by The University of Tennessee. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
2
I. Introduction
Design optimization is one of the many areas of Computational Engineering that is directly applicable to almost
any engineering endeavor. A typical design cycle brings together several different processes and is inherently a
multi-disciplinary application.
The beginning and end for any design cycle is the model that is to be optimized. That model can be available in a
variety of formats, from merely a collection of points or surface triangles to a fully defined CAD model coupled
with a computational mesh. The amount of control a user has over this model greatly affects the methodology used
while performing computational design.
One aspect of this control is referred to as shape parameterization; this involves using a discrete number of
parameters that drive physical changes on the underlying geometry. These parameters are used within the design
cycles as adjustable values that change along each iteration of the cycle to solve for some predetermined objective
function. Many forms of shape parameterization involve curve and surface fitting, a few being Bezier, B-spline and
non-uniform rational B-spline (NURBS) surfaces3,4,5
. Another method of parameterization is to use each point on the
surface mesh as an adjustable parameter6,7,8
. Samareh9 provides a good summary and comparison of the methods
used for shape parameterization.
There has been significant development in the method of free form deformation using control grids10
. These
methods are all very capable for use in computational design and have been used in various scenarios. However, if a
model is built within a CAD modeling environment, such as SolidWorks, with the intent of being used in
computational design, another avenue of parameterization is available. A CAD engineer can build the geometry
based on flexible parameters with the intent of being used later as design variables within the computational design
cycle.
The Computational Analysis PRogramming Interface (CAPRI) communicates these parameters to a
computational design software package. This approach has many advantages: 1) using CAD based parameterization
provides excellent control over a model with potentially few design variables, 2) within each design cycle, a new
instance of the CAD model is created and can easily be exported for further analysis and manufacturing additionally,
the format of the CAD model can still be analytically defined, there is no need for interpolated curves or surfaces
beyond the original CAD build, and 3) CAPRI handles the generation of parameter sensitivities drastically
simplifying the process for design engineers11
.
The process for applying CAPRI to support CAD Parameterization for use in Design Optimization at the
University of Tennessee at Chattanooga’s SimCenter: National Center for Computational Engineering, hereafter
referred to as SimCenter, will be explained in detail.
II. Geometry and Parameterization
The first phase of our design procedure is to create a flexible parametric model in SolidWorks. An example of
this can be seen in Figure 1 along with that model’s associated computational mesh in Figure 2. CAPRI can be used
to control the parameters found in the model, which include values set by the driving equations, found in sketches
(dimensions and angles), other arguments associated with specific features and/or spline point locations (with
optionally adjustable tangents and radii of curvature). The operator generating the model must ensure that all
parameters of interest (those included in the design space) are exposed and adjustable, as CAPRI can only
regenerate the model from parameters that are not driven (controlled by other parameters through equations).
A computational mesh is necessary in order to communicate the geometry created in the CAD model to the CFD
solver. This mesh is generated using the software package Pointwise12
by employing CAPRI to create a native file
(.nmb) for this package. The mesh provides the vertex locations that will be used by the analysis code to not only
determine the cost function value for the given design variables but also to place the parametric sensitivities.
Because Pointwise does not provide the source identity (what geometric entity the vertex resides on) an additional
CAPRI application is required so that these vertices can be linked back to the actual geometry of the BRep
(Boundary Representation). These are the Nodes, Edges and Faces in the solid model that contains the physical
locations on the discretized model (as well as the geometric parameters that can be used to evaluate and get to the
AIAA-2012-****
American Institute of Aeronautics and Astronautics
3
vertex). This mesh can then be deformed using Linear Elastic Smoothing13
to represent the newly formed model
without changing the number of nodes or necessitating interpolation between steps.
Figure 1. A parameterized CAD model
Figure 2. A computational mesh
AIAA-2012-****
American Institute of Aeronautics and Astronautics
4
A. Discrete Parameterization
Shape parameterization has a twofold purpose: to reduce the number of control variables, and to produce
surfaces with smooth deformations. Shape design includes the process of analyzing the influence of changes in the
shape on the outcome of the objective. In its most primitive form, the shape is defined by a collection of points in
Cartesian space. Analysis involves independently perturbing each surface point and recording its influence on the
outcome. This process may include thousands of computations, and the resulting gradient driven surface
deformation is likely to result in a surface that is anything but smooth.
Shape parameterization allows abstraction of the collection of surface points by introducing a mapping function
to represent the shape. This has the benefit of reducing the number of design variables, from the number of surface
points to some smaller number of control parameters, and should also result in smooth surface deformations.
Common parameterization methods usually involve fitting a function like a Bezier or NURBS curve or surface
to the collection of surface points. The reduced set of variables may be comprised of spline control points and/or
NURBS knots. This method is fairly successful as a parameterization technique, but can present problems in fitting,
when trying to accurately reproduce the original shape.
A recently developed parameterization method has been designed to eliminate the need for surface fitting14
. This
method involves introducing an arbitrary control surface (typically a box surrounding the desired surface object),
which includes a net of control points, the number and location of these points having been determined to provide
sufficient influence over the surface to be parameterized. Control of the surface is accomplished by assigning
positive or negative weights (in Cartesian coordinates) to each control point and then interpolating their influence to
the surface by propagation of weights into a computational volume mesh using a Laplace equation.
The advantages of this method are that surfaces do not have to be fitted with splines, and parameterization can be
set up for complex geometries fairly easily. Furthermore, the sensitivity of the surface with respect to the
parameterization is a linear function. This allows the use of a static file to update the shape sensitivities and
surface movement throughout the design cycle. A disadvantage is that the influence of control points on the
surface geometry can be hard to predict. This can be improved by applying control nets closer to the surface
mesh and utilizing control nets in shapes similar to the shape under parameterization (e.g. cylindrical control net
for pipe flow, etc.). In addition, due to the linear nature of the interpolation, setting up control points to modify
nonlinear functions such as the twist of a wing, or a sweeping arc would be outside of the capabilities of this
method without applying several special case functions. Another drawback to this method is that the final design
is represented only as a discretized mesh of connected points, which can be difficult to translate back to a form
useful for further analysis (e.g. a CAD representation).
This paper describes an attempt to address deficiencies in this discrete parameterization process. Namely the
issue of improved control, in the form of surface groupings and nonlinear movement/deformation of these surfaces,
and in processing the form of the geometric object such that the resulting data is produced in a usable format.
B. CAPRI Parameterization CAPRI provides a direct interface to a CAD model’s parametric design information. Most CAD systems
represent their construction in the form of a tree, usually referred to as the ‘Feature Tree’. CAPRI gives the user
access to this tree, displaying the features (that when executed provide the recipe for the build) in the form of
branches. Parameters are exposed as a separate list but have the association back to the feature where the parameter
is defined (if any). CAPRI exposes all parameters but only allows the adjustment of driving values (those not
controlled by equations that depend on other parameters or other constraints).
Shape parameterization begins with the CAD process. Time must be taken to ensure that parameters can be
modified independent of each other and that every change results in a valid model. Valid parameter ranges need to
be established in order to maintain model integrity, they must be recorded and set as limits to the optimizer. This
way one may modify the parameters within CAPRI without the fear of producing invalid geometry (or simply
getting a regeneration error). Our mapping function here is as simple as adjusting the parameters. When making
changes through the CAPRI API, the CAD software controls the movement of the underlying geometry by
rebuilding (regeneration of) the model.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
5
For the purpose of design, CAPRI is being set up to offer the generation of analytic parameter sensitivities
directly from CAD. The current state of this new portion of CAPRI is that the sensitivity information is generated
via finite-differences using parameter perturbation and vertex tracking. This is the test-bed that the analytic work
will be validated against. In this way the sensitivity information API does not change as the analytic sensitivity
derivatives are implemented a Feature at a time. The desire to get to complete analytic sensitivities is driven by
speed of this operation (it is linear based on the number of active parameters and CAD regeneration can be slow),
accuracy (finite differences require the selection of a perturbation size) and the difficulties of point tracking with
rebuilt geometry.
An advantage of this process is having real CAD information during design optimization giving access to a
complete CAD representation of the geometry at each stage of the cycle. Also CAPRI has the functionality to
implement complex changes to the geometry, such as entering new spline information to curves. A disadvantage of
this process is the synchronization of the surface mesh with that of the resultant CAD BRep. Within Pointwise the
user is able to mark boundaries in order match these features, but as the CAD geometry gains in complexity, this
synchronization increases in difficulty. Another difficulty is creating CAD geometries that are easily manipulated in
the parameterized form. This adds more demands upon the CAD engineer to lay a foundation that is highly flexible.
III. Design Process
The design process involves bringing together several different operations, described below.
A. Parameterization
The first step is to parameterize the object to be modified. This sets up the design variables that will be optimized
in the process. CAPRI is used to expose primitives in the solid representation that can be used as design variables.
This is all done by careful model creation within the CAD modeling software, SolidWorks. Parameters that need to
be modified are set as ‘Smart Dimensions’ making them available to the CAPRI interface. All parameters that are to
be changed are perturbed in order to check their validity and flexibility within the model. Also, a valid range for
such parameters is determined and communicated to the optimizer so that the design software does not push any
parameters outside of predefined boundaries.
B. Optimization
The optimizer is the driver of the design process. The optimizer initiates calls to the function evaluation,
followed by sensitivity analysis, and from this information, determines new values for the design variables. It then
executes the process that modifies the shape and field mesh, and cycles back to the function evaluation and
sensitivity analysis process again, until the computed objective or sensitivity derivatives reach a target or some
minimum change (local optimum). PORT15
, KSOPT16
, OPT++ are some examples of optimizers used at the
SimCenter. For this study, OPT++17
is used, employing a Quasi Newton method (BFGS with trust region) and side
constraints on the design variables.
C. Function Evaluation
Evaluation of the objective function is accomplished using the Tenasi18
flow solver. The Tenasi solver is an
unstructured mesh, multi-regime, parallel, finite volume fluid flow solver. The objective is to minimize some
function f (β )with βmin≤ β ≤ β
max .
f (β )= (target − obj )2
Where
obj = obj (β )
f (β )≥ 0
The objective function used here is the coefficient of lift:
AIAA-2012-****
American Institute of Aeronautics and Astronautics
6
obj = CL=
L
ρV2A / 2
Where Lift (L) is a numerically integrated quantity produced by Tenasi.
D. Sensitivity Analysis
Sensitivity analysis of the objective is accomplished using Tenasi’s adjoint solver capability19
, with linear
elasticity and dual adjoint calculations for field mesh sensitivities.
E. Shape and Mesh Movement
When the optimizer has determined the changes in parameters that need to be made, it uses the CAPRI API to
make the required changes to the underlying CAD model. Once the parameters have been updated on the CAD
model and a new model generated, the new coordinates from the surface mesh are obtained by retrieving the new
xyz coordinate for the scaled uv coordinate related to each vertex on the Surface Mesh. This process will be
explained in greater detail in the section IV.B. The xyz displacement in 3D space will be used to drive the mesh
movement, which uses a Linear Elastic smoothing routine contained within Tenasi. Sensitivity derivatives are
updated after each change in the underlying geometry to ensure that they are accurate to the newest version of the
optimized model.
The evaluation, analysis, and mesh movement operations are each done in a parallel-distributed cluster
environment. The optimizer and CAPRI steps are computed on a single processor.
IV. CAPRI Implementation
A. Surface Mesh Synchronization
When using a CAD model as the basis for design cycles, certain steps need to be taken to ensure agreement
between the computational mesh and the underlying model. Once the vertices on all the surfaces from the
computational mesh have been matched to their corresponding CAD entities, the implementation becomes
straightforward. Due to the disconnect between CAD, the computational mesh, and the design software, a custom
method was developed for matching these discretized surfaces to the resultant CAD BRep. This method needed to
take into consideration the data structures used in both the SimCenter’s GEOMETRY libraries and CAPRI. Once
these relationships were established, a robust CAPRI application was built. The concept of Quilts20
was used in
order to establish and maintain order in the relationships between the computational domain and the underlying
CAD geometry.
B. Quilt Construction and Point Projection onto the Surface
A Quilt is a mapping from one Face within the Surface Mesh to its associated CAD Face(s) of that Face. In this
implementation, a Quilt related to a Face will contain unique CAD Faces, but will not be shared with other Quilts.
Similarly, another mapping exists to map an Edge on the Surface Mesh to its associated Edge(s) on the CAD model.
The CAD Edges contained in each Edge mapping are also unique and not shared among Edge maps. Quilt and Edge
mappings will be built as the primary data structure used for reference from the surface mesh to the CAD model.
The projection routine takes an array of points from one Face of the Surface Mesh and that Face’s associated
Quilt and modifies the xyz coordinates contained within those points to lie on the CAD model. It also returns the uv
or t coordinates (if on a CAD Face or Edge) and the index of the CAD entity on which each point lies. A C++
function was developed, ClosestOnCAD(),which operates by projecting each point onto each CAD entity within a
Quilt. The projection with the minimum distance from the initial point is returned. The CAPRI functions used here
are gi_qNearestOnFace() and gi_qNearestOnEdge(). These methods not only return the xyz coordinate that lies on
the database, but the parametric uv or t coordinates as well. Once all CAD Faces and Edges have been looped over,
the process has been completed.
Within this process, specific information is also stored for each point on the Surface mesh required by many
other CAPRI functions that return important spatial information. The most important information is what type of
entity the vertex lies on and what the index of that entity is within the CAD system. Also, the t or uv value of that
Edge or Face is stored for later use when requesting the sensitivity derivatives from CAPRI.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
7
C. Generating Sensitivity Derivatives
The current implementation of CAPRI uses a hybrid approach of using instancing and finite differences (in cases
where analytic methods have not yet been developed) to generate sensitivities. The sensitivity derivative features of
the CAPRI API are still in development and this dualistic approach has been provided so that work may be
continued in this area without having all analytic definitions for each supported CAD package. For the course of the
present research, the calls to retrieve the sensitivity derivatives are treated as a black box, with the only adjustable
parameter being the initial finite difference step size.
D. Modifying the CAD Model and Surface Mesh Movement
When performing computational design, it is necessary to modify the CAD model at each iteration of the cycle.
CAPRI supports the modification of parameters within a CAD model and can output a modified version of the
model per each update. This process is fairly straightforward and can be accomplished with only a few CAPRI
functions.
After the model has been modified, the next consideration is the Surface Mesh associated with that model. The
mesh needs to move to match the changes in the underlying geometry. During the initial projection of each vertex
onto the database, information was stored; i.e., the CAD entity, which with each point is associated, the CAD entity
type, and the associated uv coordinate if it lies on a CAD Face or t coordinate if a CAD Edge. The new position of
each surface mesh coordinate can be found by querying the model for the xyz coordinate of each point associated
with their uv or t coordinate. Special attention needs to be given to the minimum and maximum uv and t values for
each CAD Face and Edge. If either the Face or the Edge scaled in size, then a linear relationship can be set up to
translate these points into the modified computational domain. The new uv and t coordinates are calculated as
follows:
tk+1= t
k*
tmax
k+1− t
k+1
min
tmax
k− t
k
min
uk+1= u
k∗
umax
k+1− u
k+1
min
umaxk− u
kmin
vk+1= v
k*
vmax
k+1− v
k+1
min
vmax
k− v
kmin
Where k +1 denotes the next iteration.
V. Application and Results
The geometry used for computational design was built in SolidWorks using generic a model with NACA 2412
wing sections at both the wing root and the wing tip. The model was then exported to a format readable by
Pointwise, a CFD meshing toolkit. From there a computational mesh was built.
(a)
(b)
Figure 3. The (a) NACA 2412 cross section and (b) resulting SolidWorks solid model
AIAA-2012-****
American Institute of Aeronautics and Astronautics
8
The NACA 2412 Wing cross-section, as seen in Figure 3(a), was obtained from UIUC Airfoil Coordinates
Database21
. The data obtained for this wing were imported as spline points and entered into SolidWorks as a “Curve
through XYZ points”. The resulting model is displayed in Figure 3(b). This created a database entity on the z = 0
plane and will be referred to as the “root”. As with all wing cross-sections in the NACA family, the upper and lower
curves did not connect on the trailing edge. Extra points were added to this curve to close this gap, making a sharp
point on the trailing edge. This curve was then copied to another plane at z = 1, referred to as the “tip”, and a loft
was created between both curves to initialize the solid model. The distance between these two planes became the
first parameter.
In order to maintain the integrity of the airfoil shape on the tip during rotation, special relationships needed to be
set up to fix the spline points in relation to the angle of rotation (Figure 4(a)). Perpendicular lines were drawn from
each spline point to the horizontal axis of the wing, and a relationship was set up for each of these lines to remain
perpendicular to the horizontal axis. Verification of wing twist is shown in Figure 4(b). Additionally, the length of
each one of these lines was established as a “Smart Dimension” so that the parameters could be modified from
CAPRI, however these design variables were not modified in this case.
(a)
(b)
Figure 4. The (a) relationships set to maintain proper spline point placement during rotation and
(b) tip rotation verification
A. Parameterization and Design Variables
For the scope of this case, the parameters for tip rotation and wing length were chosen as design variables with
the objective of optimizing lift. This case was selected in the attempt of using a non-linear relationship (i.e. rotation)
for parameterization. The axis of rotation was established at the quarter chord distance on the tip of the wing. Since
this relationship is non-linear and the derivatives returned from CAPRI are only first order, the change in rotation
was given upper and lower limits so as to only move the wing in small increments of rotation per each cycle. Each
cycle was limited to a maximum rotation angle of ±5°°°° relative to the current value. Note that these limits were
specific to each cycle and not to the entire design process. If the optimizer wished to move the wing ±15°°°°, it would
take three iterations to rotate the tip that far. The Wing Length parameter was limited from 0.25 meters minimum to
2.0 meters maximum for the entire cycle. After each design cycle, the new parameter values were sent to CAPRI,
which would generate new surface derivatives based on the updated position of the surface.
B. Issues in Implementation
Two issues were found when modifying the surface mesh according to changes in the CAD parameterized
values.
The first issue was discovered by checking for smooth surface deformations while modifying the spline point
parameterized values along the tip of the wing. Although the changes were consistent among the points, the surface
mesh appeared jagged and inconsistent in the span-wise direction of each modified spline point. This is shown in
AIAA-2012-****
American Institute of Aeronautics and Astronautics
9
Figure 5(a). This did not reflect an error in the methodology so much as indicating the type of mesh that is needed
when making changes to a spline point on an Edge. Also the raggedness of the surface is due to using a spline point
perturbation that is quite large. This displays the difficulties of Spline-based point movement. Creating a structured
surface mesh and diagonalizing that mesh for the support of tetrahedra resolved this issue. When moving the spline
points over this new mesh, there were still sharp changes in the mesh, however they were consistent as seen in
Figure 5(b). This second method was then applied to the surface mesh used for the design cases. This illustrates how
the method of discretization of the surface can create discrepancies when dealing with mesh movement.
(a)
(b)
Figure 5. Spline point movement on an (a) unstructured surface mesh and (b) structured and diagonalized
surface mesh
The second issue was uncovered during the mesh movement operation within the design iterations. When
moving the points to the new xyz coordinates according to their original uv locations, a failure in this algorithm
became apparent. For the first design iteration, the tip of the wing was rotated +5°°°° and the wing extended 1.17m.
The surface points on the tip were successfully translated on each of the Edges and the upper and lower surface.
However, the rotation of the points on the tip did not seem to operate as expected. The points on the edge of the tip
plane were successfully rotated, but the points in the interior of the face were not. This is clearly illustrated in Figure
6. As a workaround, the interior points on the tip of the wing were smoothed using Linear Elastic smoothing routine
with the edge point displacements as boundary conditions and held constant with respect to the z coordinate (Figure
7).
(a)
(b)
Figure 6. Surface mesh (a) before and (b) after tip rotation
AIAA-2012-****
American Institute of Aeronautics and Astronautics
10
Figure 7. Surface mesh on the tip of the wing corrected after rotation using Linear Elastic Smoothing
The problem seen in Figure 6 is primarily due to the linear assumption in rescaling as described in Section IV.D.
A rotation about the ¼ chord is not linear in uv and therefore the updated uv mappings are incorrect. The linear
scaled mapping along the CAD Edge is valid and therefore, if using the updated Bounds (based on the Edges) for the
tip Face, then remapping the triangulation in the interior via elastic smoothing provides an appropriate fix. This way
the triangulation is maintained in connectivity and relationship to neighbors in size.
The initial goal of this research was to implement all of the parameters available through CAPRI while
performing design optimization. However, during the optimization the influence of freely moving spline points
dominated the design, so that a rigid rotation variable was ineffective. So in order to demonstrate the effects of using
non-linear relationships for design variables, the case was modified to use only wing length and tip rotation as
parameters for this experiment. Further work with spline points will be included in future work.
C. Design Results
The NACA 2412 case was run through a total of four design cycles with the goal of finding the parameters
which would result in CL = 1.1. The parameters used in this case were tip rotation and wing length.
Table 1. Evolution of design parameters and objective
Iteration Wing Length Tip Rotation Objective Value Lift Coefficient
0 1.000 0.0 1.884e-01 0.912
1 1.174 5.0 3.210e-02 1.132
2 1.083 2.37 8.689e-02 1.013
3 1.160 4.60 1.372e-02 1.114
4 1.158 4.54 1.103e-02 1.111
As shown in Table 1, the objective function was reduced over iteration and the Lift Coefficient approached the
desired value. The small increase in objective value from iteration 1 to iteration 2 was due to an excessive step in the
trust region which overestimated the correction in tip rotation. These results demonstrate that the derivatives
obtained from CAPRI were successfully incorporated into a typical design cycle. Figure 8 illustrates the progression
of the wing shape as it moved through the design cycle for steps: 0 – red (initial model), 1- turquoise, 2 - green, 3 -
magenta, and 4 - dark blue (final model). Figure 9 gives a cross section of the final position of the tip of the wing
rotated at 4.54°.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
11
(a)
(b)
Figure 8. (a) Model movement over each iteration and (b) the initial (red) and final (blue) states
Figure 9. Final cross-section of the tip of the wing, rotated at 4.54°
Figure 10 displays the desired surface point displacement vectors (gradients of the objective with respect to
surface point movement) from the optimizer for both the initial and final iterations of the design cycle. In the first
design cycle iteration, the surface sensitivity gradients indicate that points on the top of the wing, near the leading
edge, need to be shifted vertically to increase the lift, along with a shift in the opposite direction for the points on the
lower surface near the trailing edge. The gradients also indicate that the wing needs to increase in length as denoted
by the arrows normal to the tip of the wing. By the final iteration, most of the sensitivity has diminished on the top
of the wing where the remaining sensitivities suggest shifting up points at the tail.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
12
(a)
(b)
Figure 10. (a) Initial and (b) final objective sensitivity gradients on surface
VI. Conclusions
It has been shown that existing functionality within CAPRI has the potential for implementing changes to the
underlying CAD geometry during a deterministic design cycle.
This process involves a new method of parameterization for computational design that places new
responsibilities on the CAD designer/operator. Communication between the design team and the CAD engineers is
of the upmost importance, as the CAD operator lays the framework for what parameters can be adjusted during the
design cycle and how they are able to change.
Custom methodologies have been introduced which take the CAD model with a related surface mesh and map
the two entities together. These mappings allow for easy use of CAPRI’s geometry querying libraries and tools.
Additional functionality is supported to obtain design variables from the CAD and relate the changes in each of
those variables to every vertex on the Surface Mesh. Also supported is the updating of a CAD model and the
transformation of the associated Surface Mesh as that model changes.
The pairing of existing design software available to the SimCenter and these new technologies involving CAPRI
resulted in a successful implementation of a deterministic design cycle. The cycle was iterated over four times and
the resulting geometric parameters, the changes in derivatives, and the final CAD model were presented.
Using CAD parameters for design optimization is still in its early stages of development at the SimCenter. It is
not a substitution for current methods nor is it necessarily superior. However, CAD parameterization and integrating
CAD geometry information into the design cycle does have great potential. It offers the user control over the design
variables along with a result that is ready for continued analysis and manufacturing. With continued development
this methodology has significant potential to be a valuable resource for computational design.
Future work in this area should involve steps to improve the robustness of the design application. Current
implementation only allows one BRep to be used during the design cycle, where this is not feasible in a real-world
engineering scenario. More complex, multi-volume, models need to be created and tested within this process to
ensure a usable application.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
13
VII. ACKNOWLEDGEMENTS
The authors wish to express their gratitude to the Office of Naval Research for partial funding of this effort
References
1 Haimes, R. and Follen, G., “Computational Analysis Programming Interface”, Proceedings of the 6th International
Conference on Numerical Grid Generation in Computational Field Simulations, Cross, Eiserman, Hauser, Soni and
Thompson, July 1998.
2 Solidworks, Dassault Systèmes, http://www.solidworks.com/.
3 Anderson, W. K., and Bonhaus, D. L., “Airfoil Design on Unstructured Grids for Turbulent Flows,” AIAA Journal,
Vol. 37, No. 2, 1999, pp. 18-191. doi: 10.2514/2.712
4 Fudge, D. M., and Zingg, D. W., “A CAD-Free and a CAD-Based Geometry Control System for Aerodynamic
Shape Optimization,” AIAA Paper 2005-0451, 2005.
5 Samareh, J. A., “A Novel Shape Parameterization Approach,” NASA TM/TM-1999-290116, May 1999.
6 Jameson, A., “Aerodynamic Design via Control Theory,” Journal of Scientific Computing, Vol. 3, 1988, pp.233-
260.
7Jameson, A., Alonso, J. J., Reuther, J., Martinelli, L., and Vassberg, J. C., “Aerodynamic Shape Optimization
Techniques Based on Control Theory,” AIAA Paper 98-2538, 1998.
8Kim, H., Koc, S., and Nakahashi, K., “Surface Modification Method for Aerodynamic Design Optimization,”
AIAA Journal, Vol. 42, No. 4, April 2005, pp. 727-740. doi: 10.2514/1.11181
9 Samareh, J. A., “A Survey of Shape Parameterization Techniques for High-Fidelity Multidisciplinary Shape
Optimization,” AIAA Journal, Vol. 39, May 2001, pp. 877-884. doi: 10.2514/2.1391
10 Anderson, W. K., Karman, S. L., and Burdyshaw, C., “Geometry Parameterization Method for Multidisciplinary
Applications,” AIAA Journal, Vol. 47, No. 6, 2009, pp. 1568-1578. doi: 10.2514/1.41101
11 Jones, W. T., Lazarra, D., and Haimes, R., “Evolution of Geometric Sensitivity Derivatives from Computer
Aided Design Models,” AIAA, Vol. 2010-816099, September 2010.
12 Pointwise, Pointwise, Inc., http://www.pointwise.com/.
13 S. Karman Jr., "Unstructured Viscous Layer Insertion Using Linear-Elastic Smoothing," AIAA Journal, Volume
45, Number 1, pp. 168-180, January 2007.
14 Anderson, W.K., Karman, S.L., and Burdyshaw, C., “Geometry Parameterization Method for Multidisciplinary
Applications,” AIAA Journal, Vol. 47, No. 6, June 2009.
15 http://www.bell-labs.com/project/PORT/
16 Wrenn, G., “An indirect method for numerical optimization using the Kreisselmeier–Steinhauser function,”
Contractor Report NASA CR-4220, NASA Langley Research Center, Hampton, VA. 1989.
17 https://software.sandia.gov/opt++/
18 Sreenivas, K., Hyams, D. G., Nichols, D. S., Mitchell, B., Taylor, L. K., Briley, W. R., and Whitfield, D. L.,
"Development of an Unstructured Parallel Flow Solver for Arbitrary Mach Numbers," AIAA 2005-0325, 43rd
Aerospace Sciences Meeting and Exhibit, Reno, NV, January 2005.
19 Burdyshaw, C. E., "Achieving Automatic Concurrency Between Computational Field Solvers and Adjoint
Sensitivity Codes," Ph.D. Dissertation, University of Tennessee at Chattanooga, May 2006.
20 Dannenhoffer, J. F. and Haimes, R., “Quilts: A Technique for Improving Boundary Representations for CFD,”
AIAA, Vol. 4131, June 2003, pp. 1–9. 16
21 UIUC Airfoil Coordinates Database,” 2011, http://www.ae.illinois.edu/m-selig/ ads/coord_database.html.
AIAA-2012-****
American Institute of Aeronautics and Astronautics
14