on this page you find informations about the C++ package SolvIND, a suite of ODE/DAE Solvers capable of generating forward and adjoint sensitivity information of the solutions using the principle of internal numerical differentiation. The packages is developed at the SimOpt Team of the IWR, University of Heidelberg. It is designed to be a building block for dynamic optimization software and contains the following functionality:
- The integrator DAESOL-II based on BDF methods for stiff ODEs and index 1 DAEs
- The integrator family RKFSWT based on Runge-Kutta methods of different order with continuous extension
- All integrator support forward and adjoint sensitivity generation of first and higher order directional sensitvities
- Partly support for implicitely defined switching events (also for sensitivity computations)
- Support for delay differential equations currently (Aug 2009) under development
- An evaluator layer computing from given definitions of dynamic model functions (but also other functions like constraints, objectives, etc.) the function and derivative values requested by the integrators (or the encompassing optimization software) in the most efficient way possible.
- Support for user defined derivatives, built-in ADOL-C support and support of finite differences for derivative generation of the model functions. A SolvIND specific sourcecode generator based on operator overloading is currently tested.
- Extensible by the user via own integrator modules and a plug-in system (e.g. for visualization, problem specific tailored linear algebra, etc.)
- Interfaces for the use of SolvIND from GNU Octave, python (under development, thanks to S. Walter, HU Berlin)
Hope to hear from you and your interesting application / simulation / optimization problems,
Jan Albersmeyer and Christian Kirches