ADF95: Tool for automatic differentiation of a FORTRAN code designed for large numbers of independent variables

被引:18
作者
Straka, CW [1 ]
机构
[1] Univ Heidelberg, Inst Theoret Astrophys, D-69121 Heidelberg, Germany
关键词
automatic differentiation; derivatives; FORTRAN; 95; implicit solvers;
D O I
10.1016/j.cpc.2005.01.011
中图分类号
TP39 [计算机的应用];
学科分类号
081203 [计算机应用技术]; 0835 [软件工程];
摘要
ADF95 is a tool to automatically calculate numerical first derivatives for any mathematical expression as a function of user defined independent variables. Accuracy of derivatives is achieved within machine precision. ADF95 may be applied to any FORTRAN 77/90/95 conforming code and requires minimal changes by the user. It provides a new derived data type that holds the value and derivatives and applies forward differencing by overloading all FORTRAN operators and intrinsic functions. An efficient indexing technique leads to a reduced memory usage and a substantially increased performance gain over other available tools with operator overloading. This gain is especially pronounced for sparse systems with large number of independent variables. A wide class of numerical simulations, e.g., those employing implicit solvers, can profit from ADF95.
引用
收藏
页码:123 / 139
页数:17
相关论文
共 9 条
[1]
Adams J. C., 1997, FORTRAN 95 HDB COMPL
[2]
Highly excited vibrational states of HCP and their analysis in terms of periodic orbits: The genesis of saddle-node states and their spectroscopic signature [J].
Beck, C ;
Keller, HM ;
Grebenschikov, SY ;
Schinke, R ;
Farantos, SC ;
Yamashita, K ;
Morokuma, K .
JOURNAL OF CHEMICAL PHYSICS, 1997, 107 (23) :9818-9834
[3]
EHRIG R, 2003, LIMEX VERSION 4 3B K
[4]
Normal mode and isomerization bending states in HCP: Periodic orbit assignment and spectroscopic signature [J].
Farantos, SC ;
Keller, HM ;
Schinke, R ;
Yamashita, K ;
Morokuma, K .
JOURNAL OF CHEMICAL PHYSICS, 1996, 104 (24) :10055-10058
[5]
*ISO IEC, 2003, 153912004 ISOIEC
[6]
*ISO IEC, 1997, 153911997 ISOIEC
[7]
*ISO IEC, 1991, 153911991 ISOIEC
[8]
METCALF M, 2000, FORTRAN 90 95 EXPLAI
[9]
AUTO_DERIV: Tool for automatic differentiation of a FORTRAN code [J].
Stamatiadis, S ;
Prosmiti, R ;
Farantos, SC .
COMPUTER PHYSICS COMMUNICATIONS, 2000, 127 (2-3) :343-355