FastDer++, efficient automatic differentiation for non-linear PDE solvers

  • Authors:
  • E. Tijskens;D. Roose;H. Ramon;J. De Baerdemaeker

  • Affiliations:
  • Laboratorium Landbouwwerktuigkunde, K.U. Leuven, Kardinaal Mercierlaan 92E, B-3001 Leuven, Belgium;Departement Computerwetenschappen, K.U. Leuven, Celestijnenlaan 200A, B-3001 Leuven, Belgium;Laboratorium Landbouwwerktuigkunde, K.U. Leuven, Kardinaal Mercierlaan 92E, B-3001 Leuven, Belgium;Laboratorium Landbouwwerktuigkunde, K.U. Leuven, Kardinaal Mercierlaan 92E, B-3001 Leuven, Belgium

  • Venue:
  • Mathematics and Computers in Simulation - Special issue: Selected papers of the IMACS/IFAC fourth international symposium on mathematical modelling and simulation in agricultural and bio-industries
  • Year:
  • 2004
  • Mathematical modelling of syneresis of cheese curd

    Mathematics and Computers in Simulation - Special issue: Selected papers of the IMACS/IFAC fourth international symposium on mathematical modelling and simulation in agricultural and bio-industries

Quantified Score

Hi-index 0.00

Visualization

Abstract

FastDer++ is a C++ class library for automatic differentiation designed for use in situations where a set of dependent variables and their gradients are to be evaluated in a large number of points. Typical settings constitute non-linear systems of partial differential equations (PDEs) and ODEs. Although automatic differentiation is traditionally considered to slow for implementation in non-linear PDE and ODE solvers, it has recently been demonstrated [E. Tijskens, H. Ramon, J. De Baerdemaeker, Efficient operator overloading AD for solving non-linear PDEs, in: G. Corliss, C. Faure, A. Griewank, L. Hascoët, U. Nauman (Eds.), Automatic Differentiation of Algorithms--From Simulation to Optimisation, Springer, Verlag, 2002; Num. Algorithms 30 (2002) 259] that thanks to an extension called vectorised AD and careful design handcoded derivatives, finite differencing and state of the art AD tools can be outperformed in common situations. In addition, the user gains the advantage of directly dealing with the non-linear equations rather than with its linearised counterpart. This paper describes the FastDer++ library and its underlying principles in detail, both from the point of implementation and of user programming.