Skip to content

v0.2.0 - Initial Release of flixOpt

Compare
Choose a tag to compare
@FBumann FBumann released this 02 Jul 14:49
· 1035 commits to main since this release

Initial Release of flixOpt

After being in development, this marks the first official release of flixOpt.
flixOpt and all its dependencies (including a solver) are now easily installable via pip (see README.md)
This release is a crucial part in preparation of a major new release with breaking changes, like new class names, module names and more.

API Changes

  • HiGHS-Solver API established - Open Source and faster than other open source solvers - https://highs.dev/#docs
  • Tutorial as Python Notebook added
  • Time-stamp labeling in .csv export of results enabled

New features

  • Limits per Time step for effects introduced
  • New Concept "exists" introduced.
    • This Attribute allows for multi-period investments.
    • Sets The upper limit for TS_Variables to 0 when Component or Flow does not exist.
    • The existence of flows is limited by the existence of the Component it is assigned to.
    • Vice versa, it's possible that a Flow does not yet exist while its component does (for ex. multiple grid connections).
    • The concept is introduced but, some aspects are not yet perfectly implemented.
  • str() and repr() methods added for major classes, which enables the printing of a system configuration for documentation and debugging purposes
  • Type Hints are added, improving readability and ease of use
  • New Module flixCompsExperimental.py with a experimental and early state implementation of a CHP-Plant with variable rate between heat and power

Bug fixes

  • Fixed onHoursSum_max & min in Flows
  • Fixed Segmented Modeling
  • Fixed max_rel in combination with no Investment in class Storage

Other changes

  • Proper tests are introduced for better and safer future developments

Known issues

  • onHoursSum_max & min are not yet working in Components (raises Error). Use Flow instead.
  • exists is still in early state:
    • on single flows does not work with segmentsOfFlows. use exists in Component
    • does not affect all properties that might be expected:
      • cFlow: on_valuesBeforeBegin, valuesBeforeBegin are still before the begin of the model, not at the time step before existence
      • cStorage: chargeState0_inFlowHours, charge_state_end_min, charge_state_end_max and fracLossPerHour are not affected by "exists". Only the available capacity is limited to 0

Contributors

Felix Bumann
Felix Panitz
Peter Stange