-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Co tra dis #309
Open
sonercandas
wants to merge
145
commits into
tum-ens:CoTraDis_
Choose a base branch
from
bereba:CoTraDis
base: CoTraDis_
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Co tra dis #309
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added modes for on/off and minimum working load processes (and potentially also for combined heat and power)
Added cost type 'Start-up'. Added onoff_dict and start_price_dict (when onoff mode is active). Made min_fraction_dict, r_in_min_fraction and r_out_min_fraction active only if the minfraction mode is active. Added cap_block_dict - for the expansion blocks of processes Added tra_block_dict (when tra mode is active), sto_block_c and sto_block_p when sto is active - for the expansion blocks of transmission and storage
Added pro_cap_new_block_tuples Replaced pro_maxgrad_tuples and the related constraints with pro_rampupgrad_tuples and pro_rampdowngrad_tuples and their respective constraints Added the variable cap_unit for processes expansion Replaced add_time_variable_efficiency with add_advanced_processes (for tve, onoff and minfraction (and chp)) Eliminated pro_partial_tuples and their respective constraints and put them in AdvancedProcesses.py Added the def_new_capacity_units constraint for the expansion of processes with expansion blocks Added the 'Start-up' costs rule
Throughput also gets in the result excel file
Same as in output.py -> throughput gets exported into excel
Same as in output.py -> the throughput gets exported to the result excel file
Deactivated the saving of the solution as an HDF5 format (duality problem for the investment costs since adding the on/off option)
Added sto_block_c_tuples and sto_block_p_tuples Added cap_sto_c_unit and cap_sto_câp_unit variables Added def_new_cap_sto_c and def_new_cap_sto_p constraints
Added tra_block_tuples Added cap_unit_tra variables (two times) Added def_cap_tra_new constraint (two times, rule only once)
Replaced TimeVarEff with AdvancedProcesses
Changed name Replaced add_time_variable_efficiency with add_advanced_processes Modules: I. tve: same as before + the adapted constraints from onoff II. onoff: Tuples: pro_on_off_tuples (with input and output), pro_partial_on_off_tuples (with input and output), pro_rampup_start_tuples (for a defined start-time), pro_rampup_divides_minfraction_output_tuples, pro_rampup_not_divides_minfraction_output_tuples, pro_rampup_bigger_minfraction_output_tuples (the three cases for output ramp up), pro_start_up_tuples (for start-up costs). Variables: on_off, start_up Constraints: res_throughput_by_on_off_lower, res_throughput_by_on_off_upper (for linking tau and on_off), def_process_on_off_input, def_process_on_off_output, def_partial_process_on_off_input, def_partial_process_on_off_output, res_starting_rampup (for start ramp), res_output_minfraction_rampup + partial equivalent, res_output_minfraction_rampup_rampup + partial equivalent, res_output_rampup + partial equivalent (the three cases for output ramp-up), res_start_ups (for registering a start-up) III. minfraction: Tuples: pro_minfraction_tuples (with output), pro_partial_tuples (with input and output) (all moved from model.py) Constraints: res_throughput_by_capacity_min, def_partial_process_input, def_partial_process_output (all moved from model.py) (IV. CHP)
Replaced maxgrad with ramp up, ramp down and start ramp
Replaced max-grad with ramp-up-grad and ramp-down-grad and added starting-time
Added start-price and cap-block
Added capacity blocks for storage and transmission.
Moved process start price from technical parameters
Moved process start price to economic parameters
Start up costs, omicron (on_off), no description
Added documentation for omicron and start-ups
Replaced pro_maxgrad_tuples with pro_rampupgrad_tuples, pro_rampdown_tuples and pro_rampup_start_tuples.
Added the documentation for pro_tuples subtypes (pro_minfraction_tuples, pro_partial_tuples, pro_on_off_tuples, pro_on_off_tuples, pro_partial_on_off_tuples.
Added outputs: still need to do the description for output rampup
Added documentation for the output ramping tuples
Forgot spaces and points
Added tra_block_tuples with description
Added capacity and power block tuples for storage with description
Added units for new capacities for processes, transmission and storage. To add description!!
Added def_cap_tra_new with definition
part load image
Part load.png image
Images
working images
images
corrected image address
typos
table typo
typos
Forgot the empty tuple m.pro_rampup_start_tuples = pyomo.Set( within=m.stf * m.sit * m.pro, doc='Processes with different starting ramp up gradient')
Update AdvancedProcesses.py
Separated the equations limiting the throughput for minimum load and part load behaviors
typos
…o 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: - adjusted package versions and deprecated code to adapted MIQCP environment - changed buysell indexing in code to be able to use same processes for different locations analogously to supim comtype - edited deprecated code in pyomoio.py - enabled demand shifting between scenarios with crossscenario data - introduced scenario function to run all 4 scenarios at once
Edited Documentation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.