A COUPLEDADJOINT METHOD FOR HIGHFIDELITY AEROSTRUCTURAL OPTIMIZATION


 Theodora Beasley
 5 months ago
 Views:
Transcription
1 A COUPLEDADJOINT METHOD FOR HIGHFIDELITY AEROSTRUCTURAL OPTIMIZATION Joaquim Rafael Rost Ávila Martins Department of Aeronautics and Astronautics Stanford University Ph.D. Oral Examination, Stanford University, September
2 Outline Introduction Highfidelity aircraft design Aerostructural optimization Optimization and sensitivity analysis methods Complexstep derivative approximation Coupledadjoint method Sensitivity equations for multidisciplinary systems Lagged aerostructural adjoint equations Results Aerostructural sensitivity validation Optimization results Conclusions Ph.D. Oral Examination, Stanford University, September
3 HighFidelity Aerodynamic Shape Optimization Start from a baseline geometry provided by a conceptual design tool. Highfidelity models required for transonic configurations where shocks are present, highdimensionality required to smooth these shocks. Accurate models also required for complex supersonic configurations, subtle shape variations required to take advantage of favorable shock interference. Large numbers of design variables and highfidelity models incur a large cost. Ph.D. Oral Examination, Stanford University, September
4 AeroStructural Aircraft Design Optimization Aerodynamics and structures are core disciplines in aircraft design and are very tightly coupled. For traditional designs, aerodynamicists know the spanload distributions that lead to the true optimum from experience and accumulated data. What about unusual designs? Want to simultaneously optimize the aerodynamic shape and structure, since there is a tradeoff between aerodynamic performance and structural weight, e.g., L Wi Range ln D Wf Ph.D. Oral Examination, Stanford University, September
5 The Need for AeroStructural Sensitivities Aerodynamic Optimization Structural Optimization Sequential optimization does not lead to the true optimum Aerostructural optimization requires coupled sensitivities. Lift Aerodynamic optimum (elliptical distribution) Aero structural optimum (maximum range) Aerodynamic Analysis Spanwise coordinate, y/b Optimizer Structural Analysis Add structural element sizes to the design variables. Including structures in the highfidelity wing optimization will allow larger changes in the design. Ph.D. Oral Examination, Stanford University, September
6 Introduction to Optimization x 2 I minimize x R n I(x) g subject to g m (x) 0, m = 1, 2,..., N g x 1 I: objective function, output (e.g. structural weight). x n : vector of design variables, inputs (e.g. aerodynamic shape); bounds can be set on these variables. g m : vector of constraints (e.g. element von Mises stresses); in general these are nonlinear functions of the design variables. Ph.D. Oral Examination, Stanford University, September
7 Optimization Methods Intuition: decreases with increasing dimensionality. Grid or random search: the cost of searching the design space increases rapidly with the number of design variables. Genetic algorithms: good for discrete design variables and very robust; but infeasible when using a large number of design variables. Nonlinear simplex: simple and robust but inefficient for more than a few design variables. x 2 g x 1 I Gradientbased: the most efficient for a large number of design variables; assumes the objective function is wellbehaved. Ph.D. Oral Examination, Stanford University, September
8 GradientBased Optimization: Design Cycle Analysis x Analysis computes objective function and constraints (e.g. aerostructural solver) Sensitivity Calculation Optimizer uses the sensitivity information to search for the optimum solution (e.g. sequential quadratic programming) Sensitivity calculation is usually the bottleneck in the design cycle. Optimizer x = x + x Accuracy of the sensitivities is important, specially near the optimum. Ph.D. Oral Examination, Stanford University, September
9 Sensitivity Analysis Methods Finite Differences: very popular; easy, but lacks robustness and accuracy; run solver N x times. df f(x n + h) f(x) dx n h + O(h) ComplexStep Method: relatively new; accurate and robust; easy to implement and maintain; run solver N x times. df Im [f(x n + ih)] dx n h + O(h 2 ) Algorithmic/Automatic/Computational Differentiation: ease of implementation and cost varies. accurate; (Semi)Analytic Methods: efficient and accurate; long development time; cost can be independent of N x. Ph.D. Oral Examination, Stanford University, September
10 Research Contributions Complexstep derivative approximation Contributed new insights to the theory of this approximation, including the connection to algorithmic differentiation. Automated the implementation of the complexstep method for Fortran codes. Demonstrated the value of this method for sensitivity validation. Coupledadjoint method Developed the general formulation of the coupledadjoint for multidisciplinary systems. Implemented this method in a highfidelity aerostructural solver. Demonstrated the usefulness of the resulting framework by performing aerostructural optimization. Ph.D. Oral Examination, Stanford University, September
11 The History of the ComplexStep Method Lyness & Moler, 1967: n th derivative approximation by integration in the complex plane Squire & Trapp, 1998: Simple formula for first derivative. Newman, Anderson & Whitfield, 1998: Applied to aerostructural code. Anderson, Whitfield & Nielsen, 1999: Applied to 3D NavierStokes with turbulence model. Martins et al., 2000, 2001: Automated Fortran and C/C++ implementation. code. 3D aerostructural Ph.D. Oral Examination, Stanford University, September
12 FiniteDifference Derivative Approximations From Taylor series expansion, f(x + h) = f(x) + hf (x) + h 2f (x) 2! Forwarddifference approximation: + h 3f (x) 3! df(x) dx f(x + h) f(x) = h + O(h). f(x) f(x + h) f f(x) f(x+h) Ph.D. Oral Examination, Stanford University, September x x+h
13 ComplexStep Derivative Approximation Can also be derived from a Taylor series expansion about x with a complex step ih: f(x + ih) = f(x) + ihf (x) h 2f (x) 2! ih 3f (x) 3! +... f (x) = Im [f(x + ih)] h + h 2f (x) 3! +... f (x) Im [f(x + ih)] h No subtraction! Second order approximation. Ph.D. Oral Examination, Stanford University, September
14 Simple Numerical Example Normalized Error, ComplexStep ForwardDifference CentralDifference Estimate derivative at x = 1.5 of the function, f(x) = e x sin3 x + cos 3 x Relative error defined as: ε = f f ref f ref Step Size, h Ph.D. Oral Examination, Stanford University, September
15 Algorithmic Differentiation vs. Complex Step Look at a simple operation, e.g. f = x 1 x 2, Algorithmic ComplexStep x 1 = 1 h 1 = x 2 = 0 h 2 = 0 f = x 1 x 2 f = (x 1 + ih 1 )(x 2 + ih 2 ) f = x 1 x 2 + x 2 x 1 f = x 1 x 2 h 1 h 2 + i(x 1 h 2 + x 2 h 1 ) df/dx 1 = f df/dx 1 = Im f/h Complexstep method computes one extra term. Other functions are similar: Superfluous calculations are made. For h x they vanish but still affect speed. Ph.D. Oral Examination, Stanford University, September
16 Implementation Procedure Cookbook procedure for any programming language: Substitute all real type variable declarations with complex declarations. Define all functions and operators that are not defined for complex arguments. A complexstep can then be added to the desired variable and the derivative can be estimated by f Im[f(x + ih)]/h. Fortran 77: write new subroutines, substitute some of the intrinsic function calls by the subroutine names, e.g. abs by c abs. But... need to know variable types in original code. Fortran 90: can overload intrinsic functions and operators, including comparison operators. Compiler knows variable types and chooses correct version of the function or operator. C/C++: also uses function and operator overloading. Ph.D. Oral Examination, Stanford University, September
17 Fortran Implementation complexify.f90: a module that defines additional functions and operators for complex arguments. Complexify.py: Python script that makes necessary changes to source code, 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 aerostructural framework: 130,000 lines of code in 191 subroutines, processed in 42 seconds. Tools available at: Ph.D. Oral Examination, Stanford University, September
18 Introduction Outline Highfidelity aircraft design Aerostructural optimization Optimization and sensitivity analysis methods Complexstep derivative approximation Coupledadjoint method Sensitivity equations for multidisciplinary systems Lagged aerostructural adjoint equations Results Aerostructural sensitivity validation Optimization results Conclusions Ph.D. Oral Examination, Stanford University, September
19 Objective Function and Governing Equations Want to minimize scalar objective function, I = I(x n, y i ), which depends on: x n : vector of design variables, e.g. structural plate thickness. y i : state vector, e.g. flow variables. Physical system is modeled by a set of governing equations: R k (x n, y i (x n )) = 0, where: Same number of state and governing equations, i, k = 1,..., N R N x design variables. Ph.D. Oral Examination, Stanford University, September
20 Sensitivity Equations x n R k = 0 y i I Total sensitivity of the objective function: di dx n = I x n + I y i dy i dx n. Total sensitivity of the governing equations: dr k dx n = R k x n + R k y i dy i dx n = 0. Ph.D. Oral Examination, Stanford University, September
21 Solving the Sensitivity Equations Solve the total sensitivity of the governing equations R k y i dy i dx n = R k x n. Substitute this result into the total sensitivity equation where Ψ k is the adjoint vector. di = I I dx n x n y i dy i / dx n { [ ] }}{ 1 Rk R k, x n } y i {{ } Ψ k Ph.D. Oral Examination, Stanford University, September
22 Adjoint Sensitivity Equations Solve the adjoint equations R k y i Ψ k = I y i. Adjoint vector is valid for all design variables. Now the total sensitivity of the the function of interest I is: di dx n = I x n + Ψ k R k x n The partial derivatives are inexpensive, since they don t require the solution of the governing equations. Ph.D. Oral Examination, Stanford University, September
23 AeroStructural Adjoint Equations x n w i A k = 0 u j Sl = 0 I Two coupled disciplines: Aerodynamics (A k ) and Structures (S l ). R k = [ Ak ], y S i = l [ wi ], Ψ u k = j [ ψk ]. φ l Flow variables, w i, five for each grid point. Structural displacements, u j, three for each structural node. Ph.D. Oral Examination, Stanford University, September
24 AeroStructural Adjoint Equations A k w i S l w i T A k [ψk ] u j S l φ l u j I = w i I. u j A k / w i : a change in one of the flow variables affects only the residuals of its cell and the neighboring ones. A k / u j : residuals. wing deflections cause the mesh to warp, affecting the S l / w i : since S l = K lj u j f l, this is equal to f l / w i. S l / u j : equal to the stiffness matrix, K lj. I/ w i : for C D, obtained from the integration of pressures; for stresses, its zero. I/ u j : for C D, wing displacement changes the surface boundary over which drag is integrated; for stresses, related to σ m = S mj u j. Ph.D. Oral Examination, Stanford University, September
25 Lagged AeroStructural Adjoint Equations Since the factorization of the complete residual sensitivity matrix is impractical, decouple the system and lag the adjoint variables, A k ψ k = I } w i {{ w } i Aerodynamic adjoint S l w i φl, S l φ l = I A k ψk, u j u }{{ j u } j Structural adjoint Lagged adjoint equations are the single discipline ones with an added forcing term that takes the coupling into account. System is solved iteratively, much like the aerostructural analysis. Ph.D. Oral Examination, Stanford University, September
26 Total Sensitivity The aerostructural sensitivities of the drag coefficient with respect to wing shape perturbations are, di = I A k S l + ψ k + φ l. dx n x n x n x n I/ x n : C D changes when the boundary over which the pressures are integrated is perturbed; stresses change when nodes are moved. A k / x n : the shape perturbations affect the grid, which in turn changes the residuals; structural variables have no effect on this term. S l / x n : shape perturbations affect the structural equations, so this term is equal to K lj / x n u j f l / x n. Ph.D. Oral Examination, Stanford University, September
27 3D AeroStructural Design Optimization Framework Aerodynamics: FLO107MB, a parallel, multiblock NavierStokes flow solver. Structures: detailed finite element model with plates and trusses. Coupling: highfidelity, consistent and conservative. Geometry: centralized database for exchanges (jig shape, pressure distributions, displacements.) Coupledadjoint sensitivity analysis: aerodynamic and structural design variables. Ph.D. Oral Examination, Stanford University, September
28 Sensitivity of C D wrt Shape Coupled adjoint Complex step Coupled adjoint, fixed displacements Complex step, fixed displacements dc D / dx n Avg. rel. error = 3.5% Design variable, n Ph.D. Oral Examination, Stanford University, September
29 Sensitivity of C D wrt Structural Thickness Coupled adjoint Complex step dc D / dx n Avg. rel. error = 1.6% Design variable, n Ph.D. Oral Examination, Stanford University, September
30 Structural Stress Constraint Lumping To perform structural optimization, we need the sensitivities of all the stresses in the finiteelement model with respect to many design variables. There is no method to calculate this matrix of sensitivities efficiently. Therefore, lump stress constraints g m = 1 σ m σ yield 0, using the Kreisselmeier Steinhauser function KS (g m ) = 1 ρ ln ( m e ρg m ), where ρ controls how close the function is to the minimum of the stress constraints. Ph.D. Oral Examination, Stanford University, September
31 Sensitivity of KS wrt Shape 1 dks / dx n Coupled adjoint Complex step Coupled adjoint, fixed loads Complex, fixed loads Avg. rel. error = 2.9% Design variable, n Ph.D. Oral Examination, Stanford University, September
32 Sensitivity of KS wrt Structural Thickness Coupled adjoint Complex step Coupled adjoint, fixed loads Complex, fixed loads dks / dx n Avg. rel. error = 1.6% Design variable, n Ph.D. Oral Examination, Stanford University, September
33 Computational Cost vs. Number of Variables 1200 Coupled adjoint Finite difference Complex step Normalized time N x N x N x Number of design variables (N x ) Ph.D. Oral Examination, Stanford University, September
34 Computational Cost i i ~ l 0:64 0:60 j j ~ k 1:20 < 0:001 di dx n + n + n 0:01N x Ph.D. Oral Examination, Stanford University, September
35 Supersonic Business Jet Optimization Problem Minimize: I = αc D + βw where C D is that of the cruise condition. Natural laminar flow supersonic business jet Mach = 1.5, Range = 5,300nm 1 count of drag = 310 lbs of weight Subject to: KS(σ m ) 0 where KS is taken from a maneuver condition. With respect to: external shape and internal structural sizes. Ph.D. Oral Examination, Stanford University, September
36 Baseline Design CD = Weight = 9,285 lbs Surface density (cruise) Von Mises stresses (maneuver) Ph.D. Oral Examination, Stanford University, September
37 Design Variables Total of 97 design variables 10 HicksHenne bumps TE camber Twist LE camber 6 dening airfoils 10 skin thickness groups 9 bumps along fuselage axis Ph.D. Oral Examination, Stanford University, September
38 AeroStructural Optimization Convergence History Drag (counts) Weight (lbs) KS Drag Weight KS Major iteration number 1.2 Ph.D. Oral Examination, Stanford University, September
39 AeroStructural Optimization Results CD = Weight = 5,546 lbs Surface density (cruise) Von Mises stress (maneuver) Ph.D. Oral Examination, Stanford University, September
40 Comparison with Sequential Optimization C D (counts) σ max σ yield Weight (lbs) Objective Allatonce approach Baseline , Optimized , Sequential approach Aerodynamic optimization Baseline Optimized Structural optimization Baseline , 285 Optimized , 567 Aerostructural analysis , Ph.D. Oral Examination, Stanford University, September
41 Conclusions Shed a new light on the theory behind the complexstep method. Showed the connection between complexstep and algorithmic differentiation theories. The complexstep method is excellent for validation of more sophisticated gradient calculation methods, like the coupledadjoint. ComplexStep ForwardDifference CentralDifference Coupled adjoint Complex step Coupled adjoint, fixed displacements Complex step, fixed displacements Normalized Error, dc D / dx n Step Size, h Avg. rel. error = 3.5% Design variable, n Ph.D. Oral Examination, Stanford University, September
42 Conclusions Developed the general formulation for a coupledadjoint method for multidisciplinary systems. Applied this method to a highfidelity aerostructural solver. Showed that the computation of sensitivities using the aerostructural adjoint is extremely accurate and efficient. Demonstrated the usefulness of the coupled adjoint by optimizing a supersonic business jet configuration Coupled adjoint Finite difference Complex step Normalized time N x N x N x Number of design variables (N x ) Ph.D. Oral Examination, Stanford University, September
43 Long Term Vision Continue work on a largescale MDO framework for aircraft design Conceptual Design Preliminary Design Detailed Design CAD Discretization MultiDisciplinary Analysis Optimizer Central Database Aerodynamics Structures Propulsion Mission Ph.D. Oral Examination, Stanford University, September
44 Acknowledgments Ph.D. Oral Examination, Stanford University, September
45 Acknowledgments Ph.D. Oral Examination, Stanford University, September
46 Acknowledgments Ph.D. Oral Examination, Stanford University, September
47 Ph.D. Oral Examination, Stanford University, September
48 CFD and OML grids CFD mesh point v u OML point Ph.D. Oral Examination, Stanford University, September
49 Displacement Transfer OML point r i rigid link u 7;8;9 associated point u 4;5;6 u 1;2;3 Ph.D. Oral Examination, Stanford University, September
50 Mesh Perturbation Baseline 1 2, 3 Perturbed 4 Ph.D. Oral Examination, Stanford University, September
51 Load Transfer CFD mesh point v u OML point Ph.D. Oral Examination, Stanford University, September
52 Displacement transfer AeroStructural Iteration CFD w (0) = w1 2 w (N ) 1 3 Load transfer 5 CSM u (0) = 0 4 u (1) Ph.D. Oral Examination, Stanford University, September