FastDer++

FastDer++, efficient automatic differentiation for non-linear PDE solvers. 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. Hascoet, 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.


References in zbMATH (referenced in 10 articles , 2 standard articles )

Showing results 1 to 10 of 10.
Sorted by year (citations)

  1. Lejeune, Arnaud; Boudaoud, Hakim; Potier-Ferry, Michel; Charpentier, Isabelle; Zahrouni, Hamid: Automatic solver for non-linear partial differential equations with implicit local laws: application to unilateral contact (2013)
  2. Toivanen, Jukka I.; Mäkinen, Raino A. E.: Implementation of sparse forward mode automatic differentiation with application to electromagnetic shape optimization (2011)
  3. Schneider, René; Jimack, Peter K.: On the evaluation of finite element sensitivities to nodal coordinates (2008)
  4. Stumm, Philipp; Walther, Andrea; Riehme, Jan; Naumann, Uwe: Structure-exploiting automatic differentiation of finite element discretizations (2008)
  5. Bartlett, Roscoe A.; Gay, David M.; Phipps, Eric T.: Automatic differentiation of C++ codes for large-scale scientific computing (2006)
  6. Glowinski, Roland; Toivanen, Jari: A multigrid preconditioner and automatic differentiation for non-equilibrium radiation diffusion problems (2005)
  7. Tijskens, E.; De Baerdemaeker, J.: Mathematical modelling of syneresis of cheese curd (2004)
  8. Tijskens, E.; De Baerdemaeker, J.; Ramon, H.: Strategies for contact resolution of level surfaces (2004)
  9. Tijskens, E.; Roose, D.; Ramon, H.; De Baerdemaeker, J.: FastDer++, efficient automatic differentiation for non-linear PDE solvers (2004)
  10. Tijskens, E.; Roose, D.; Ramon, H.; De Baerdemaeker, J.: Automatic differentiation for solving nonlinear partial differential equations: an efficient operator overloading approach (2002)