Discrete Adjoint based Time-Step Adaptation and Error Reduction in

Adjoint-based Unsteady Airfoil
Design Optimization with
Application to Dynamic Stall
Karthik Mani
Brian Lockwood
Dimitri Mavriplis
University of Wyoming
Laramie WY 82071
Outline
•
•
•
•
•
Motivation and introduction
Analysis and sensitivity formulation
Validation
Results
Conclusions
Motivation
Dynamic stall
•
Dynamic stall is an important problem in the unsteady aerodynamics of rotorcraft
•
•
•
•
Retreating side susceptible to
stall due to low dynamic
pressure and high angle-ofattack.
Can limit lifting capability and
forward flight speed.
Depending on mean angle-ofattack and amplitude of pitch can
be categorized as no-stall, lightstall or deep-stall.
Deep stall is most detrimental.
Motivation
• Deep stall characterized typically large scale separation
initiated at leading edge.
• Vortex then rolls down the upper surface of the airfoil and is
shed.
• Strong vortex rolling past the trailing edge produces a large
nose down pitching moment spike
• Adversely impacts aeroelastics of rotor blade, pitch link
loading etc.
• Many different approaches have been investigated to alleviate
dynamic stall
• Leading edge slats, leading edge droop, active flow control
have have shown reasonable success.
Motivation
• Most of methods have relied on engineering
judgement to improve stall characteristics.
• Goal here is to remove intuition and replace it
with mathematically rigorous procedure to
improve airfoil design.
• Approach is to perform airfoil shape
optimization using CFD and adjoint-based
sensitivity (gradient) information.
Analysis Solver
NSU2D
•
•
•
•
•
•
•
2D unstructured finite-volume RANS solver.
2nd –order accurate in space and time.
Central differencing with Matrix dissipation.
Full Navier-Stokes viscous discretization.
One equation Spalart-Allmaras turbulence model.
Rigid mesh rotation .
Tension spring analogy to propagate surface deformations to
interior.
• OpenMP parallelization.
Solution Procedure
Fully implicit discretization solved using Newton’s method at
each time-step as:
• Preconditioned GMRES used for linear system
• Linear agglomeration multigrid for preconditioner
• Jacobi iterations as smoother for linear multigrid
Geometry Parameterization
Hicks-Henne Sine bump function:
node displacement
bump magnitude
bi ( x)  a  sin 4 (  x mi )
mi  ln( 0.5) / ln( xM i )
node
location
bump location
Valid for:
0  x 1
Bump magnitudes a are the design variables D
Linearization for Gradient
Consider a time integrated objective function:
Linearize using chain rule with respect to design variables:
•
•
•
•
Represents forward linearization of objective function w.r.t design variables.
Ideal for cases with only a single design variable.
Typical design problems have multiple design variables and single objective.
Transpose to obtain reverse or adjoint linearization.
Linearization for Gradient
Transposed or Adjoint linearization:
Expand summation in time:
• Linearization of objective w.r.t. flow state and mesh coordinates
• Easy to compute since objective is scalar
• Simply derivative of load routines
• Results in vectors
Linearization of flow state w.r.t design variables is a matrix and cannot
be easily obtained
Linearization for Gradient
Constraint equation to be satisfied:
Implicit residual at each time-step.
Linearize w.r.t design variables using chain rule:
Transpose and rearrange to obtain convenient expression for flow
variable sensitivity:
Linearization for Gradient
Substitute back into expanded adjoint linearization:
Define adjoint
variable vector
Rerrange to get
linear adjoint
system
Very similar to linear system in nonlinear analysis problem
Note transposed flow jacobian
Linearization for Gradient
•
•
•
•
•
Adjoint system is linear.
Convergence is similar to linear systems arising in nonlinear analysis
problem
Both share the same flow Jacobian matrix with the exception of
transpose
RHS source is different
Same iterative methods used for analysis problem are employed for
adjoint solution (i.e. GMRES, multigrid etc.)
Once solved, substitute back:
Contribution to total gradient
vector through series of
matrix-vector products:
Repeat
process
sweeping
back in time
Linearization for Gradient
Obtaining full gradient vector is as follows:
• Solve flow problem (forward integration in time)
• Write solution (state) to disk at each time-step while integrating
• Adjoint solver starts at final time-step and sweeps back in time
• Reads solution from disk during the process
• One linear adjoint solution at each time-step going back in time
similar to one nonlinear solution at each time-step in the analysis
problem going forward in time.
• Full gradient vector is assembled once 1st time-step is reached in
the backward sweep.
• Cost of obtaining gradient vector is equal to cost of one
analysis/flow solution in worst case scenario.
• Typically faster since adjoint is linear.
Linearization for Gradient
Obtaining full gradient vector is as follows:
• Solve flow problem (forward integration in time)
• Write solution (state) to disk at each time-step while integrating
• Adjoint solver starts at final time-step and sweeps back in time
• Reads solution from disk during the process
• One linear adjoint solution at each time-step going back in time
similar to one nonlinear solution at each time-step in the analysis
problem going forward in time.
• Full gradient vector is assembled once 1st time-step is reached in
the backward sweep.
• Cost of obtaining gradient vector is equal to cost of one
analysis/flow solution in worst case scenario.
• Typically faster since adjoint is linear.
Convergence Behavior
Convergence of flow and
adjoint at a typical timestep
Solver Validation
Test Case:
•
•
•
•
•
•
SC1095 Airfoil
Freestream Mach number 0.302
Reynolds Number 3.86 Million
Mean angle-of-attack = 9.92 degrees
Amplitude of Pitch = 9.90 degrees
Reduced frequency 0.148
•
Frame 37109 from NASA TM 84245
•
•
•
•
80,000 grid nodes
10,000 time steps of size dt = 0.02
25 multigrid (5 levels) cycles
Covers 3 periods of pitch
Computational mesh
for test case
Solver Validation
Lift
Drag
Moment
7 hours wall clock time on 8 cores with OpenMP parallelization
Gradient Verification
•
Two step process to verify gradient vector.
•
Forward linearization verified using Complex-step method
•
Duality between transpose operations used to verify adjoint linearization
against forward linearization.
•
Complex step method is like finite-difference except no subtraction errors
•
All floating point numbers and operators building up nonlinear function are
defined as complex and a complex perturbation is introduced.
•
Gradient can then be obtained from complex function output as imaginary
part divided by the complex perturbation
Gradient Verification
Results
•
•
•
•
•
•
•
•
•
•
Same SC1095 Airfoil case chosen for optimization.
Goal is to reduce peak pitching moment in hysteresis cycle.
Maintain baseline lift profile.
Same flow conditions as before, M=0.302, kc=0.148, Re=3.86E6
750 time-steps of size dt=0.08 used.
Corresponds to 1 cycle of pitch.
25 multigrid cycles at each time-step.
Mesh with about 60,000 nodes.
10 design variables (bumps). 5 on upper surface and 5 on lower surface.
LBFGS reduced hessian gradient-based optimizer from Nocedal et.al.
Objective function
defined as:
Idea from infinite norm. Large power
targets highest value of moment in time
Weighted constraint on lift coefficient at
each time-step.
Results
Optimization convergence:
Final/3rd stage of optimization.
Results
Optimized airfoil comparison:
Results
Optimized airfoil performance:
Results –Baseline SC1095
Results – Optimized Geometry
Conclusions
•
•
•
•
•
•
•
•
•
Adjoint capability for computing gradients in NSU2D developed.
Method provides discretely exact gradient information that can be
used in design optimization.
Cost of obtaining full gradient information approximately cost of
flow solution.
Removes guesswork and replaces it with mathematically rigorous
design method.
Method shows tremendous potential as a design tool.
Although results show good improvement in moment stall, it is point
design.
Airfoil will likely have unfavorable steady-state characteristics
influencing hover performance.
Infrastructure now exists to explore different geometry
parametrizations and objective functions.
Multi-objective optimizations need to be performed.
Acknowledgements
This work was supported by ARMY SBIR Phase 1 contract
W911W6-11C-0037