Conference article

Structural analysis in Julia for dynamic systems in OpenModelica

Liubomyr Vytvytskyi
Department of Electrical engineering, Information Technology and Cybernetics, University of South-Eastern Norway, Porsgrunn, Norway

Bernt Lie
Department of Electrical engineering, Information Technology and Cybernetics, University of South-Eastern Norway, Porsgrunn, Norway

Download article

Published in: Proceedings of The 60th SIMS Conference on Simulation and Modelling SIMS 2019, August 12-16, Västerås, Sweden

Linköping Electronic Conference Proceedings 170:3, s. 17-25

Show more +

Published: 2020-01-24

ISBN: 978-91-7929-897-5

ISSN: 1650-3686 (print), 1650-3740 (online)


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.


observability, controllability, structural analysis, graph theory


S. Boyd and L. Vandenberghe. Introduction to Applied Linear Algebra. Cambridge University Pr., 2018. ISBN 1316518965.

N. Deo. Graph Theory with Applications to Engineering and Computer Science. Dover Publications, 2017. ISBN 9780486820811.

J. Lunze. Feedback control of large scale systems. Prentice-Hall international series in systems and control engineering. Prentice-Hall, 1992. ISBN 9780133183535.

Magamage Anushka Sampath Perera. State estimation and optimal control of an industrial copper electrowinning. PhD thesis, University College of Southeast Norway, Faculty of Technology, Kongsberg, Norway, 2016.

C. Rackauckas and Q. Nie. Differentialequations.jl – a performant and feature-rich ecosystem for solving differential equations in julia. Journal of Open Research Software, 5(1), 2017. doi:10.5334/jors.151.

J. Revels, M. Lubin, and T. Papamarkou. Forward-mode automatic differentiation in julia. arXiv:1607.07892 [cs.MS], 2016. URL

Dan Simon. Optimal State Estimation: Kalman, H8, and Nonlinear Approaches. John Wiley & Sons, 2006.

Jean-Jacques E Slotine and W. Li. Applied nonlinear control. Prentice-Hall International Editions. Prentice-Hall, Englewood Cliffs, N.J, 1991.

D. D. Šiljak. Large-Scale Dynamic Systems: Stability and Structure. Dover Civil and Mechanical Engineering Series. Dover Publications, 2007. ISBN 9780486462851.

D. D. Šiljak. Decentralized Control of Complex Systems. Dover Books on Electrical Engineering Series. Dover Publications, 2011. ISBN 9780486486147.

L. Vytvytskyi and B. Lie. Comparison of elastic vs. inelastic penstock model using OpenModelica. In Proceedings of the 58th Conference on Simulation and Modelling (SIMS 58) Reykjavik, Iceland, September 25th–27th, 2017, number 138, pages 20–28. Linköping University Electronic Press, Linköpings Universitet, 2017. doi:10.3384/ecp1713820.

L. Vytvytskyi and B. Lie. Mechanistic model for Francis turbines in OpenModelica. IFAC-PapersOnLine, 51(2):103 –108, 2018a. doi:10.1016/j.ifacol.2018.03.018.

L. Vytvytskyi and B. Lie. Linearization for Analysis of a Hydropower Model using Python API for OpenModelica. In Proceedings of the 59th Conference on Simulation and Modelling (SIMS 59) Oslo, Norway, September 26th–28th, 2018, 2018b.

Citations in Crossref