FATODE v2.0 (forward, adjoint, and tangent linear integration of ODEs) is a library of explicit and implicit Runge-Kutta and Rosenbrock solvers for the simulation of nonstiff and stiff ODEs. The library performs forward simulations, and sensitivity analysis via the discrete adjoint and tangent linear methods.
Many engineering systems are described by ordinary or partial differential equations. The ability to simulate accurately and efficiently these equations on a computer hinges on the availability of high quality time discretizations. FATODE provides a high quality, highly efficient simulation platform for time-dependent systems. Explicit Runge-Kutta methods handle very efficiently nonstiff systems, while the implicit methods are preferred for solving stiff systems due to their better numerical stability properties.
Sensitivity analysis calculates the derivatives of model outputs with respect to model parameters and initial and boundary conditions. FATODE v2.0 implements forward sensitivity analysis that is efficient when there are few model parameters and many outputs. FATODE forward sensitivity allows to efficiently identifying the most important inputs that have the largest impact of model outputs.
FATODE v2.0 also implements adjoint sensitivity analysis provides an efficient alternative to the forward method when gradients of a relatively few outputs with respect to many model parameters is required. FATODE adjoint sensitivities allow to efficiently computing gradients needed in numerical optimization for solving optimal design, parameter estimation, and inverse problems.