Thermal Engineering Systems in Python

TESPy stands for “Thermal Engineering Systems in Python” and provides a powerful simulation toolkit for thermal engineering plants such as various types of power plants (including organic rankine cycles), heat pumps or refrigeration machines. Due to its flexibility it is actually possible to model any kind of thermal energy conversion process, this also includes energy balancing of industrial processes, district heating or HVAC systems. It is part of the Open Energy Modelling Framework oemof and can be used as a standalone package.

_images/logo_tespy_big.svg _images/logo_tespy_big_darkmode.svg

With the TESPy package you are able to calculate stationary operation in order to design the process of your plant. From that point it is possible to predict the offdesign behavior of your plant using underlying characteristics for each of the plants components. For now, the package includes basic components, such as turbines, pumps, compressors, heat exchangers, pipes, mixers and splitters as well as some advanced components (derivatives of heat exchangers, drum).

Everybody is welcome to use and/or develop TESPy. Contribution is already possible on a low level by simply fixing typos in TESPy’s documentation or rephrasing sections which are unclear. If you want to support us that way please fork the TESPy repository to your own GitHub account and make changes as described in the GitHub guidelines: https://guides.github.com/activities/hello-world/

Key Features

  • Open Source

  • Generic thermal engineering applications

  • Extendable framework for the implementation of custom components, fluid property formulations and equations

  • Integration of optimization capabilities through an API to pygmo

  • Postprocessing features like exergy analysis and fluid property plotting

Quick installation

If you have a working Python3 environment, use pypi to install the latest tespy version.

pip install tespy

We provide more detailed installation instructions, too.

If you want to use the latest features, you might want to install the developer version. See this section for more information.

Getting into TESPy

For a good start on how TESPy works and how you can use it, we provide some basic and advanced tutorials in the User Guide section. The modules section provides you with in depth information on the different modules of TESPy.

Citation

The scope and functionalities of TESPy have been documented in a paper published in the Journal of Open Source Software with an Open-Access license. Download the paper from https://doi.org/10.21105/joss.02178 [1]. As TESPy is a free software, we kindly ask that you add a reference to TESPy if you use the software for your scientific work. Please cite the article with the BibTeX citation below.

BibTeX citation

@article{Witte2020,
    doi = {10.21105/joss.02178},
    year = {2020},
    publisher = {The Open Journal},
    volume = {5},
    number = {49},
    pages = {2178},
    author = {Francesco Witte and Ilja Tuschy},
    title = {{TESPy}: {T}hermal {E}ngineering {S}ystems in {P}ython},
    journal = {Journal of Open Source Software}
}

Additionally, you have the possibility to cite a specific version of TESPy to make your work reproducible. The source code of every version is published on zenodo. Find your version here: https://doi.org/10.5281/zenodo.2555866.

License

MIT License

Copyright (c) Francesco Witte

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.