Implicit Structural Analysis of Multimode DAE Systems
Analyse structurelle implicite des syst\`emes de DAE multimodes
Résumé
The Modelica mathematical modeling language, based on Differential Algebraic Equations (DAE), brings several specific issues that do not exist with modeling languages based on Ordinary Differential Equations. The main problem is the determination of the differentiation index and latent equations. Prior to generating simulation code and calling solvers, the compilation of a Modelica model requires a structural analysis step, which reduces the differentiation index to a level acceptable by numerical solvers. The Modelica language allows hybrid models with multiple modes, mode-dependent dynamics and state-dependent mode switching. These Multimode DAE (mDAE) systems are much harder to deal with. The main difficulties are (i) the combinatorial explosion of the number of modes, and (ii) the correct handling of mode switchings. The focus of this report is on the first issue, namely : How can one perform a structural analysis of an mDAE in all possible modes, without enumerating these modes? A structural analysis algorithmfor mDAE systems is presented, based on an implicit representation of the varying structure of an mDAE. It generalizes J. Pryce’s structural analysis method to the multimode case and uses Binary Decision Diagrams (BDD) to represent the mode-dependent structure of an mDAE. The algorithm determines, as a function of the mode, the set of latent equations, the leading variables and the state vector. This is then used to compute a mode-dependent block-triangular decomposition ofthe system, that can be used to generate simulation code with a mode-dependent scheduling of the blocks of equations.This report is an extended version of the homonym paper, published in the proceedings of the HSCC’20 conference.
Le langage de modélisation mathématique Modelica, basé sur les systèmes d'équations algebro-différentielles (Differential Algebraic Equations, ou DAE), présente des difficultés qui n’apparaissent pas dans la modélisation à base d'éequations différentielles ordinaires.Le problème principal consiste à déterminer l’indice de différentiation et les équations latentes d’un système. Lors de la compilation d’un modèle Modelica, un prérequis `à la génération de code de simulation et `a l’appel de solveurs est une étape d’analyse structurelle, qui réduit l’indice de différentiation à un niveau acceptable par les solveurs numériques.Le langage Modelica permet l’écriture de modèles hybrides, ou multimodes, dont la dynamique dépend du mode, et où les changements de mode sont conditionnés par les variables d’état. Ces DAE multimodes (mDAE) sont considérablement plus difficiles `a traiter, les obstacles principaux étant (i) l’explosion combinatoire du nombre de modes, et (ii) la prise en charge des changements de mode.Ce rapport se focalise sur le premier point: Comment effectuer l’analyse structurelle d’une mDAE en prenant en compte tous ses modes, mais sans énumérer ces derniers ? Un algorithme d’analyse structurelle de systèmes de mDAE est proposé; il s’appuie sur une représentationimplicite de la structure variable de la mDAE considéŕée. La méthode présentée généralise celle de Pryce au cas multimode, et utilise des Diagrammes de Décision Binaire (Binary Decision Diagrams, ou BDD) pour représenter la structure variable d’une mDAE. L’algorithme détermine l’ensemble des équations latentes, les variables de tête et le vecteur d’état, en tant que fonctions du mode. Ces informations permettent ensuite de décomposer le système en une forme triangulaire par blocs dépendant du mode. Cette dernière peut, par la suite, être utilisée pour générer du code de simulation efficace, en prenant en compte un ordonnancement des blocs d’équations qui dépend du mode. Ce rapport est une version étendue de l’article homonyme, publié dans les actes de la conférence HSCC’20.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...