420 likes | 700 Vues
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