You are here
DNAD, a simple tool for automatic differentiation
All,
I am writing to introduce DNAD, a Fortran module I wrote for automatic differentiation of analysis codes written in Fortran including those legacy codes written in Fortran 77. Although only implementation using Fortran 90/95 was carried out, it is straightward to translate it to a language you like such as c/c++.
Currently, DNAD is a Fortran 90/95 module developed using the arithmetic of dual numbers and the operator overloading feature of Fortran 90/95. Very minimum changes of the source codes are needed to enable sensitivity calculation of existing Fortran programs. Code differentiated using DNAD can exactly compute derivatives of the outputs with respect to design variables. DNAD has been shown to be a better alterative than using finite difference or complex-step approximation for computing derivatives (sensitivities). It has been used to automatically differentiate VABS and GEBT. It is an ideal way to compute sensitivities for a code you don’t know much about it. The source codes are available to anybody if you are interested. More details can be found from hifi-comp.com.
Wenbin
- Wenbin Yu's blog
- Log in or register to post comments
- 4753 reads
Recent comments