Download PDF | Full Paper |
Software for higher-order sensitivity analysis of parametric DAEs
Moritz Schmitz1, Boris Gendler2, Ralf Hannemann-Tamàs1, Uwe Naumann2, Wolfgang Marquardt1
1RWTH Aachen, Aachener Verfahrenstechnik - Prozesstechnik, Turmstrasse 46, 52062 Aachen
2RWTH Aachen, STCE, Süsterfeldstraße 65, 52072 Aachen
We introduce AC-SAMMM (The AaChen platform for Structured Automatic
Manipulation of Mathematical Models), a new software infrastructure
for efficient transformation and evaluation of expressions and their higher-order
derivatives.
We describe the way this software can be used to perform automatically the
translation of a model written in an equation-oriented environment such as
Modelica into a subset of C/C++ and the generation of the model's higher-order
derivative code by Algorithmic differentiation (AD) techniques. The
generated C++ files are then automatically compiled into a highly optimized dynamic
library. Together with the CAPE-OPEN based C++ interface ESO (an
acronym for Equation Set Object) an easy to handle back end to any C++-based
subroutine exists that provides very robust and efficient drivers and functions
to access the model and its derivatives.
The derivatives are generated, using the derivative code compiler (dcc), an
AD tool which provides source code transformation for a restricted but numerically
relevant subset of C/C++. dcc can be applied repeatedly to its own
output, to generate derivative codes of arbitrary order. It is possible to generate
tangent-linear and adjoint code with dcc using for example features such as
activity analysis, to-be-recorded analysis and vector mode.
Several case studies are presented and they show that our platform performs very
well even for large-scale nonlinear systems (up to 2000 stiff DAE's) concerning
generation-time of higher-order derivatives, compile- and evaluation-time. The
AC-SAMMM infrastructure has been interfaced with the AVT.PT developed integrator
NIXE with 2nd-order sensitivity capabilities, and can be used with
state-of-the-art NLP solvers to solve a restricted class of multistage optimal
control problems.