a coupled-adjoint method for high-fidelity aero...
TRANSCRIPT
A COUPLED-ADJOINT METHOD FORHIGH-FIDELITY AERO-STRUCTURAL
OPTIMIZATION
Joaquim Rafael Rost Avila Martins
Department of Aeronautics and AstronauticsStanford University
Ph.D. Oral Examination, Stanford University, September 2002 1
Outline
• Introduction
– High-fidelity aircraft design– Aero-structural optimization– Optimization and sensitivity analysis methods
• Complex-step derivative approximation
• Coupled-adjoint method
– Sensitivity equations for multidisciplinary systems– Lagged aero-structural adjoint equations
• Results
– Aero-structural sensitivity validation– Optimization results
• Conclusions
Ph.D. Oral Examination, Stanford University, September 2002 2
High-Fidelity Aerodynamic Shape Optimization
• Start from a baseline geometry providedby a conceptual design tool.
• High-fidelity models required for transonicconfigurations where shocks are present,high-dimensionality required to smooththese shocks.
• Accurate models also required forcomplex supersonic configurations, subtleshape variations required to takeadvantage of favorable shock interference.
• Large numbers of design variables andhigh-fidelity models incur a large cost.
Ph.D. Oral Examination, Stanford University, September 2002 3
Aero-Structural Aircraft Design Optimization
• Aerodynamics and structures are coredisciplines in aircraft design and are verytightly coupled.
• For traditional designs, aerodynamicistsknow the spanload distributions that leadto the true optimum from experience andaccumulated data. What about unusualdesigns?
• Want to simultaneously optimize theaerodynamic shape and structure, sincethere is a trade-off between aerodynamicperformance and structural weight, e.g.,
Range ∝ L
Dln(
Wi
Wf
)
Ph.D. Oral Examination, Stanford University, September 2002 4
The Need for Aero-Structural Sensitivities
OptimizationStructural
OptimizationAerodynamic
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Spanwise coordinate, y/b
Lift
Aerodynamic optimum (elliptical distribution)
Aero−structural optimum (maximum range)
Student Version of MATLAB
Aerodynamic Analysis
Optimizer
Structural Analysis
• Sequential optimization does not lead tothe true optimum.
• Aero-structural optimization requirescoupled sensitivities.
• Add structural element sizes to the designvariables.
• Including structures in the high-fidelitywing optimization will allow largerchanges in the design.
Ph.D. Oral Examination, Stanford University, September 2002 5
Introduction to Optimization
x1
x2
g
Iminimize I(x)
x ∈ Rn
subject to gm(x) ≥ 0, m = 1, 2, . . . , Ng
• I: objective function, output (e.g. structural weight).
• xn: vector of design variables, inputs (e.g. aerodynamic shape); boundscan be set on these variables.
• gm: vector of constraints (e.g. element von Mises stresses); in generalthese are nonlinear functions of the design variables.
Ph.D. Oral Examination, Stanford University, September 2002 6
Optimization Methods
• Intuition: decreases with increasing dimensionality.
• Grid or random search: the cost of searching the designspace increases rapidly with the number of design variables.
• Genetic algorithms: good for discrete design variablesand very robust; but infeasible when using a large numberof design variables.
• Nonlinear simplex: simple and robust but inefficient formore than a few design variables.
x1
x2
g
I
• Gradient-based: the most efficient for a large number ofdesign variables; assumes the objective function is “well-behaved”.
Ph.D. Oral Examination, Stanford University, September 2002 7
Gradient-Based Optimization: Design Cycle
x
Analysis
Sensitivity
Calculation
Optimizer
x = x+�x
• Analysis computes objective function andconstraints (e.g. aero-structural solver)
• Optimizer uses the sensitivity informationto search for the optimum solution(e.g. sequential quadratic programming)
• Sensitivity calculation is usually thebottleneck in the design cycle.
• Accuracy of the sensitivities is important,specially near the optimum.
Ph.D. Oral Examination, Stanford University, September 2002 8
Sensitivity Analysis Methods
• Finite Differences: very popular; easy, but lacks robustness andaccuracy; run solver Nx times.
dfdxn≈ f(xn + h)− f(x)
h+O(h)
• Complex-Step Method: relatively new; accurate and robust; easy toimplement and maintain; run solver Nx times.
dfdxn≈ Im [f(xn + ih)]
h+O(h2)
• Algorithmic/Automatic/Computational Differentiation: accurate;ease of implementation and cost varies.
• (Semi)-Analytic Methods: efficient and accurate; long developmenttime; cost can be independent of Nx.
Ph.D. Oral Examination, Stanford University, September 2002 9
Research Contributions
• Complex-step derivative approximation
– Contributed new insights to the theory of this approximation, includingthe connection to algorithmic differentiation.
– Automated the implementation of the complex-step method for Fortrancodes.
– Demonstrated the value of this method for sensitivity validation.
• Coupled-adjoint method
– Developed the general formulation of the coupled-adjoint formultidisciplinary systems.
– Implemented this method in a high-fidelity aero-structural solver.– Demonstrated the usefulness of the resulting framework by performing
aero-structural optimization.
Ph.D. Oral Examination, Stanford University, September 2002 10
The History of the Complex-Step Method
• Lyness & Moler, 1967:nth derivative approximation by integration in the complex plane
• Squire & Trapp, 1998:Simple formula for first derivative.
• Newman, Anderson & Whitfield, 1998:Applied to aero-structural code.
• Anderson, Whitfield & Nielsen, 1999:Applied to 3D Navier-Stokes with turbulence model.
• Martins et al., 2000, 2001:Automated Fortran and C/C++ implementation. 3D aero-structuralcode.
Ph.D. Oral Examination, Stanford University, September 2002 11
Finite-Difference Derivative Approximations
From Taylor series expansion,
f(x+ h) = f(x) + hf ′(x) + h2f′′(x)2!
+ h3f′′′(x)3!
+ . . . .
Forward-difference approximation:
⇒ df(x)dx
=f(x+ h)− f(x)
h+O(h).
f(x) 1.234567890123484
f(x+ h) 1.234567890123456
∆f 0.000000000000028
x x+h
f(x)
f(x+h)
Ph.D. Oral Examination, Stanford University, September 2002 12
Complex-Step Derivative Approximation
Can also be derived from a Taylor series expansion about x with a complexstep ih:
f(x+ ih) = f(x) + ihf ′(x)− h2f′′(x)2!− ih3f
′′′(x)3!
+ . . .
⇒ f ′(x) =Im [f(x+ ih)]
h+ h2f
′′′(x)3!
+ . . .
⇒ f ′(x) ≈ Im [f(x+ ih)]h
No subtraction! Second order approximation.
Ph.D. Oral Examination, Stanford University, September 2002 13
Simple Numerical Example
Step Size, h
Norm
alized E
rror
,
e
Complex-Step
Forward-Difference
Central-Difference
Estimate derivative atx = 1.5 of the function,
f(x) =ex√
sin3x+ cos3x
Relative error defined as:
ε =
∣
∣
∣f ′ − f ′ref∣
∣
∣
∣
∣
∣f ′ref
∣
∣
∣
Ph.D. Oral Examination, Stanford University, September 2002 14
Algorithmic Differentiation vs. Complex Step
Look at a simple operation, e.g. f = x1x2,
Algorithmic Complex-Step∆x1 = 1 h1 = 10−20
∆x2 = 0 h2 = 0f = x1x2 f = (x1 + ih1)(x2 + ih2)∆f = x1∆x2 + x2∆x1 f = x1x2−h1h2 + i(x1h2 + x2h1)df/dx1 = ∆f df/dx1 = Im f/h
Complex-step method computes one extra term.
• Other functions are similar:
– Superfluous calculations are made.– For h ≤ x× 10−20 they vanish but still affect speed.
Ph.D. Oral Examination, Stanford University, September 2002 15
Implementation Procedure
• Cookbook procedure for any programming language:
– Substitute all real type variable declarations with complexdeclarations.
– Define all functions and operators that are not defined for complexarguments.
– A complex-step can then be added to the desired variable and thederivative can be estimated by f ′ ≈ Im[f(x+ ih)]/h.
• Fortran 77: write new subroutines, substitute some of the intrinsicfunction calls by the subroutine names, e.g. abs by c abs. But ... needto know variable types in original code.
• Fortran 90: can overload intrinsic functions and operators, includingcomparison operators. Compiler knows variable types and chooses correctversion of the function or operator.
• C/C++: also uses function and operator overloading.
Ph.D. Oral Examination, Stanford University, September 2002 16
Fortran Implementation
• complexify.f90: a module that defines additional functions andoperators for complex arguments.
• Complexify.py: Python script that makes necessary changes to sourcecode, e.g., type declarations.
• Features:
– Compatible with many platforms and compilers.– Supports MPI based parallel implementations.– Resolves some of the input and output issues.
• Application to aero-structural framework: 130,000 lines of code in 191subroutines, processed in 42 seconds.
• Tools available at: http://aero-comlab.stanford.edu/jmartins/
Ph.D. Oral Examination, Stanford University, September 2002 17
Outline
• Introduction
– High-fidelity aircraft design– Aero-structural optimization– Optimization and sensitivity analysis methods
• Complex-step derivative approximation
• Coupled-adjoint method
– Sensitivity equations for multidisciplinary systems– Lagged aero-structural adjoint equations
• Results
– Aero-structural sensitivity validation– Optimization results
• Conclusions
Ph.D. Oral Examination, Stanford University, September 2002 18
Objective Function and Governing Equations
Want to minimize scalar objective function,
I = I(xn, yi),
which depends on:
• xn: vector of design variables, e.g. structural plate thickness.
• yi: state vector, e.g. flow variables.
Physical system is modeled by a set of governing equations:
Rk (xn, yi (xn)) = 0,
where:
• Same number of state and governing equations, i, k = 1, . . . , NR
• Nx design variables.
Ph.D. Oral Examination, Stanford University, September 2002 19
Sensitivity Equations
xn
Rk = 0
yiI
Total sensitivity of the objective function:
dIdxn
=∂I
∂xn+∂I
∂yi
dyidxn
.
Total sensitivity of the governing equations:
dRkdxn
=∂Rk∂xn
+∂Rk∂yi
dyidxn
= 0.
Ph.D. Oral Examination, Stanford University, September 2002 20
Solving the Sensitivity Equations
Solve the total sensitivity of the governing equations
∂Rk∂yi
dyidxn
= −∂Rk∂xn
.
Substitute this result into the total sensitivity equation
dIdxn
=∂I
∂xn− ∂I
∂yi
− dyi/ dxn︷ ︸︸ ︷
[
∂Rk∂yi
]−1∂Rk∂xn
,
︸ ︷︷ ︸
−Ψk
where Ψk is the adjoint vector.
Ph.D. Oral Examination, Stanford University, September 2002 21
Adjoint Sensitivity Equations
Solve the adjoint equations
∂Rk∂yi
Ψk = − ∂I∂yi
.
Adjoint vector is valid for all design variables.
Now the total sensitivity of the the function of interest I is:
dIdxn
=∂I
∂xn+ Ψk
∂Rk∂xn
The partial derivatives are inexpensive, since they don’t require the solutionof the governing equations.
Ph.D. Oral Examination, Stanford University, September 2002 22
Aero-Structural Adjoint Equations
xn
Ak = 0 Sl = 0
wi
uj
I
Two coupled disciplines: Aerodynamics (Ak) and Structures (Sl).
Rk′ =[
AkSl
]
, yi′ =[
wiuj
]
, Ψk′ =[
ψkφl
]
.
Flow variables, wi, five for each grid point.
Structural displacements, uj, three for each structural node.
Ph.D. Oral Examination, Stanford University, September 2002 23
Aero-Structural Adjoint Equations
∂Ak∂wi
∂Ak∂uj
∂Sl∂wi
∂Sl∂uj
T[
ψkφl
]
= −
∂I∂wi∂I∂uj
.
• ∂Ak/∂wi: a change in one of the flow variables affects only the residualsof its cell and the neighboring ones.
• ∂Ak/∂uj: wing deflections cause the mesh to warp, affecting theresiduals.
• ∂Sl/∂wi: since Sl = Kljuj − fl, this is equal to −∂fl/∂wi.• ∂Sl/∂uj: equal to the stiffness matrix, Klj.
• ∂I/∂wi: for CD, obtained from the integration of pressures; for stresses,its zero.
• ∂I/∂uj: for CD, wing displacement changes the surface boundary overwhich drag is integrated; for stresses, related to σm = Smjuj.
Ph.D. Oral Examination, Stanford University, September 2002 24
Lagged Aero-Structural Adjoint Equations
Since the factorization of the complete residual sensitivity matrix isimpractical, decouple the system and lag the adjoint variables,
∂Ak∂wi
ψk = − ∂I
∂wi︸ ︷︷ ︸
Aerodynamic adjoint
−∂Sl∂wi
φl,
∂Sl∂uj
φl = − ∂I∂uj
︸ ︷︷ ︸
Structural adjoint
−∂Ak∂uj
ψk,
Lagged adjoint equations are the single discipline ones with an added forcingterm that takes the coupling into account.
System is solved iteratively, much like the aero-structural analysis.
Ph.D. Oral Examination, Stanford University, September 2002 25
Total Sensitivity
The aero-structural sensitivities of the drag coefficient with respect to wingshape perturbations are,
dIdxn
=∂I
∂xn+ ψk
∂Ak∂xn
+ φl∂Sl∂xn
.
• ∂I/∂xn: CD changes when the boundary over which the pressures areintegrated is perturbed; stresses change when nodes are moved.
• ∂Ak/∂xn: the shape perturbations affect the grid, which in turn changesthe residuals; structural variables have no effect on this term.
• Sl/∂xn: shape perturbations affect the structural equations, so this termis equal to ∂Klj/∂xnuj − ∂fl/∂xn.
Ph.D. Oral Examination, Stanford University, September 2002 26
3D Aero-Structural Design Optimization Framework
• Aerodynamics: FLO107-MB, aparallel, multiblock Navier-Stokesflow solver.
• Structures: detailed finite elementmodel with plates and trusses.
• Coupling: high-fidelity, consistentand conservative.
• Geometry: centralized databasefor exchanges (jig shape, pressuredistributions, displacements.)
• Coupled-adjoint sensitivityanalysis: aerodynamic andstructural design variables.
Ph.D. Oral Examination, Stanford University, September 2002 27
Sensitivity of CD wrt Shape
1 2 3 4 5 6 7 8 9 10Design variable, n
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
dCD /
dxn
Avg. rel. error = 3.5%
Complex step, fixed displacements
Coupled adjoint, fixed displacements
Complex step
Coupled adjoint
Ph.D. Oral Examination, Stanford University, September 2002 28
Sensitivity of CD wrt Structural Thickness
11 12 13 14 15 16 17 18 19 20Design variable, n
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
dCD /
dxn
Avg. rel. error = 1.6%
Complex step
Coupled adjoint
Ph.D. Oral Examination, Stanford University, September 2002 29
Structural Stress Constraint Lumping
To perform structural optimization, we need the sensitivities of all thestresses in the finite-element model with respect to many design variables.
There is no method to calculate this matrix of sensitivities efficiently.
Therefore, lump stress constraints
gm = 1− σmσyield
≥ 0,
using the Kreisselmeier–Steinhauser function
KS (gm) = −1ρ
ln
(
∑
m
e−ρgm)
,
where ρ controls how close the function is to the minimum of the stressconstraints.
Ph.D. Oral Examination, Stanford University, September 2002 30
Sensitivity of KS wrt Shape
1 2 3 4 5 6 7 8 9 10Design variable, n
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
dKS
/ dx
n
Avg. rel. error = 2.9%
Complex, fixed loads
Coupled adjoint, fixed loads
Complex step
Coupled adjoint
Ph.D. Oral Examination, Stanford University, September 2002 31
Sensitivity of KS wrt Structural Thickness
11 12 13 14 15 16 17 18 19 20Design variable, n
-10
0
10
20
30
40
50
60
70
80
dKS
/ dx
n
Avg. rel. error = 1.6%
Complex, fixed loads
Coupled adjoint, fixed loads
Complex step
Coupled adjoint
Ph.D. Oral Examination, Stanford University, September 2002 32
Computational Cost vs. Number of Variables
0 400 800 1200 1600 2000Number of design variables (Nx)
0
400
800
1200
Nor
mal
ized
tim
e
Complex step
2.1
+ 0.
92 N
x
Finite difference
1.0 + 0.38 N x
Coupled adjoint
3.4 + 0.01 Nx
Ph.D. Oral Examination, Stanford University, September 2002 33
Computational Cost Breakdown
2:40:64
1:20
0:60
< 0:001
0:01Nx
@Ak
@wi
k = �@I
@wi
�@Sl
@wi
~�l
@Sl
@uj�l = �
@I
@uj�@Ak
@uj~ k
dI
dxn= @I
@xn+ k
@Ak
@xn+ �l
@Sl@xn
Ph.D. Oral Examination, Stanford University, September 2002 34
Supersonic Business Jet Optimization Problem
Natural laminar flowsupersonic business jet
Mach = 1.5, Range = 5,300nm1 count of drag = 310 lbs of weight
Minimize:
I = αCD + βW
where CD is that of the cruisecondition.
Subject to:
KS(σm) ≥ 0where KS is taken from a maneuvercondition.
With respect to: external shapeand internal structural sizes.
Ph.D. Oral Examination, Stanford University, September 2002 35
Baseline Design
CD = 0.007395
Weight = 9,285 lbs
0.5 1.4 0.0 1.0
Von Mises stresses (maneuver)Surface density (cruise)
Ph.D. Oral Examination, Stanford University, September 2002 36
Design Variables
0.5 1.4
9 bumps along fuselage axis
10 skin thickness groups
Total of 97 design variables
10 Hicks-Henne bumps
Twist
6 de�ning airfoilsLE camber
TE camber
Ph.D. Oral Examination, Stanford University, September 2002 37
Aero-Structural Optimization Convergence History
0 10 20 30 40 50Major iteration number
3000
4000
5000
6000
7000
8000
9000W
eigh
t (lb
s)
Weight
60
65
70
75
80
Dra
g (c
ount
s)
Drag
-1.2
-1.1
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
KS
KS
Ph.D. Oral Examination, Stanford University, September 2002 38
Aero-Structural Optimization Results
0.5 1.4 0.0 1.0
Surface density (cruise) Von Mises stress (maneuver)
CD = 0.006922
Weight = 5,546 lbs
Ph.D. Oral Examination, Stanford University, September 2002 39
Comparison with Sequential Optimization
CD(counts)
σmaxσyield
Weight(lbs)
Objective
All-at-once approachBaseline 73.95 0.87 9, 285 103.90Optimized 69.22 0.98 5, 546 87.11Sequential approachAerodynamic optimization
Baseline 74.04Optimized 69.92
Structural optimizationBaseline 0.89 9, 285Optimized 0.98 6, 567
Aero-structural analysis 69.95 0.99 6, 567 91.13
Ph.D. Oral Examination, Stanford University, September 2002 40
Conclusions
• Shed a new light on the theory behind the complex-step method.
• Showed the connection between complex-step and algorithmicdifferentiation theories.
• The complex-step method is excellent for validation of more sophisticatedgradient calculation methods, like the coupled-adjoint.
Step Size, h
No
rm
alize
d E
rro
r
,e
Complex-Step
Forward-Difference
Central-Difference
1 2 3 4 5 6 7 8 9 10Design variable, n
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
dCD /
dxn
Avg. rel. error = 3.5%
Complex step, fixed displacements
Coupled adjoint, fixed displacements
Complex step
Coupled adjoint
Ph.D. Oral Examination, Stanford University, September 2002 41
Conclusions
• Developed the general formulation for a coupled-adjoint method formultidisciplinary systems.
• Applied this method to a high-fidelity aero-structural solver.
• Showed that the computation of sensitivities using the aero-structuraladjoint is extremely accurate and efficient.
• Demonstrated the usefulness of the coupled adjoint by optimizing asupersonic business jet configuration.
0 400 800 1200 1600 2000Number of design variables (Nx)
0
400
800
1200
Nor
mal
ized
tim
e
Complex step
2.1
+ 0.
92 N
x
Finite difference
1.0 + 0.38 N x
Coupled adjoint
3.4 + 0.01 Nx
Ph.D. Oral Examination, Stanford University, September 2002 42
Long Term Vision
Continue work on a large-scale MDO framework for aircraft design
ConceptualDesign
DetailedDesign
PreliminaryDesign
CentralDatabase
CAD
Discretization
Multi-DisciplinaryAnalysis
Optimizer
Aerodynamics
Structures
Propulsion
Mission
Ph.D. Oral Examination, Stanford University, September 2002 43
Acknowledgments
Ph.D. Oral Examination, Stanford University, September 2002 44
Acknowledgments
Ph.D. Oral Examination, Stanford University, September 2002 45
Acknowledgments
Ph.D. Oral Examination, Stanford University, September 2002 46
Ph.D. Oral Examination, Stanford University, September 2002 47
CFD and OML grids
v
u
CFD mesh point
OML point
Ph.D. Oral Examination, Stanford University, September 2002 48
Displacement Transfer
u1;2;3
u4;5;6
u7;8;9
�ri
rigid link
associated point
OML point
Ph.D. Oral Examination, Stanford University, September 2002 49
Mesh Perturbation
Baseline
1
2, 3
4
Perturbed
Ph.D. Oral Examination, Stanford University, September 2002 50
Load Transfer
v
u
CFD mesh point
OML point
Ph.D. Oral Examination, Stanford University, September 2002 51
Aero-Structural Iteration
CFD
CSM
Load
tran
sfer
Dis
plac
emen
t tra
nsfe
ru(0)
= 0
w(0)= w1
u(1)
1
2
35
4
w(N)
Ph.D. Oral Examination, Stanford University, September 2002 52