|
Organizers |
Efficient Operator Overloading Approach in the framework of Nonlinear PDEs
by
Bert Tijskens
Katholieke Universiteit Leuven
Coauthors: Josse De Baerdemaeker (Katholieken Universiteit Leuven)
This paper demonstrates that by resorting to Automatic Differentiation (AD) the user can be relieved from the extra work of linearising a nonlinear PDE before discretisation without significantly deteriorating efficiency. Thereby the ease of use and flexibility of general FEM packages for solving PDEs is put on the same footing for nonlinear PDEs as for linear PDEs. This paper presents an extension of common AD techniques which is implemented in the operator overloading approach. The extension proves particularly efficient in the framework of solvers for nonlinear algebraic equations arising from the discretisation of systems of nonlinear PDEs. In such a situation the same functions and their partial derivatives have to be evaluated over and over again. This fact can be exploited to use an efficient storage scheme which eliminates much of the overhead which is generally incurred by the operator overloading approach. The extension is implemented in c++ for both forward and reverse accumulation, as well as a hybrid approach, and compared to hand coded evaluation of derivatives and two state of the art implementations, ADIC (Bischof et al. 1997, source translator approach) and ADOL-C (Griewank 1996, operator overloading approach). Test runs show runtimes which are significantly shorter than for ADOL-C and can compete with ADIC. The implementation also pays special attention to a user interface for function expressions which almost coincides with the usual way of applying algebraic c++ operators.
http://www.agr.kuleuven.ac.be/aee/amc/staff/bertt/EEOpOv.ps
Date received: December 24, 1999
Copyright © 1999 by the author(s). The author(s) of this document and the organizers of the conference have granted their consent to include this abstract in Atlas Mathematical Conference Abstracts. Document # cads-24.