C. Mischler et al., AUTOMATIC DIFFERENTIATION APPLICATIONS TO COMPUTER-AIDED PROCESS ENGINEERING, Computers & chemical engineering, 19, 1995, pp. 779-784
The numerical methods used for solving many scientific computing probl
ems, in particular, for computer aided process engineering, require th
e computation of derivatives of a function. Both the accuracy and the
computational requirements of the derivat:ives are, usually, of critic
al importance to ensure the robustness and the efficiency of the numer
ical solution. The purpose of this paper is to report on the developme
nt and application of computer algebra systems for automating the impl
ementation of differentiation into existing computer codes. The so-cal
led Automatic Differentiation (AD) Methods have been tested on several
examples of thermodynamic property calculation routines. We have used
the Odyssee system, developed for the project SAFIR. The various auto
matic differentiation algorithms, called forward (direct) mode and rev
erse (adjoint) mode, have been compared on these examples. Our results
show that Automatic Differentiation algorithms can handle real-life c
odes and that the codes generated are competitive in time with calcula
tion of derivatives by divided-difference approximations. For some cla
sses of programs, the codes generated are much more efficient so as to
be competitive with handmade derivatives. Moreover, Automatic Differe
ntiation avoids the truncation errors found in finite difference appro
ximation Calculation and also the tedious (and error prone) analytical
derivation work done by hand.