The original Fortran-90 code may contain an arbitrary number of subroutine and function calls, common blocks, sophisticated solution strategies embedded within the model evaluation, etc. In addition, this new information can be used with third party or custom numerical algorithms to provide information that would otherwise have to be generated by hand.
Sparsity is exploited both in derivative computation and storage.
Interval extensions of the original system of equations. In all of the cases above, new code is generated that can be compiled and linked into other applications to provide the desired information. The structural information of the system of equations obtained with the sparsity pattern code described above is used to permute the system into block lower triangular form where the overall system of equations is solved as a sequence of smaller blocks. Derivative code is generated in order to extract efficiently the submatrix of the Jacobian corresponding to the current block. Furthermore, greater support for the automatic construction of CAPE-Open compliant components from legacy Fortran code will be provided.