420 likes | 690 Views
Motivation. Adjoint techniques widely used for design optimizationEnables sensitivity calculation at cost independent of number of design variablesContinuous vs. Discrete Adjoint ApproachesContinuous: Linearize then discretizeDiscrete: Discretize then Linearize. Motivation. Continuous Approach:
E N D
1. A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes Dimitri J. Mavriplis
Department of Mechanical Engineering
University of Wyoming
Laramie, WY
2. Motivation Adjoint techniques widely used for design optimization
Enables sensitivity calculation at cost independent of number of design variables
Continuous vs. Discrete Adjoint Approaches
Continuous: Linearize then discretize
Discrete: Discretize then Linearize
3. Motivation Continuous Approach:
More flexible adjoint discretizations
Framework for non-differentiable tasks (limiters)
Often invoked using flow solution as constraint using Lagrange multipliers
4. Motivation Discrete Approach:
Reproduces exact sensitivities of code
Verifiable through finite differences
Relatively simple implementation
Chain rule differentiation of analysis code
Transpose these derivates
(transpose and reverse order)
Includes boundary conditions
5. Discrete Adjoint Approach
Relatively simple implementation
Chain rule differentiation of analysis code
Enables application to more than just flow solution phase
Nielsen and Park: “Using an Adjoint Approach to Eliminate Mesh Sensitivities in Computational Design”, AIAA 2005-0491: Reno 2005.
Generalize this procedure to multi-phase simulation process
6. Generalized Discrete Sensitivities Consider a multi-phase analysis code:
L = Objective(s)
D = Design variable(s)
Sensitivity Analysis
Using chain rule:
7. Tangent Model Special Case:
1 Design variable D, many objectives L
Precompute all stuff depending on single D
Construct dL/dD elements as:
8. Adjoint Model Special Case:
1 Objective L, Many Design Variables D
Would like to precompute all left terms
Transpose entire equation:
9. Adjoint Model Special Case:
1 Objective L, Many Design Variables D
Would like to precompute all left terms
Transpose entire equation: precompute as:
10. Shape Optimization Problem Multi-phase process:
11. Tangent Problem (forward linearization) Examine Individual Terms:
: Design variable definition (CAD)
: Objective function definition
12. Tangent Problem (forward linearization) Examine Individual Terms:
13. Sensitivity Analysis Tangent Problem:
Adjoint Problem
14. Tangent Problem 1: Surface mesh sensitivity:
2: Interior mesh sensitivity:
3: Residual sensitivity:
4: Flow variable sensitivity:
5: Final sensitivity
15. Adjoint Problem 1: Objective flow sensitivity:
2: Flow adjoint:
3:Objective sens. wrt mesh:
4: Mesh adjoint:
5: Final sensitivity:
16. Flow Tangent/Adjoint Problem:Step 2 or 4 Storage/Inversion of second-order Jacobian not practical
Solve using preconditioner [P] as:
17. Flow Tangent/Adjoint Problem
Solve using preconditioner [P] as:
[P] = First order Jacobian
Invert iteratively by agglomeration multigrid
Only Matrix-Vector products of dR/dw required
18. Second-Order Jacobian Can be written as:
q(w) = 2nd differences, or reconstructed variables
Evaluate Mat-Vec in 2 steps as:
Mimics (linearization) of R(w) routine
19. Second-Order Adjoint Can be written as:
q(w) = 2nd differences, or reconstructed variables
Evaluate Mat-Vec in 2 steps as:
Reverse (linearization) of R(w) routine
20. Memory Savings Store component matrices
But: q=w for 1st order
21. Storage Requirements Reconstructed from preconditioner [P]=1st order
Trivial matrix or reconstruction coefficients
Symmetric Block 5x5 (for art. dissip. scheme)
Store or reconstruct on each pass (35% extra memory)
22. Mesh Motion Mesh motion: solve using agg. multigrid
Mesh sensitivity: solve using agg. multigrid
Mesh adjoint: solve using agg. multigrid
23. Modular Multigrid Solver Line-Implicit Agglomeration Multigrid Solver used to solve:
Flow equations
Flow adjoint
Mesh Adjoint
Mesh Motion
Optionally:
Flow tangent
Mesh sensitivity
24. Step 3: Matrix-Vector Product dR/dx is complex rectangular matrix
R depends directly and indirectly on x
R depends on grid metrics, which depend on x
Mat-Vec only required once per design cycle
25. Tangent Problem 1: Surface mesh sensitivity:
2: Interior mesh sensitivity:
3: Residual sensitivity:
4: Flow variable sensitivity:
5: Final sensitivity
26. Adjoint Problem 1: Objective flow sensitivity:
2: Flow adjoint:
3:Objective sens. wrt mesh:
4: Mesh adjoint:
5: Final sensitivity:
27. Step 3: Tangent Model Linearize grid metric routines, residual routine
Call in same order as analysis code
28. Step 3: Adjoint Model Linearize/transpose grid metric routines, residual routine
Call in reverse order
29. General Approach Linearize each subroutine/process individually in analysis code
Check linearization by finite difference
Transpose, and check duality relation
Build up larger components
Check linearization, duality relation
Check entire process for FD and duality
Use single modular AMG solver for all phases
30. General Duality Relation Necessary but not sufficient test
Check using series of arbitrary input vectors
31. Drag Minimization Problem DLR-F6 Wing body configuration
1.12M vertices, 4.2M cells
32. Drag Minimization Problem DLR-F6 Wing body configuration
Mach=0.75, Incidence=1o , Re=3M
33. Drag Minimization Problem Mach=0.75, Incidence=1o , CL=0.673
Convergence < 500 MG cycles, 40 minutes on 16 cpus (cluster)
34. Drag Minimization Problem Adjoint and Tangent Flow Models display similar convergence
Related to flow solver convergence rate
1 Defect-Correction Cycle : 4 (linear) MG cycles
35. Drag Minimization Problem Mesh Motion and Adjoint Solvers Converge at Similar Rates
Fast convergence (50 MG cycles)
Mesh operations < 5% of overall cpu time
36. Drag Minization Problem Smoothed steepest descent method of Jameson
Non-optimal step size
Objective Function Decreases Monotonically
37. Drag Minization Problem Objective Function Decreases Monotonically
Corresponding decrease in Drag Coefficient
Lift Coefficient held approximately constant
38. Drag Minimization Problem Substantial reduction in shock strength after 15 design cycles
CD: 302 counts ? 288 counts : -14 counts
Wave drag
39. Drag Minimization Problem Surface Displacements = Design Variable Values
Smooth
Mostly on upper surface
40. Drag Minimization Problem
Total Optimization Time for 15 Design Cycles:
6 hours on 16 cpus of PC cluster
Flow Solver: 150 MG cycles
Flow Adjoint: 50 Defect-Correction cycles (x 4 MG)
Mesh Adjoint: 25 MG cycles
Mesh Motion: 25 MG cycles
41. Conclusions Given multi-phase analysis code can be augmented be discrete adjoint method
Systematic implementation approach
Applicable to all phases
Modular and verifiable
Mimics analysis code at all stages
No new data-structures required
Minimal memory overheads (50% over implicit solver)
Demonstrated on Shape Optimization
Exendable to more complex analyses
Unsteady flows with moving meshes
Multi-disciplinary
42. Future Work Effective approach for sensitivity calculation
Investigate more sophisticated optimization strategies
Investigate more sophisticated design parameter definitions and ways to linearize these (CAD based)
Multi-objective optimizations in parallel
Farming out multiple analyses simultaneously