Abstract
Computationally efficient and accurate derivatives are important to the success of many different types of numerical methods. Automatic differentation (AD) approaches compute truncation-free derivatives and can be efficient in many cases. Although present AD tools can provide a convenient implementation mechanism, the computational efficiency rarely compares to analytically derived versions that have been carefully implemented. The focus of this work is to combine the strength of these methods into a hybrid strategy that attempts to achieve an optimal balance of implementation and computational efficiency by selecting the appropriate components of the target algorithms for AD and analytical derivation. Although several AD approaches can be considered, our focus is on the use of template overloading forward AD tools in C++ applications. We demonstrate this hybrid strategy for a system of partial differential equations in gas dynamics. These methods apply however to other systems of differentiable equations, including DAEs and ODEs.
- Beda, L. M., Korolev, L. N., Sukkikh, N. V., and Frolova, T. S. 1959. Programs for automatic differentiation for the machine BESM. Tech. rep., Institute for Precise Mechanics and Computation Techniques, Academy of Science.Google Scholar
- Bischof, C., Carle, A., Corliss, G., Griewank, A., and Hovland, P. 1992. ADIFOR—generating derivative codes from Fortran programs. Scientific Program. 1, 1--29.Google ScholarDigital Library
- Bischof, C. H., Roh, L., and Mauer, A. 1997. ADIC—An extensible automatic differentiation tool for ANSI-C. Softw.--Pract. Experi. 27, 12, 1427--1456. Google ScholarDigital Library
- Blazek, J. 2001. Computational Fluid Dynamics: Principles and Applications. Elsevier.Google Scholar
- Cesare, N. and Pironneau, O. 2000. Flow control problem using automatic differentiation in C++. Tech. rep., LAN-UPMC report 99013. Unversite Pierre et Marie Curie.Google Scholar
- Courty, F., Dervieux, A., Koobus, B., and Hascoet, L. 2003. Reverse automatic differentiation for optimum design: from adjoint state assembly to gradient computation. Optimiz. Meth. Softw. 18, 5, 615--627.Google ScholarCross Ref
- Faure, C. 2005. An auomatic differentiation platform: Odyssee. Future Gener. Comput. Syst. 21, 8, 1391--1400. Google ScholarDigital Library
- Giering, R. and Kaminski, T. 1998. Recipies for adjoint code construction. ACM Trans. Math. Softw. 24, 4, 437--474. Google ScholarDigital Library
- Goedecker, S. and Hoisie, A. 2001. Performance Optimization of Numerically Intensive Codes. SIAM. Google ScholarDigital Library
- Griewank, A. 2000. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM. Google ScholarDigital Library
- Griewank, A., Juedes, D., and Utke, J. 1996. ADOL--C, a package for the automatic differentiation of algorithms written in C/C++. ACM Trans. Math. Softw. 22, 2, 131--167. Google ScholarDigital Library
- Hascoet, L. 2004. Tapenade: a tool for automatic differentiation of programs. In Proceedings of the 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS) 2. P. Neittaanm aki, T. Rossi, S. Korotov, E. Onate, J. Periaux, and D. Knorzer, Eds.Google Scholar
- Linnainmaa, S. 1976. Taylor expansion of the accumulated rounding errror. BIT (Nordisk Tidskrift for Informationsbehandling) 16, 146--160.Google ScholarCross Ref
- Martins, J. R. R. A., Sturdza, P., and Alonso, J. J. 2003. The complex-step derivative approximation. ACM Trans. Math. Softw. 29, 3, 245--262. Google ScholarDigital Library
- Moore, R. 1979. Methods and Applications of Interval Analysis. SIAM. Google ScholarDigital Library
- Roe, P. 1981. Approximate Riemann solvers, parameter vectors, and difference schemes. J. Computat. Phy. 43, 357--372.Google ScholarCross Ref
- Speelpenning, B. 1980. Compiling fast partial derivatives of functions given by algorithms. Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign. Google ScholarDigital Library
- Squire, W. and Trapp, G. 1998. Using complex variables to estimate derivatives of real functions. SIAM Rev. 40, 1, 110--112. Google ScholarDigital Library
- van Albada, B., van Leer, G., and Jr., W. R. 1982. A comparative study of computational methods in cosmic gas dynamics. Astronomy Astrophys. 108, 76--84.Google Scholar
- Vanden, K. and Orkwis, P. 1996. Comparison of numerical and analytical Jacobians. AIAA J. 34, 6, 1125--1129.Google ScholarCross Ref
- Wengert, R. E. 1964. A simple automatic derivative evaluation program. Comm. ACM 7, 8, 463--464. Google ScholarDigital Library
Index Terms
- Hybrid differentiation strategies for simulation and analysis of applications in C++
Recommendations
Improved Accuracy of High-Order WENO Finite Volume Methods on Cartesian Grids
We propose a simple modification of standard weighted essentially non-oscillatory (WENO) finite volume methods for Cartesian grids, which retains the full spatial order of accuracy of the one-dimensional discretization when applied to nonlinear ...
Finite Volume Evolution Galerkin Methods for Hyperbolic Systems
The subject of the paper is the derivation and analysis of new multidimensional, high-resolution, finite volume evolution Galerkin (FVEG) schemes for systems of nonlinear hyperbolic conservation laws. Our approach couples a finite volume formulation with ...
Analysis of the Cell-Vertex Finite Volume Method for Hyperbolic Problems with Variable Coefficients
An analysis of the cell-vertex finite volume method is presented for a scalar linear hyperbolic equation with variable coefficients. The cell-vertex approximation is shown to be second-order convergent in the L2-norm and first-order convergent in the H1-...
Comments