Skip to content
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

DC Power Flow feature added #251

Merged
merged 34 commits into from
Oct 7, 2019
Merged

Conversation

yunusozsahin
Copy link
Contributor

DC Power Flow feature added to the current version.

Transmission lines can be modelled with DC Power Flow model optionally.
Corresponding columns are added to example input. If the columns are left empty as default DCPF feature will be ignored.
This version is compatible with the previous version's input files.

Input:

  • Reactance: reactance (ohm) of transmission line is required to model a transmission with DCPF
  • Base Voltage: base voltage (kV) of transmission line is required to model a transmission with DCPF
  • Phase angle difference limit: phase angle difference can be limited with this column.

Output:
Phase Angle of Sites: Phase angle of sites, which were connected with DC Power Flow transmission lines, will be calculated.

+ identify.py: new mode 'dpf' (dc power flow) is added
+ transmission.py: add_transmission_dc function added
	this function  includes both transport model and dc power flow model constraints, variables, sets
+ transmission.py: transmission_balance function edited
+ transmission.py: transmission_cost function edited
+ mimo-example.xlsx: added admittance column under transmission sheet
+ runme.py: edited temporarily for fast debugging
…r_flow

# Conflicts:
#	urbs/features/transmission.py
unnecessary comment deleted from transmission tuple creation
transmission output rule is defined for all of the transmissions, with the exception (planned) that the efficiency of dc transmission lines are 1
investment cost and fix cost parameters are multiplied with 2 for dc transmission lines in the input file. no case switch for investment and fix costs between dc and tp transmission lines.
…ission sheet

added angle difference limit constraint to model
with difflimit parameter, angle difference between source and destination sites can be limited.
Efficiency of dc transmission lines should be 1
… function

Since absolute power flow value will not be minimized with C02 function as in cost, results may be wrong.
changed dc power flow formulation
backward compatibility bugs fixed
@sonercandas sonercandas requested a review from maledo July 21, 2019 10:13
Copy link
Contributor

@maledo maledo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this is a very complex but nice feature, I was wondering where the corresponding documentation is? Especially as the directionality of transmission lines is changing compared to the original sheet.

@@ -516,6 +516,15 @@ def pyomo_model_prep(data, timesteps):
# dictionaries for additional features
if m.mode['tra']:
m.transmission_dict = transmission.to_dict()
# DCPF transmission lines are bidirectional and do not have symmetry
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are DCPF bidirectional? How is that understandable for users?
And why is it then necessary to multiply by 2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The equation of DC power flow includes the voltage angle difference between source and destination sites. Depending on the values of voltage angles, the power flow can have a negative value, indicating the direction of the power flow. For this reason, a transmission line modelled with DC power flow is introduced as bidirectional.
The users can still give two separate transmission arcs for a transmission line as in the previous version but if the transmission line has reactances defined, one of the complementary arcs will be removed from the model remove_duplicate_transmission(). This way the users will not have to change any input method.
With the symmetry constraint for transmission lines, both of the transmission arcs of a transmission line must have the same total capacity installed. Which means, if a transmission capacity expansion takes place for an arc, it would cause an expansion in the complementary arc. Since the DCPF transmission lines do not have complementary arcs the fixed and investment costs would be halved. To prevent this error, fixed and investment prices for DCPF lines should be doubled before calculating the costs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the symmetry constraint for transmission lines, both of the transmission arcs of a transmission line must have the same total capacity installed. Which means, if a transmission capacity expansion takes place for an arc, it would cause an expansion in the complementary arc. Since the DCPF transmission lines do not have complementary arcs the fixed and investment costs would be halved. To prevent this error, fixed and investment prices for DCPF lines should be doubled before calculating the costs.

Alternatively, one might halve the costs for the non-DC transmission lines, if the input inv-cost reflects the actual cost of the transmission line (and not the rather unintuitive "half-cost" as it is now). We should discuss this at one point.

urbs/validation.py Outdated Show resolved Hide resolved
@yunusozsahin
Copy link
Contributor Author

User documentation will be included soon, listing required input, output and general feature information.

@lodersky lodersky merged commit 0a33671 into tum-ens:master Oct 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants