Structural analysis in Julia for dynamic systems in OpenModelica
Peer reviewed, Journal article
Published version
View/ Open
Date
2019Metadata
Show full item recordCollections
Original version
Linköping Electronic Conference Proceedings. 2019, (170), 17-25. 10.3384/ecp2017017Abstract
In control theory for dynamic systems, the information about observability and controllability of states plays a key role to evaluate the possibility to observe states from outputs, and use inputs to move states to a desired position, respectively. The automatic determination of observability and controllability is possible, in particular for linear models where typically observability and controllability gramians are considered. In the case of large scale systems, e.g., complex models of regional energy systems, standard analysis becomes challenging. For large scale systems, structural analysis based on directed graphs is an interesting alternative: structural observability (or: controllability) is a necessary requirement for actual observability (or: controllability). Directed graphs can be set up directly for linear models or extracted from nonlinear models. Modelica is a suitable language for describing large scale models, but does not support graph algorithms. One possibility is to integrate the Modelica model into a language supporting graph algorithms, e.g., Julia: this integration can be done using package OMJulia which works with the free tool OpenModelica. OMJulia does not give direct access to the nonlinear model in Modelica, but a linear model approximation can be extracted and used for setting up the system graph. In this study, an experimental implementation of automated structural analysis is done in Julia using the LightGraphs.jl package. As an example, this structural analysis is tested on hydropower models of different complexity that are modelled in OpenModelica using our in-house hydropower Modelica library — OpenHPL, where different models for hydropower systems are assembled.