• Stars
    star
    261
  • Rank 156,630 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Thermal Engineering Systems in Python (TESPy). This package provides a powerful simulation toolkit for thermal engineering plants such as power plants, district heating systems or heat pumps.

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 power plants, district heating systems or heat pumps. It is an external extension module within the Open Energy Modelling Framework and can be used as a standalone package.

With the TESPy package you are able to calculate stationary operation in order to design the process of thermal energy systems. From that point it is possible to simulate the offdesign behavior of your plant using underlying characteristics for each of the plants components. 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
  • Automatic model documentation in LaTeX for high transparency and reproducibility
  • Extendable framework for the implementation of custom components and component groups
  • Postprocessing features like exergy analysis and fluid property plotting
docs Documentation Status
tests tox pytest tox checks packaging Coverage Status
package
reference Software Paper in JOSS Release archive

Documentation

You can find the full documentation at readthedocs. Use the project site of readthedocs to choose the version of the documentation. Go to the download page to download different versions and formats (pdf, html, epub) of the documentation.

To get the latest news visit and follow our website.

Installing TESPy

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

pip install tespy

If you want to use the latest features, you might want to install the developer version. See section Developing TESPy for more information. The developer version is not recommended for productive use.

Get in touch

Online "Stammtisch"

We have decided to start a reoccurring "Stammtisch" meeting for all interested TESPy users and (potential) developers. You are invited to join us on every 3rd Monday of a month at 17:00 CE(S)T for a casual get together. The first meeting will be held at June, 20, 2022. The intent of this meeting is to establish a more active and well connected network of TESPy users and developers.

If you are interested, you can simply join the meeting at https://meet.jit.si/tespy_user_meeting. We are looking forward to seeing you!

User forum

We have implemented a discussion room on GitHub as user forum. If you have issues with setting up your model or any other question about using the software, you are invited to start a discussion there.

Examples

For a short introduction on how TESPy works and how you can use it, we provide an extensive user guide. You can download all python scripts of the examples and tutorials from this GitHub repository. They are included in the "tutorial" directory.

Citation

The scope and functionalities of TESPy have been documented in a paper published in the Journal of Open Source Software with an OpenAccess license. Download the paper from https://doi.org/10.21105/joss.02178. 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}
}

Furthermore, a paper on the exergy analysis feature has been published in the mdpi journal energies. You can download the pdf at https://doi.org/10.3390/en15114087. If you are using this feature specifically, you can reference it with the following BibTeX citation:

BibTeX citation:

@article{Witte2022,
    doi = {10.3390/en15114087},
    year = {2022},
    publisher = {The Open Journal},
    volume = {15},
    number = {11},
    article-number = {4087},
    issn = {1996-1073},
    author = {Witte, Francesco and Hofmann, Mathias and Meier, Julius and Tuschy, Ilja and Tsatsaronis, George},
    title = {Generic and Open-Source Exergy Analysis—Extending the Simulation Framework TESPy},
    journal = {Energies}
}

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

Copyright (c) 2017-2022 oemof developer group

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.

More Repositories

1

oemof-solph

A model generator for energy system modelling and optimisation (LP/MILP).
Python
252
star
2

feedinlib

This repository contains implementations of photovoltaic models to calculate electricity generation from a pv installation based on given solar radiation. Furthermore it contains all necessary pre-calculations.
Python
95
star
3

oemof

Open Energy Modelling Framework - Python toolbox for energy system modelling and optimisation
Python
79
star
4

demandlib

Creating heat and power demand profiles from annual values.
Python
46
star
5

oemof-examples

A collection of oemof examples and notebooks.
Jupyter Notebook
44
star
6

cydets

Cycle Detection in Time Series (CyDeTS). An algorithm to detect cycles in times series along with their respective depth-of-cycle (DoC) and duration.
Python
34
star
7

oemof-thermal

Thermal energy components for the Open Energy Modeling Framework (oemof).
Python
24
star
8

DHNx

District heating system optimisation and simulation models
Python
24
star
9

marketlib

Project to model the trading of energy to different markets using various power plant models
Python
8
star
10

oemof-visio

Visualisation package of oemof.
Python
6
star
11

oemof-network

Python
5
star
12

oemof-db

Open Energy Modelling Framework - An extension to use the oemof related postgis database (requires database access on oemof-server)
Python
5
star
13

oemof-tabular

Load oemof energy systems from tabular data sources.
Python
5
star
14

heat-pump-tutorial

oemof workshop on modeling heat pumps
Jupyter Notebook
5
star
15

oemof-tools

Tiny tools of the oemof project.
Python
3
star