General Information

The ThermoPower library is an open-source Modelica library for the dynamic modelling of thermal power plants and energy conversion systems. It provides basic components for system-level modelling, in particular for the study of control systems in traditional and innovative power plants and energy conversion systems.

The libray has been under continuous development at Politecnico di Milano since 2002. It has been applied to the dynamic modelling of steam generators, combined-cycle power plants, III- and IV-generation nuclear power plants, direct steam generation solar plants, organic Rankine cycle plants, and cryogenic circuits for nuclear fusion applications. The main author is Francesco Casella, with contributions from Alberto Leva, Matilde Ratti, Luca Savoldelli, Roberto Bonifetto, Stefano Boni, Leonardo Pierobon, and many others. The library is licensed under the Modelica License 2. The library has been developed as a tool for research in the field of energy system control at the Dipartimento di Elettronica, Informazione e Bioingegneria of Politecnico di Milano and progressively enhanced as new projects were undertaken there. It has been released as open source for the benefit of the community, but without any guarantee of support or completeness of documentation.

The latest released version is 3.1 Beta 0. which uses Modelica 3.2 revision 2 and Modelica Standard Library 3.2.1. If you have used the development version of ThermoPower since 2011 to develop your models, then they should run with version 3.1 of the library with little or no modification.

At some point in the future, changes might be introduced to improve the handling of initial conditions, that could break your models developed with ThermoPower 3.1. These changes will be incorporated in version 3.2.

The library has been mainly developed using the tool Dymola, but it is designed to also run with any other tool that fully supports Modelica 3.2 revision 2 or later. The current coverage of the library by the latest nightly build of the OpenModelica compiler is reported here.

You can download the released versions from the GitHub mirror. The current development version of the source code can be checked out anonymously using an SVN client using this URL:


If you are running Windows, we recommend using the excellent TortoiseSVN to do so.

Please note that since 2013 the structure of the Flow1D models, which are the backbone of heat exchanger models, has been revised for greater flexibility and ease of use. New thermal ports are used and the heat transfer model is embedded inside the Flow1D model as a replaceable model. Old Flow1D models (with their thermal counterparts) have been kept in the library for backwards compatibility, but they are deprecated and should not be used to build new models. They are identified by an obsolete marker on the icon. Also the old source and sink components using the deprecated cardinality operator are kept for backwards compatibility, but have been replaced by new components using conditional input connectors.

If you want to get involved in the development, or you need some further information, please contact the main developer francesco.casella@polimi.it.


A general description of the library and on the modelling principles can be found in the papers:

Other papers about the library and its applications:

Release notes:

Version 3.1

This is a major new release, that has been in the making for 5 years. The new release is not compatible with 2.1. However, models built using the development version of the library after 2011 should compile with little or no adjustments. It has many new features:

Version 2.1 (6 Jul 2009)

The 2.1 release of ThermoPower contains several additions and a few bug fixes with respect to version 2.0. We tried to keep the new version backwards-compatible with the old one, but there might be a few cases where small adaptations could be required.

ThermoPower 2.1 requires the Modelica Standard Library version 2.2.1 or 2.2.2. It has been tested with Dymola 6.1 (using MSL 2.2.1) and with Dymola 7.1 (using MSL 2.2.2). It is planned to be usable also with other tools, in particular OpenModelica, MathModelica and SimulationX, but this is not possible with the currently released versions of those tools. It is expected that this should become at least partially possible within the year 2009.

ThermoPower 2.1 is the last major revision compatible with Modelica 2.1 and the Modelica Standard Library 2.2.x. The next version is planned to use Modelica 3.1 and the Modelica Standard Library 3.1. It will use use stream connectors, which generalize the concept of Flange connectors, lifting the restrictions that only two complementary connectors can be bound.

This is a list of the main changes with respect to v. 2.0

Version 2.0 (10 Jun 2005)

Version 1.2 (18 Nov 2004)

Version 1.1 (15 Feb 2004)

Version 1.0 (20 Oct 2003)

License agreement

The ThermoPower package is licensed by Politecnico di Milano under the Modelica License 2.

Copyright © 2002-2014, Politecnico di Milano.


Name Description
 System System wide properties and defaults
 Examples Application examples
 PowerPlants Models of thermoelectrical power plants components
 Gas Models of components with ideal gases as working fluid
 Water Models of components with water/steam as working fluid
 Thermal Thermal models of heat transfer
 Electrical Simplified models of electric power components
 Icons Icons for ThermoPower library
 Choices Choice enumerations for ThermoPower models
 Functions Miscellaneous functions
 Media Medium models for the ThermoPower library
 Units Types with custom units
 Test Test cases for the ThermoPower models

Generated at 2018-12-12T02:36:32Z by OpenModelicaOpenModelica 1.14.0~dev-8-g9eb6d39 using GenerateDoc.mos