Open library for thermal power plant simulation
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
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
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 email@example.com.
You can browse the full library documentation from this link.
A general description of the library and on the modelling principles can be found in the papers:
- F. Casella, A. Leva, "Modelling of distributed thermo-hydraulic processes using Modelica", Proceedings of the MathMod '03 Conference, Wien , Austria, February 2003.
- F. Casella, A. Leva, "Modelica open library for power plant simulation: design and experimental validation", Proceedings of the 2003 Modelica Conference, Linköping, Sweden, November 2003, pp. 41-50. (Available online)
- F. Casella, A. Leva, "Simulazione di impianti termoidraulici con strumenti object-oriented", Atti convegno ANIPLA Enersis 2004, Milano, Italy, April 2004 (in Italian).
- F. Casella, A. Leva, "Object-oriented library for thermal power plant simulation", Proceedings of the Eurosis Industrial Simulation Conference 2004 (ISC-2004), Malaga, Spain, June 2004.
- F. Casella, A. Leva, "Simulazione object-oriented di impianti di generazione termoidraulici per studi di sistema", Atti convegno nazionale ANIPLA 2004, Milano, Italy, September 2004 (in Italian).
- Francesco Casella and Alberto Leva, “Modelling of Thermo-Hydraulic Power Generation Processes Using Modelica”. Mathematical and Computer Modeling of Dynamical Systems, vol. 12, n. 1, pp. 19-33, Feb. 2006. Online.
- Francesco Casella, J. G. van Putten and Piero Colonna, “Dynamic
Simulation of a Biomass-Fired Power Plant: a Comparison Between Causal
and A-Causal Modular Modeling”. In Proceedings of 2007 ASME International Mechanical Engineering Congress and Exposition, Seattle, Washington, USA, Nov. 11-15, 2007, paper IMECE2007-41091 (Best paper award).
Other papers about the library and its applications:
- F. Casella, F. Schiavo, "Modelling and Simulation of Heat Exchangers in Modelica with Finite Element Methods", Proceedings of the 2003 Modelica Conference, Linköping, Sweden, 2003, pp. 343-352. (Available online)
- A. Cammi, M.E. Ricotti, F. Casella, F. Schiavo, "New modelling strategy for IRIS dynamic response simulation", Proc. 5th International Conference on Nuclear Option in Countries with Small and Medium Electricity Grids, Dubrovnik, Croatia, May 2004.
- A. Cammi, F. Casella, M.E. Ricotti, F. Schiavo, "Object-oriented Modelling for Integral Nuclear Reactors Dynamic Simulation", Proceedings of the International Conference on Integrated Modeling & Analysis in Applied Control & Automation, Genova, Italy, October 2004.
- Antonio Cammi, Francesco Casella, Marco Ricotti and Francesco
Schiavo, “Object-Oriented Modeling, Simulation and Control of the IRIS
Nuclear Power Plant with Modelica”. In Proceedings 4th International Modelica Conference, Hamburg, Germany,Mar. 7-8, 2005, pp. 423-432. Online.
- A. Cammi, F. Casella, M. E. Ricotti, F. Schiavo, G. D. Storrick,
"Object-oriented Simulation for the Control of the IRIS Nuclear Power
Plant", Proceedings of the IFAC World Congress, Prague, Czech Republic, July 2005
- Francesco Casella and Francesco Pretolani, “Fast Start-up of a
Combined-Cycle Power Plant: a Simulation Study with Modelica”. In Proceedings 5th International Modelica Conference, Vienna, Austria, Sep. 6-8, 2006, pp. 3-10. Online.
- Francesco Casella, “Object-Oriented Modelling of Two-Phase Fluid Flows by the Finite Volume Method”. In Proceedings 5th Mathmod Vienna, Vienna, Austria, Feb. 8-10, 2006.
- Andrea Bartolini, Francesco Casella, Alberto Leva and Valeria
Motterle, “A Simulation Study of the Flue Gas Path Control System in a
Coal-Fired Power Plant”. In Proceedings ANIPLA International Congress 2006, Rome, Italy,vNov. 13-15, 2006.
- Francesco Schiavo and Francesco Casella, “Object-oriented modelling
and simulation of heat exchangers with finite element methods”. Mathematical and Computer Modeling of Dynamical Sytems, vol. 13, n. 3, pp. 211-235, Jun. 2007. Online.
- Laura Savoldi Richard, Francesco Casella, Barbara Fiori and Roberto
Zanino, “Development of the Cryogenic Circuit Conductor and Coil (4C)
Code for thermal-hydraulic modelling of ITER superconducting coils”. In Presented at the 22nd International Cryogenic Engineering Conference ICEC22, Seoul, Korea, July 21-25, 2008.
- Francesco Casella, “Object-Oriented Modelling of Power Plants: a Structured Approach”. In Proceedings of the IFAC Symposium on Power Plants and Power Systems Control, Tampere, Finland, July 5-8, 2009.
- Laura Savoldi Richard, Francesco Casella, Barbara Fiori and Roberto
Zanino, “The 4C code for the cryogenic circuit conductor and coil
modeling in ITER”. Cryogenics, vol. 50, n. 3, pp. 167-176, Mar 2010. Online.
- Antonio Cammi, Francesco Casella, Marco Enrico Ricotti and Francesco
Schiavo, “An object-oriented approach to simulation of IRIS dynamic
response”. Progress in Nuclear Energy, vol. 53, n. 1, pp. 48-58, Jan. 2011. Online.
- Francesco Casella and Piero Colonna, “Development of a Modelica
dynamic model of solar supercritical CO2 Brayton cycle power plants for
control studies”. In Proceedings of the Supercritical CO2 Power Cycle Symposium, Boulder, Colorado, USA, May 24-25, 2011, pp. 1-7. Online.
- Roberto Bonifetto, Francesco Casella, Laura Savoldi Richard and
Roberto Zanino, “Dynamic modeling of a SHe closed loop with the 4C
code”. In Transactions of the Cryogenic Engineering Conference - CEC: Advances in Cryogenic Engineering, Spokane, Washington, USA, Jun. 13-17, 2011, pp. 1-8.
- Roberto Zanino, Roberto Bonifetto, Francesco Casella and Laura
Savoldi Richard, “Validation of the 4C code against data from the HELIOS
loop at CEA Grenoble”. Cryogenics, vol. 0, pp. 1-6, 2012. In press; available online 6 May 2012. Online.
- Francesco Casella and Piero Colonna, “Dynamic modelling of IGCC power plants”. Applied Thermal Engineering, vol. 35, pp. 91-111, 2012. Online.
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:
- Use of Modelica 3.2.1 revision 2 and Modelica Standard Library
3.2.1, ensuring full compatibility with all compliant Modelica tools
- Tested with Dymola and OpenModelica.
- Use of stream connectors, compatible with the Modelica.Fluid library, allowing multiple-way connections (see paper).
- Use of the homotopy operator for improved convergence of steady-state initialization problems(see paper).
- Improved Flow1D models with embedded replaceable heat transfer
models, allowing a much easier customization of heat transfer
- Many bug fixes
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.
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
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
- New PowerPlants package, containing a library of high-level reusable
components for the modelling of combined-cycle power plants, including
full models that can be simulated.
- New examples cases in the Examples package.
- New components in the Electrical package, to model the generator-grid connection by the swing equation
- Three-way junctions (FlowJoin and FlowSplit) now have an option to
describe unidirectional flow at each flange. This feature can
substantially enhance numerical robustness and simulation performance in
all cases when it is known a priori that no flow reversal will occur.
- The Flow1D and Flow1D2ph models are now restricted to positive flow
direction, since it was found that it is not possible to describe flow
reversal consistently with the average-density approach adopted in this
library. For full flow reversal support please use the Flow1Dfem model,
which does not have any restriction in this respect.
- A bug in Flow1D and Flow1D2ph has been corrected, which caused
significant errors in the mass balance under dynamic conditions; this
was potentially critical in closed-loop models, but has now been
- The connectors for lumped- and distribute-parameters heat transfer
with variable heat transfer coefficients have been split: HThtc and
DHThtc now have an output qualifier on the h.t.c., while HThtc_in and
DHThtc_in have an input qualifier. This was necessary to avoid incorrect
connections, and is also required by tools to correctly checked if a
model is balanced. This change should have no impact on most
Version 2.0 (10 Jun 2005)
- The new Modelica 2.2 standard library is used.
- The ThermoPower library is now based on the Modelica.Media standard
library for fluid property calculations. All the component models use a
Modelica.Media compliant interface to specify the medium model. Standard
water and gas models from the Modelica.Media library can be used, as
well as custom-built water and gas models, compliant with the
- Fully functional gas components are now available, including model
for gas compressors and turbines, as well as compact gas turbine unit
- Steady-state initialisation support has been added to all dynamic models.
- Some components are still under development, and could be changed in the final 2.0 release:
- Moving boundary model for two-phase flow in once-through evaporators.
- Stress models for headers and turbines.
Version 1.2 (18 Nov 2004)
- Valve and pump models restructured using inheritance.
- Simple model of a steam turbine unit added (requires the Modelica.Media library).
- CISE example restructured and moved to the
- Preliminary version of gas components added in the
- Finite element model of thermohydraulic two-phase flow added.
- Simplified models for the connection to the power system added in the
Version 1.1 (15 Feb 2004)
- No default values for parameters whose values must be set explicitly by the user.
- Description of the meaning of the model variables added.
Accumulator models added.
- More rational geometric parameters for
Flow1D model corrected to avoid numerical problems when the phase transition boundaries cross the nodes.
Flow1D2phDB model updated.
Flow1D2phChen models with two-phase heat transfer added.
Version 1.0 (20 Oct 2003)
- First release in the public domain
The ThermoPower package is licensed by Politecnico di Milano under the Modelica License 2.
Copyright © 2002-2014, Politecnico di Milano.