80 likes | 538 Views
The HYDRA CFD Solver. Background:First version developed by Giles and co-workers at OUCL with funding and technical assistance from RRDeveloped from outset to be a suite of non-linear, linear and adjoint CFD solversLinearised unsteady and adjoint versions were hand codedSince 2000, has been deve
E N D
1. Automatic Differentiationat Rolls-Royce
Leigh Lapworth,
Rolls-Royce PLC, Derby.
2. The HYDRA CFD Solver Background:
First version developed by Giles and co-workers at OUCL with funding and technical assistance from RR
Developed from outset to be a suite of non-linear, linear and adjoint CFD solvers
Linearised unsteady and adjoint versions were hand coded
Since 2000, has been developed collaboratively by RR and a number of university collaborators including OUCL.
Central code in Rolls-Royce corporate CFD strategy
Current Status
HYDRA used on a wide range of gas turbine projects in both the aerospace and non-aerospace sectors.
HYDRA is the basis of a large number of industry-university collaborations involving RR.
The HYDRA collaborative network is one of the code’s major strengths and the network is continuing to grow.
3. HYDRA Framework
4. The Role of Automatic Differentiation Code maintenance:
Features are added to the non-linear code more rapidly than the linear and adjoint versions.
Inconsistencies between versions affect stability and accuracy of the linear and adjoint sensitivities.
Expertise needed to maintain hand-coded versions.
Automatic Differentiation
Allows consistent non-linear, linear and adjoint versions of the code to be maintained with minimal effort.
More quality assured because scope for hand-coding bugs in linear and adjoint versions is removed.
Less validation of new versions needed.
Generation of linear and adjoint code becomes a transient operation controlled by the Makefile:
Only the non-linear code and executables need to be retained,
Less reliance on specialist hand-coding expertise.
5. The Influence of Coding Inconsistencies
6. Makefile Implementation AD (Tapenade) automatically run by Makefile when linear or adjoint object file needed to build an executable.
Intermediate (AD generated) files are transient
Sample Makefile*:
7. Rolls-Royce Experience with AD Acknowledgement
RR experience has been gathered through research programmes with Oxford (Giles et al.), Cambridge (Radford) and Cranfield (Forth)
RR perspective:
Reference hand-coded versions essential to demonstrations:
Provided validation and performance database,
Provided infrastructure so that AD can be applied at a subroutine level.
Application of AD via Makefile essential to deployment
RR doesn’t want to maintain an expertise in AD, just as it doesn’t have experts in compiler technology.
Outlook
AD is essential to maintaining a large industrial code, HYDRA.
RR will use Tapenade for AD.
RR will continue to look to collaborators for recommendations.
8. Adjoint Design - Bypass OGV design
9. Summary Automatic Differentiation
Crucial to long term maintenance of HYDRA,
AD treated as just ‘another compiler’
Adjoint CFD
Design:
Several application areas where #design variables are much greater than #objectives and constraints.
Sensitivity analysis
Often need to ask how close is a design to a stability boundary (e.g. stall); or, how sensitive is it to small changes (e.g. robust design).
Error analysis
Either to drive solution adaptation or provide confidence levels in solutions.