Algorithm 529: Permutations To Block Triangular Form [F1]
ACM Transactions on Mathematical Software (TOMS)
Types and programming languages
Types and programming languages
Principles of Object-Oriented Modeling and Simulation with Modelica 2.1
Principles of Object-Oriented Modeling and Simulation with Modelica 2.1
Static balance checking for first-class modular systems of equations
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Hi-index | 0.00 |
Computer aided modeling and simulation of complex physical systems, using components from multiple application domains, such as electrical, mechanical, and hydraulic, have in recent years witnessed a significant growth of interest. In the last decade, equation-based object-oriented (EOO) modeling languages, (e.g. Modelica, gPROMS, and VHDL-AMS) based on acausal modeling using Differential Algebraic Equations (DAEs), have appeared. With such languages, it is possible to model physical systems at a high level of abstraction by using reusable components.A model in an EOO language needs to have the same number of equations as unknowns. A previously unsolved problem concerning this property is the efficient detection of over- or under-constrained models in the case of separately compiled models.This paper describes a novel technique to determine over- and under-constrained systems of equations in models, based on a concept called structural constraint delta. In many cases it is also possible to locate the source of the constraint-problem. Our approach makes use of static type checking and consists of a type inference algorithm. We have implemented it for a subset of the Modelica language, and successfully validated it on several examples.