tum-ens / urbs

A linear optimisation model for distributed energy systems
GNU General Public License v3.0
177 stars 132 forks source link

CoTraDis module for coupling transmission and distribution systems #304

Closed sonercandas closed 2 years ago

sonercandas commented 2 years ago

CO-optimization of TRAnsmission and DIStribution systems as developed in the master thesis of Beneharo Reveron Baecker (@BeneharoRB): "Implementation of a novel energy system model coupling approach to co-optimize transmission and active distribution systems", 2021

Adjustments to couple transsmission & distribution system data (1), to enable the consideration of reactive power and voltage magnitudes with a new OPF linearization at distribution system level (2) and to reduce the computational complexity with a typeperiod approach combined with timeseries aggregation methods (3):

  1. Distribution data are merged with the transmission data (editing mainly in transdisthelper.py):

    • approach allows to choose the microgrid types and their number in the excel input sheet - two parameter lists are defined: selection list & multiplicator list
    • the distribution grid is constructed with microgrid modules (excel input sheets) and the selection list
    • capacities, commodities, demand, areas & voltage are scaled with the multiplicator list (base voltage is scaled with the root function of the multiplicator)
    • additional transmission lines are modelled for the reactive power
    • reactive output ratios are implemented for processes at distribution system sites
    • concatenation of all transmission and distribution subsystem data - automatic indexing of each subsystem
  2. ACPF is enabled applying the LinDistFlow model (editing mainly in transmission.py & model.py):

    • derivation of general AC code from DC code structure
    • definition of AC transmission tuples & sets to apply all relevant existing rules
    • implementation of new LinDistFlow model constraints (active and reactive power flows are related to the voltage magnitudes)
    • coupling of P & Q with apparent power flow transmission line constraint
    • implementation of a voltage rule to hold magnitude within defined permissible voltage range
    • implementation of a set containing all slack buses (bus at interface) and introduction of slackbus voltage (& slackbus angle - not mandatory in LinDistFlow but nice to have) constraints
    • enabling of ACPF also for systems without microgrids (adjustments in runfunctions.py and in transdisthelper.py in add_reactive_output_ratios to delete duplicated process commodities also when ACPF is desired without microgrids)
  3. Enable Typeperiod with time series aggregation method (editing mainly in typeperiod.py)

    • implementation of typeday approach according to the urbs branch of Daniel Zinsmeister and changed for typeweek consideration
    • the time series aggregation module (tsam) from Kotzur, L., Markewitz, P., Robinius, M., & Stolten, D. (2018) is integrated into the urbs model primarily within the typeperiod.py module to be able to choose typeweeks with machine learning algorithms
    • new sets, rules and constraints are introduced to enable seasonal storage within tsam
    • cyclicity constraint is adjusted
    • timseries input number for tsam is reduced by only processing unique timeseries
    • postpone demand shifting after tsam to increase number of unique timeseries

Other: