Derivatives are a crucial ingredient to a broad variety of computational techniques in science and engineering. While numerical approaches for evaluating derivatives suffer from truncation error, automatic differentiation is accurate up to machine precision. The term automatic differentiation comprises a set of techniques for mechanically transforming a given computer program to another one capable of evaluating derivatives. A common misconception about automatic differentiation is that this technique only works on local pieces of fairly simple code. Here, it is shown that automatic differentiation is not only applicable to small academic codes, but scales to advanced industrial software packages. In particular, the general-purpose computational fluid dynamics software package FLUENT is transformed by automatic differentiation.

1.
Heck
,
A.
, 2003,
Introduction to Maple
, 3rd ed.,
Springer
,
New York
.
2.
Wolfram
,
S.
, 2003,
The Mathematica Book
, 5th ed.,
Wolfram Media
,
Champaign, IL
.
3.
Bischof
,
C.
,
Carle
,
A.
,
Khademi
,
P.
, and
Mauer
,
A.
, 1996, “
ADIFOR 2.0: Automatic Differentiation of Fortran 77 Programs
,”
IEEE Comput. Sci. Eng.
1070-9924,
3
(
3
), pp.
18
32
.
4.
Giering
,
R.
, and
Kaminski
,
T.
, 1998, “
Recipes for Adjoint Code Construction
,”
ACM Trans. Math. Softw.
0098-3500,
24
(
4
), pp.
437
474
.
5.
Hascoët
,
L.
, 2004, “
TAPENADE: A Tool for Automatic Differentiation of Programs
,”
Proceedings of the 4th European Congress on Computational Methods in Applied Sciences and Engineering, ECCOMAS 2004
, Jyväskylä, Finland, July 24–28.
6.
Bischof
,
C.
,
Roh
,
L.
, and
Mauer
,
A.
, 1997, “
ADIC—An Extensible Automatic Differentiation Tool for ANSI-C
,”
Softw.: Pract. Exp.
0038-0644,
27
(
12
), pp.
1427
1456
.
7.
Griewank
,
A.
,
Juedes
,
D.
, and
Utke
,
J.
, 1996, “
ADOL-C, A Package for the Automatic Differentiation of Algorithms Written in C/C++
,”
ACM Trans. Math. Softw.
0098-3500,
22
(
2
), pp.
131
167
.
8.
Bischof
,
C. H.
,
Bücker
,
H. M.
,
Lang
,
B.
,
Rasch
,
A.
, and
Vehreschild
,
A.
, 2002, “
Combining Source Transformation and Operator Overloading Techniques to Compute Derivatives for MATLAB Programs
,”
Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2002)
,
Los Alamitos, CA
, IEEE Computer Society, pp.
65
72
.
9.
Coleman
,
T. F.
, and
Verma
,
A.
, 2000, “
ADMIT-1: Automatic Differentiation and MATLAB Interface Toolbox
,”
ACM Trans. Math. Softw.
0098-3500,
26
(
1
), pp.
150
175
.
10.
Forth
,
S. A.
, 2006, “
An Efficient Overloaded Implementation of Forward Mode Automatic Differentiation in MATLAB
,”
ACM Trans. Math. Softw.
0098-3500,
32
(
2
), pp.
195
222
.
11.
Griewank
,
A.
, 2000,
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
.
SIAM
,
Philadelphia, PA
.
12.
Rall
,
L. B.
, 1981,
Automatic Differentiation: Techniques and Applications, Lecture Notes in Computer Science
, Vol.
120
,
Springer
,
Berlin, Germany
.
13.
Bischof
,
C.
,
Corliss
,
G.
,
Green
,
L.
,
Griewank
,
A.
,
Haigler
,
K.
, and
Newman
,
P.
, 1992, “
Automatic Differentiation of Advanced CFD Codes for Multidisciplinary Design
,”
Comput. Syst. Eng.
0956-0521,
3
(
6
), pp.
625
637
.
14.
Carle
,
A.
,
Green
,
L. L.
,
Bischof
,
C. H.
, and
Newman
,
P. A.
, 1994, “
Applications of Automatic Differentiation in CFD
,”
Proceedings of the 25th AIAA Fluid Dynamics Conference, Colorado Springs, CO
, June 20–23, AIAA Paper No. 94–2197.
15.
Le Dimet
,
F.-X.
,
Navon
,
I. M.
, and
Daescu
,
D. N.
, 2002, “
Second-Order Information in Data Assimilation
,”
Mon. Weather Rev.
0027-0644,
130
(
3
), pp.
629
648
.
16.
Bischof
,
C. H.
,
Bücker
,
H. M.
, and
an Mey
,
D.
, 2002, “
A Case Study of Computational Differentiation Applied to Neutron Scattering
,”
Automatic Differentiation of Algorithms: From Simulation to Optimization
,
G.
Corliss
,
C.
Faure
,
A.
Griewank
,
L.
Hascoët
, and
U.
Naumann
, eds.,
Computer and Information Science
,
Springer
,
New York
, pp.
69
74
.
17.
Bischof
,
C. H.
,
Bücker
,
H. M.
,
Lang
,
B.
,
Rasch
,
A.
, and
Risch
,
J. W.
, 2003, “
Extending the Functionality of the General-Purpose Finite Element Package SEPRAN by Automatic Differentiation
,”
Int. J. Numer. Methods Eng.
0029-5981,
58
(
14
), pp.
2225
2238
.
18.
Fluent Inc.
, 1997,
FLUENT 4.4 Tutorial Guide
, 2nd ed., Lebanon, NH.
19.
Yakhot
,
V.
, and
Orszag
,
S. A.
, 1986, “
Renormalization Group Analysis of Turbulence, I. Basic Theory
,”
J. Sci. Comput.
0885-7474,
1
(
1
), pp.
1
51
.
20.
Hirt
,
C. W.
, and
Nichols
,
B. D.
, 1981, “
Volume of Fluid (VOF) Method for the Dynamics of Free Boundaries
,”
J. Comput. Phys.
0021-9991,
39
, pp.
201
225
.
21.
Launder
,
B. E.
, and
Spalding
,
D. B.
, 1972,
Lectures in Mathematical Models of Turbulence
,
Academic Press
,
London, UK
.
22.
Launder
,
B. E.
, and
Spalding
,
D. B.
, 1974, “
The Numerical Computation of Turbulent Flows
,”
Comput. Methods Appl. Mech. Eng.
0045-7825,
3
, pp.
269
289
.
23.
Mohammadi
,
B.
, and
Pironneau
,
O.
, 1993,
Analysis of the K-Epsilon Turbulence Model
,
Wiley
,
Chichester, UK
.
24.
Bischof
,
C. H.
,
Bücker
,
H. M.
, and
Rasch
,
A.
, 2005, “
Sensitivity Analysis of Turbulence Models Using Automatic Differentiation
,”
SIAM J. Sci. Comput.
1064-8275,
26
(
2
), pp.
510
522
.
You do not currently have access to this content.