EnergyModelsFlex

EnergyModelsFlexModule

EnergyModelsFlex is a Julia package that extends the EnergyModelsX energy system modeling framework with additional node types that capture different aspects of flexibility in energy systems.

This package provides a series of technology node types for EnergyModelsX enabling energy and process flexibility modeling.

source

What is flexibility in energy systems?

Flexibility in energy systems refers to the ability to adapt generation, consumption, or conversion in response to variability in supply and demand—especially with growing shares of intermittent renewable sources like wind and solar. Flexibility can be implemented in several forms:

  • Temporal flexibility: shifting electricity consumption or production across time (e.g. demand response, storage).

  • Input flexibility: using different fuels or resources to meet the same service (e.g. fuel-switching boilers).

  • Operational flexibility: including start-up/shutdown constraints, minimum running times, or part-load efficiency.

  • Network and conversion flexibility: controlling flows across interconnected energy carriers (e.g. heat and electricity).

EnergyModelsFlex introduces custom nodes that allow modelers to represent these dimensions of flexibility in a structured, modular way.


Implemented flexible node types

This package provides several node types that extend the EnergyModelsX interface:

Source Nodes

  • PayAsProducedPPA: A source with contractual constraints typical for renewable power purchase agreements (PPA).

Sink Nodes

Network Nodes

  • MinUpDownTimeNode: Models units with startup/shutdown constraints and minimum uptime/downtime.
  • ActivationCostNode: Includes additional input costs on startup (e.g. ignition fuel).
  • LimitedFlexibleInput: Restricts the share of individual input fuels in a multi-input conversion process.
  • Combustion: Enforces full energy balances including residual heat losses.

Storage

  • StorageEfficiency: Allows modeling of time- and state-dependent storage efficiency losses.

Manual outline

How to guides

Library outline