Entry Date:
August 22, 2005

Jacobian and DAEPACK

Principal Investigator Paul Barton


Jacobian is a software system for the formulation, debugging and numerical solution of large-scale dynamic models. The purpose of Jacobian is to provide the engineer with a high-level environment in which to formulate and debug dynamic models that takes care of numerical solution automatically. Jacobian currently supports the simulation, sensitivity analysis and parameter estimation of large-scale discrete/continuous DAE models. Current development efforts are aimed at incorporating our algorithms for mixed-integer dynamic optimization.

DAEPACK is a software system that works directly with models coded in procedural programming languages such as FORTRAN. Symbolic components of DAEPACK compile the user supplied code, analyze and then write automatically new code that is used by sophisticated numerical algorithms. Examples include code to evaluate analytical partial derivatives of the functions represented by a code, code to supply sparsity information for problem diagnosis and numerical solution, code to handle the discontinuities encountered the simulation of hybrid systems, code to evaluate the interval extension of functions, and code to evaluate convex relaxations of functions for use in global optimization algorithms. The numerical components DAEPACK then use the original and automatically generated codes in order to implement sophisticated numerical algorithms that exploit all this symbolic information concerning a model. The development DAEPACK was motivated by the need to upgrade the large amount of legacy code that exists, embedding highly refined proprietary or classified models, so that these legacy models can be used in conjunction with sophisticated modern algorithms. It also serves as a platform to support the high flexibility of model formulation in FORTRAN, and for the development of new numerical algorithms that exploit symbolic information.

Jacobian and DAEPACK are now commercial software systems and are no longer being actively developed by the Process Systems Engineering Laboratory, although I collaborate closely with the company commercializing the software.