1 / 42

A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes

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:

kiana
Télécharger la présentation

A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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

More Related