DENSERKS: Fortran sensitivity ODE solvers using
continuous, explicit Runge-Kutta methods

Mihai Alexe (mihai@vt.edu) and Adrian Sandu (sandu@cs.vt.edu)

Summary

DENSERKS is a Fortran 90 solver suite designed for performing sensitivity analysis of models whose evolution can be described by ordinary differential equations (ODEs).

A salient feature of DENSERKS is its support for both forward and adjoint sensitivity analyses, with built-in integrators for both first and second order continuous adjoint models. The software implements explicit Runge-Kutta methods with adaptive timestepping and high-order dense output schemes for the forward and the tangent linear model trajectory interpolation. Implementations of six Runge-Kutta methods are provided, with orders of accuracy ranging from two to eight. This makes DENSERKS suitable for a wide range of practical applications. The use of dense output, a novel approach in adjoint sensitivity analysis solvers, allows for a high-order cost-effective interpolation. This is a necessary feature when solving adjoints of nonlinear systems using highly accurate Runge-Kutta methods (order five and above). To minimize memory requirements and make long-time integrations computationally efficient, DENSERKS implements a two-level checkpointing mechanism used for adjoint model integrations.

The DENSERKS package contains example programs that illustrate the use of each of the forward, tangent linear and adjoint model integrators.



Download

Source Code for DENSERKS: tar.gz or zip 
DENSERKS Technical Report (paper submitted to ACM Transactions on Mathematical Software): pdf  



Acknowledgments

DENSERKS was developed with support from the National Science Foundation through the award NSF CCF-0635194.