430 likes | 653 Views
Concepts and Applications. Engineering Optimization. Fred van Keulen Matthijs Langelaar CLA H21.1 A.vanKeulen@tudelft.nl. Contents. Sensitivity analysis. Sensitivity of system response (state variables). u constant. s i constant. Sensitivity analysis.
E N D
Concepts and Applications Engineering Optimization • Fred van Keulen • Matthijs Langelaar • CLA H21.1 • A.vanKeulen@tudelft.nl
Contents • Sensitivity analysis
Sensitivity of system response (state variables) u constant si constant Sensitivity analysis • Sensitivity: derivative of response w.r.t. design variable: Total derivative Partial derivatives • Note: components of s should be independent!
Sensitivity analysis (2) • What for? • Avoid curse of dimensionality by using higher-order optimization algorithms (gradient-based, Newton, …) • Examine sensitivity / robustness of optimized design solutions (parameter sensitivity) • When? • Attractive when sensitivity information can be obtained relatively cheaply
Logarithmic sensitivity • Definition: • Advantages: • Dimensionless, allows comparisons between parameters • Clearly indicate the relative “strength” of the influence of parameters:>1: influential, important parameter<<1: not very influential parameter
Example logarithmic sensitivity • Logarithmic sensitivity gives information on relative importance • Always use logarithmic sensitivities when comparing sensitivity values of different variables!
Response Design variable Aspects of sensitivity analysis • Implementation effort • Efficiency • Accuracy and consistency Exact Numericalmodel
Sensitivity analysis approaches Implementation Efficiency Very easy Terrible* Moderate As good as it gets Lots of work As good as it gets • Global finite differencesInvolves repetitive design evaluations • Discrete derivativesBased on differentiation of numerical model • Continuum derivativesBased on differentiation of governing equations
x Governingequations Discrete Discretization Differentiation x Governingequations Continuum Differentiation Discretization Sensitivity analysis approaches (2) Schematically: f x Model x GFD - + f+Df x+Dx Model
Automated differentiation • Automatic generation of code that computes sensitivities: Derivativecode Automaticdifferentiation Analysiscode • Many different tools exist: ADIFOR, ADOL-F (Fortran), ADIC, ADOL-C (C/C++), … • Convenient, but generally code is several times slower than hand-coded derivatives
Based on Taylor series: Finite difference derivatives • Finite differences for sensitivity analysis (GFD): • Simple • Computationally inefficient (however …) • Accuracy depends on design perturbation
Central FD: - Finite difference derivatives (2) • First order forward / backward FD:
(forward) (central) • Forward FD error analysis: Condition error Truncation error Finite difference derivatives (3) • Similarly:
FD accuracy • Perturbation h determines error: Error h
Practical aspect: noise • Numerical noise can spoil FD accuracy! • Example of noise source: effect of remeshing Normalized stress constraint Hole radius
Nonlinear elastic case • Relatively cheap FD sensitivities (exception): • Solution technique: incremental-iterative approachInvolves solution of many linear systems, e.g. Load • FD: start the solution process for the perturbed case from the unperturbed solution Displacement • Much less expensive than full analysis!
Solution obtained by Newton iterations: • For FD, solve perturbed case by iterating from nominal solution: Nonlinear path-independent case (e.g. ) • Consider:
For small design perturbation, this approaches: Originalresidual Nonlinear path-independent case • Pitfall: make sure to include the finite residuals in the FD calculation! • Consider first iteration for perturbed case: • Interpretation: just an additional Newton iterationOriginal residual dominates over effect of design perturbation
Finite residual problem: solution • To improve FD accuracy with finite residuals:instead of solvingsolve i.e. subtract original residual from new residual. • Ok for Ds = 0. Original residual no longer dominates
Finite difference summary • Easy to implement, black box approach • Inefficient, except for nonlinear path-independent and explicitly solved transient case • Choice of proper relative design perturbation critical • No adjoint formulation possible: unattractive in cases with many design variables and few responses
Then: State variable vector sensitivity Discrete derivatives • Consider linear discretized equations (e.g. linear elastic FE model):and response (e.g. equivalent stress):
Decomposed Kalready available (direct solver)! State variable sensitivity • State variable derivatives follow from differentiation of original equation: Pseudo-load vector
Already decomposed tangent matrix (direct solver) State variable sensitivity (2) • Nonlinear case similar:
Semi-analytical approach • Semi-analytical: use FD to compute pseudo-load: • Advantages: • Easy implementation (can be done at top level) • Efficient computation
Alreadydecomposed • SA approach: computed using FD: SA: nonlinear case • Geometrically nonlinear (history-independent) setting:
Options for calculation of pseudo-load vector: a) Analytical differentiation (lots of work) b) Automated differentiation (code generator programs) c) Finite difference approach Discrete derivatives CHEAP!! • Note, computation of discrete derivatives • Only involves a linear equation, also in nonlinear case • Allows re-use of the decomposed system matrix Sensitivity analysis much cheaper than analysis itself!
SA accuracy problem • Accuracy of semi-analytical (SA) sensitivities w.r.t. shape variables reduces for cases with substantial rotations (slender structures) • Problem increases with mesh refinement!?! SEE APPENDIX
Eigenvalue sensitivities • Important class of responses: eigenvalues • Discrete sensitivity analysis:
Eigenvalue sensitivities (2) • Result: • Note, no need to compute eigenvector sensitivities v’! If needed, one can use Nelson’s method(but rather expensive) • Difficulties: eigenvalue multiplicity, mode switching ...
Contents • Sensitivity analysis: • Brief recap discrete / SA approach • Adjoint method • Continuum sensitivities • Topology optimization • Closure
and Adjoint discrete sensitivities • Discussed direct approach: • One backsubstitution needed for every design variable: not attractive for many design variables • Alternative: adjoint formulation
= 0 • To avoid computation of state vector derivatives, choose li such that vanishes! Adjoint sensitivities • Starting point: augmented response:
Adjoint sensitivities (2) • Result: • One backsubstitution per response: attractive in case of many design variables and few responses
Difference consists of order of computations: Adjoint vs. direct • Direct method attractive when #variables < #responses,adjoint method attractive when #variables > #responses • Note, adjoint method requires load vector composed of response derivatives (specific implementation)
Sensitivities in transient case • Transient analysis: • Sensitivities at time ti depend on sensitivities at previous instants • Direct method: forward time integration of sensitivities • Adjoint method: backward time integration of sensitivities (unattractive, storage problem) • FD often preferred for explicitly solved transient problems
x Governingequations Discretization Differentiation Discrete derivative summary • Generally efficient and easy to implement, particularly semi-analytical case (combination with FD) • Reuse of decomposed stiffness matrix (with direct solver – with iterative solver, reuse of preconditioner) • Direct and adjoint versions • SA: accuracy problems for structures under large rotations (beams, shells)
Contents • Sensitivity analysis: • Brief recap discrete / SA approach • Adjoint method • Continuum sensitivities • Topology optimization • Closure
x Governingequations Differentiation Discretization q(x) I(x,s) x Governing equation: + boundary conditions Continuum derivatives • Example: beam bending(Euler-Bernoulli beam)
Compare: Governing equation Sensitivity equation Continuum derivatives (2) • Now differentiate w.r.t. s: • For nonlinear / complex problems, the continuum sensitivity equations are often simpler
Sensitivity analysis summary • Sensitivities important in optimization: • Efficient higher-order optimization algorithms • Evaluation of robustness of results • Choice of sensitivity analysis method depends on: • Number of design variables vs. number of responses (adjoint vs. direct) • Type of model (cheap / expensive, linear / nonlinear / transient) • Implementation effort, access to source code
Perturbation size critical • Efficient for nonlinear elastic & explicit transient case • Inaccurate for large rotations • Remedies: exact / refined version Sensitivity analysis summary (2) Points of attention Implementation Adjoint mode Efficiency Accuracy Finite difference Discrete derivativesSemi-analytical Continuum derivatives