# DNAD, a simple tool for automatic differentiation of Fortran codes using dual numbers

## Description

Abstract DNAD (dual number automatic differentiation) is a simple, general-purpose tool to automatically differentiate Fortran codes written in modern Fortran (F90/ 95/2003) or legacy codes written in previous version of the Fortran language. It implements the forward mode of automatic differentiation using the arithmetic of dual numbers and the operator overloading feature of F90/ 95/2003. Very minimum changes of the source codes are needed to compute the first derivatives of Fortran programs. The ad... Title of program: DNAD Catalogue Id: AEOS_v1_0 Nature of problem Sensitivities of outputs with respect to inputs of a Fortran code are often needed in physics, chemistry, and engineering. The author of the analysis code may no longer be available and the user may not have a deep knowledge of the code. Thus a simple tool is necessary to automatically differentiate the code with very minimum change to the source codes. This can be achieved using dual number arithmetic and operator loading. Versions of this program held in the CPC repository in Mendeley Data AEOS_v1_0; DNAD; 10.1016/j.cpc.2012.12.025 This program has been imported from the CPC Program Library held at Queen's University Belfast (1969-2018)