Skip to content

v0.12.0

Choose a tag to compare

@hsteinacker-siz hsteinacker-siz released this 26 Sep 17:25
· 673 commits to master since this release

Key Features

Extended Outputs
Energy and temperature flows between components connected via busses can now be included in CSV and plot outputs. This makes it possible to directly analyse inter-component exchanges, not just component-level results. Options are available to export nothing, all excluding flows, all including flows, or a custom set (with preserved order).

New Component Models

  • Solar thermal collector (STC) for solar heat supply, including a solar radiation model that computes sun position and irradiance in a plane, with improved interpolation conserving energy and correctly handling sunrise and sunset.
  • Seasonal thermal energy storage (STES) with detailed stratification and loss behaviour.

Heat Pump Enhancements

  • New model_type with three modes:
    • simplified (constant efficiency),
    • inverter (optimised for partial load operation),
    • on-off (captures cycling losses).
  • Added standby electricity consumption and a minimum usage fraction to avoid unrealistic operation at very low loads.
  • Bypass behaviour now respects the actually demanded temperature.

Control Modules

  • negotiate_temperature: dynamically sets operating temperatures between components with flexible temperatues.
  • limit_cooling_input_temperature: restricts input temperature for electrolysers with STES.
  • check_src_to_snk and forbid_src_to_snk: new mechanisms to explicitly allow or block energy flows between specific source–sink pairs.
  • Control module loading refactored so new modules can be added without modifying core code.

Temperature Handling Rework

  • Minimum and maximum temperatures are now tracked in the MaxEnergy struct rather than interfaces.
  • Bus distribution and balancing functions revised to handle temperature-dependent flows more accurately.
  • Added a recalculation method for energy limits when conditions change.
  • Control-step order adjusted so components like STES and STC can determine temperatures correctly during control.
  • Electrolyser extended to properly handle temperature constraints of usable available capacities (UACs).

Other Changes

  • Output references: output_refs can now be dictionaries for multi-output components (ensures unique connections); list syntax still works but raises warnings when ambiguous.
  • Input syntax: separator for specific input/output channels changed to :, enabling spaces in medium names.
  • Losses/Gains: outputs now report losses as negative and gains as positive.
  • Order of operation: improved to cover circle-transformers (input and output on the same bus) and busses with minimum PLR set.
  • CLI: more graceful handling of Ctrl+c.
  • Profiles: better error reporting (including line numbers), robustness improvements, and bugfixes.
  • Scenarios: new stc_2_demands and p2h_stes_stc; updated multisector district example with STES.
  • Simulation parameters: new parameter epsilon added.
  • Storages: made more robust against different process/load orders; redundant functions removed.
  • General: all tests and scenarios adapted to the new syntax; documentation updated; multiple bugfixes across components.