Structural Analysis of Multi-Mode DAE Systems
Résumé
Differential Algebraic Equation (DAE) systems constitute the mathematical model
supporting physical modeling languages such as Modelica, VHDL-AMS, or Simscape. Unlike ODEs,
they exhibit subtle issues because of their implicit latent equations and related differentiation
index. Multi-mode DAE (mDAE) systems are much harder to deal with, not only because of their
mode-dependent dynamics, but essentially because of the events and resets occurring at mode
transitions. Unfortunately, the large literature devoted to the numerical analysis of DAEs does not
cover the multi-mode case. It typically says nothing about mode changes. This lack of foundations
cause numerous difficulties to the existing modeling tools. Some models are well handled, others
are not, with no clear boundary between the two classes. In this paper we develop a comprehensive
mathematical approach to the structural analysis of mDAE systems which properly extends the
usual analysis of DAE systems. We define a constructive semantics based on nonstandard analysis
and show how to produce execution schemes in a systematic way.
Les systèmes de DAE multi-modes constituent le modèle mathématique sous-jacent à la modélisation de systèmes
physiques par des langages tels que Modelica. Ils sont de la forme "if guard_i do fi(the xj and derivatives of them) = 0"
où guard_i est un prédicat en les variables du système, servant de garde à l’équation fi(...) = 0. On associe aux systèmes de DAE mono-modes (c’est-à-dire les systèmes de DAE usuels) une notion d’index de différentiation, relié à l’existence de contraintes dites “cachées”, que l’on révèle par différentiation d’un ensemble bien choisi d’équations du système. L’index de différentation est alors le plus grand parmi les nombres minimaux de fois qu’il faut différentier chaque équation pour faire apparaitre toutes les contraintes cachées. Les systèmes de DAE d’index 2 sont délicats à simuler par les solveurs tandis que ceux d’index supérieur ou égal à 3 sont problématiques, voire impossibles à simuler. Malheureusement, les systèmes de DAE obtenus à partir de modèles Modelica peuvent être d’ordre élevé, d’autant plus lorsqu’ils sont en interaction avec un modèle représentant le logiciel qui les contrôle. L’analyse structurelle des systèmes de DAE est un prétraitement symbolique effectuant, entre autres, la réduction d’index, permettant ainsi le travail des solveurs dans des conditions satisfaisantes. Malheureusement, il n’existe pas de définition mathématique claire de ce qu’est l’analyse structurelle pour les systèmes multi-modes. En conséquence de quoi les compilateurs existants pour Modelica (et les langages de la même classe) traitent convenablement certains modèles mais en refusent d’autres, qui sont pourtant dotés de sens physique. De plus, il n’existe pas de caractérisation claire de la classe des modèles qui sont bien traités. Habituellement, on se contente de parler de l’index du système dans un mode particulier. Mais le problème est que ceci n’aide en rien à comprendre comment doivent les transitons entre modes être négociées, avec leurs actions de réinitialisation. Dans cet article nous développons une approche mathématique claire pour l’analyse structurelle des systèmes de DAE multi-modes. Notre approche repose sur l’utilisation de l’analyse non-standard, qui nous permet de regarder, pour l’analyse symbolique qu’est l’analyse structurelle, le système dynamique considéré comme étant à temps discret, avec un pas de temps infinitésimal.
Origine | Fichiers produits par l'(les) auteur(s) |
---|