Structural Methods for handling mode changes in multimode DAE systems
Albert Benveniste, Benoit Caillaud, Yahao Chen, Khalil Ghorbal, Mathias Malandain
TL;DR
The paper tackles the fundamental challenge of mode changes in multimode DAE systems by developing a mathematically grounded hot restart mechanism. It fuses structural analysis (incidence graphs, Σ-method, Dulmage–Mendelsohn decomposition) with impulse handling via a carefully constructed mode-change array and a rescaling framework that assigns impulse orders to variables and equations. The authors prove correctness and provide algorithmic procedures to synthesize restart conditions that are deterministic, consistent, and invariant-preserving, with bounds (K_*,K^*) guiding the search for solutions. They demonstrate the approach on a cup-and-ball-like example and discuss scalability and future work toward modular, all-modes-at-once analysis for Modelica-style multimode DAEs.
Abstract
Hybrid systems are an important concept in Cyber-Physical Systems modeling, for which multiphysics modeling from first principles and the reuse of models from libraries are key. To achieve this, DAEs must be used to specify the dynamics in each discrete state (or mode in our context). This led to the development of DAE-based equational languages supporting multiple modes, of which Modelica is a popular standard. Mode switching can be time- or state-based. Impulsive behaviors can occur at mode changes. While mode changes are well understood in particular physics (e.g., contact mechanics), this is not the case in physics-agnostic paradigms such as Modelica. This situation causes difficulties for the compilation of programs, often requiring users to manually smooth out mode changes. In this paper, we propose a novel approach for the hot restart at mode changes in such paradigms. We propose a mathematical meaning for hot restarts (such a mathematical meaning does not exist in general), as well as a combined structural and impulse analysis for mode changes, generating the hot restart even in the presence of impulses. Our algorithm detects at compile time if the mode change is insufficiently specified, in which case it returns diagnostics information to the user.
