v0.2.0 - Clausius’ Circus (January, 15, 2020)#

TESPy Clausius’ Circus includes many back end adjustments for future development. Additionally, some new features have been implemented improving the usage of the software. Due to changes in the API, version 0.2.0 will not be compatible with older versions of TESPy!

New Features#

  • Implemented a new component “cycle_closer”. This component may serve as substitute for a sink/source or splitter/merge combination in closed cycle simulations (PR #107).

  • Added optical efficiency to the “solar_collector”. The incoming radiation E no longer represents the actual absorption but the radiation on the collector surface area (PR #110).

  • Parameters local_design and local_offdesign are now also available for network exports and imports (PR #109).

  • Busses, components and connections are now equipped with printout attribute. For example, if you specify myconn.set_attr(printout=False) the results of the specified connection will not be printed by the print_results method of your network. This is especially useful, if you have a large network and only want to print the results at the most important points (PR #126).

  • It is possible to place custom characteristic lines and maps in the HOME/.tespy/data folder and import these for your TESPy scripts. Have a look at the documentation for more information (PR #118).

  • If the network check fails due to component inlets or outlets being connected to more than one connection at a time, all connections are printed for easier network topology debugging (PR #135).

Documentation#

  • Full review of online documentation (PR #112).

  • Full review of the examples repository (PR #46 of oemof_examples).

  • Plots of default characteristic lines and maps are generated automatically on documentation build (PR #139).

Parameter renaming#

  • New name for cogeneration_unit: combustion_engine (PR #105).

  • New name for subsys_interface: subsystem_interface (PR #107).

  • The module import shortcuts (from tespy import ...) for components (cmp), connections (con), helpers (hlp), logger (logger), networks (nwk), network_reader (nwkr) are no longer supported (PR #108)! We instead implemented new shortcuts instead for tespy.networks and tespy.components modules (PR #118).

  • The method set_printoptions for the tespy.networks.networks.network class is not available anymore. Use yournetwork.set_attr(iterinfo=True/False) in future (PR #109).

  • Parameter interface for sinks and sources has been removed (PR #109).

  • The method for loading networks from the network_reader module has been renamed from load_nwk to load_network (PR #118).

Testing#

  • Improved doc-test for class tespy_fluid (PR #109).

  • Add doc-test for fluid_structure function of tespy.tools.helpers (PR #109).

  • Reworked a lot of examples in the components API-documentation (PR #109).

  • Update software tests (PR #111).

  • Add value limit test for newton-algorithm (PR #129).

Bug fixes#

  • Bus value specification uses is_set instead of val_set as the component properties data container is used (39ca830).

  • Parameters local_design and local_offdesign are now also available for network exports and imports (PR #109).

  • Busses and characteristics are not exported, if none are used in the network. The network_reader can now handle missing bus.csv, char_line.csv and char_map.csv (PR #127).

  • Some parameters of class combustion_engine have been printed out twice in the value range check (PR #135).

Other changes#

  • Adjust logging levels for grouped component parameter initialisation (PR #111).

  • Implement pep8speaks (PEP8 checker) in GitHub repository (PR #131).

  • The subsystem architecture has been simplified. Your connections and components are saved to dictionaries to make accessing the individual properties much easier (PR #126). For a use case of subsystems, have a look at the district heating example.

  • Change the specification of set value for dc_simple class from val_set to is_set (PR #138).

  • Move the default characteristic function plots to the tespy.data module documentation (PR #138).

Contributors#

  • Francesco Witte (@fwitte)

  • @MarBrandt

  • @maltefritz

  • @jfreissmann

  • @stianchris

  • @FranziPl

Examples#

Removed default import shortcuts

tespy 0.1.x

from tespy import cmp, cmp_char, con, hlp, logger, nwk, nwkr, subsys

tespy 0.2.x (example imports)

from tespy.components import heat_exchanger, turbine
from tespy.connections import connection, bus, ref
from tespy.networks import network, load_network
from tespy.tools import char_line, char_map
from tespy.tools import logger

Renaming components

tespy 0.1.x

from tespy import cmp
chp = cmp.cogeneration_unit('combined heat and power')
IF = cmp.subsys_interface('subsystem interface')

tespy 0.2.x

from tespy.components import combustion_engine, subsystem_interface
chp = combustion_engine('combined heat and power')
IF = subsystem_interface('subsystem interface')

Renaming tespy.networks functionalities

tespy 0.1.x

from tespy import nwkr
mynetwork = nwkr.load_nwk('path/to/exported/networkfiles')
mynetwork.set_printoptions(print_level='none')
mynetwork.set_printoptions(print_level='info')

tespy 0.2.x

from tespy.networks import load_network
mynetwork = load_network('path/to/exported/networkfiles')
mynetwork.set_attr(iterinfo=False)
mynetwork.set_attr(iterinfo=True)

Component characteristic specification

tespy 0.1.x

from tespy import cmp, hlp
turb = cmp.turbine('turbine')
x = [0.50, 0.75, 1.00, 1.25]
y = [0.90, 0.98, 1.00, 0.99]
char = hlp.dc_cc(is_set=True, x=x, y=y)
turb.set_attr(eta_s_char=char)

tespy 0.2.x

from tespy.components import turbine
from tespy.tools import char_line
turb = turbine('turbine')
x = [0.50, 0.75, 1.00, 1.25]
y = [0.90, 0.98, 1.00, 0.99]
char = dc_cc(is_set=True, func=char_line(x, y))
turb.set_attr(eta_s_char=char)