DAEPACK

DAEPACK (pronounced D-A-E-PACK) is a software library for general numerical calculations. DAEPACK is divided into two major libraries: symbolic analysis and transformation andnumerical calculation. The symbolic analysis and transformation library consists of components for analyzing general Fortran-90 models and automatically generating the information required when using modern numerical algorithms. For example, components are provided that:

  • automatically generate new code which determines the sparsity pattern of the model for a given set of inputs (sparsity pattern generation),
  • automatic generation of a discontinuity-locked model and extraction of hidden discontinuities, allowing state-of-the art state event location algorithms to be applied to general FORTRAN models so that hybrid discrete/continuous dynamic simulation can be performed efficiently and robustly and parametric sensitivity calculations can be performed correctly (discontinuity locking), and
  • component for determining the analytical derivatives of the original model using automatic differentiation (AD) (automatic differentiation).

The information above would normally have to be provided by the modeler.

This task is tedious, time consuming, and error prone and as a result, FORTRAN models are often treated as black boxes. The symbolic components of DAEPACK open up these black boxes, allowing the state-of-the-art numerical algorithms contained in the numerics library to be easily applied without having the modeler generate this additional information. The modeler can simply concentrate on writing a correct model, DAEPACK takes care of the rest. Calculations performed by the DAEPACK numerical components include solution of large sparse sets of nonlinear algebraic equations, hybrid discrete/continuous dynamic simulation with robust state event location, and hybrid discrete/continuous parametric sensitivity calculation with proper reinitialization of the sensitivities across discontinuities. Additional information about DAEPACK can be found on the Introduction Page. Details about licensing is available here. Manuals can be downloaded from the Download Area.