spine-tools / SpineOpt.jl

A highly adaptable modelling framework for multi-energy systems
https://www.tools-for-energy-system-modelling.org/
GNU General Public License v3.0
59 stars 14 forks source link

Implementation of PTDF based DC load flow #45

Closed spine-o-bot closed 3 years ago

spine-o-bot commented 3 years ago

In GitLab by @DillonJ on Aug 27, 2018, 10:48

Hi folks,

As discussed on our call - this might be challenge.

Using the PTDF approach, the flow on line, line is:
base_flow(line)=
sum(node,
ptdf(node,line) x net_injection(node)
)

As you can see, once I have all the PTDFs (which is a once-off calculation for a particular network), I just need one equation per line whose flow I want to know. All I need to know is the net injection at a specific node (generation less demand). I don't need a flow balance constraint for each node.

It would be nice in the model to be able to calculate line flows in this way without having to also trigger the balance equations for each node on the network (which may impact performance).

The same goes for N-1 Security constrained unit commitment. We calculate line outage distribution factors (LODFs) which is a once off for a specific network. Then, the post contingency flow on line line_m after the outage of line_c is:

post_contingecy_flow(line_m)=
base_flow(line_m) + base_flow(line_c) x lodf(line_c,line_m)

so again, we can calculate the post contingency flow on line_m for the outage of line_c without any node balance constraints and we only generate in the model one constraint for each monitored line, outaged line pair.

spine-o-bot commented 3 years ago

In GitLab by @DillonJ on Aug 27, 2018, 10:49

changed the description

spine-o-bot commented 3 years ago

In GitLab by @DillonJ on Aug 27, 2018, 10:52

changed the description

spine-o-bot commented 3 years ago

In GitLab by @Poncelet on Aug 27, 2018, 12:11

assigned to @mihlema

spine-o-bot commented 3 years ago

In GitLab by @mihlema on Sep 11, 2018, 07:05

Hi @DillonJ I agree with you. When e.g. a nodal representation is chosen, the nodal balance is obsolete. This should in my opinion be ensured when the function to apply the nodal balance is called (will work on that).

At the moment I am thinking of how we should implement e.g. the Network matrix A (LxN) that would have the dimension of trans and nodes. I am sure this will also trigger the discussion on the "double" transmissions e.g. trans(con,n_i,n_j) and trans(con,n_j,n_i). However, that is not my main remark here. Rather I am thinking about how to keep unambiguous assignment to the lines and nodes in the matrix. I would prefer having a matrix being accessible somehow like this: A["n_i,n_j","n_i"] and so on. If I see it correctly, it seems to be rather unpopular (or even impossible?) to index a matrix with custom names. To overcome this, we could use some kind of mapping matrix. Any thoughts on this?

spine-o-bot commented 3 years ago

In GitLab by @mihlema on Apr 23, 2020, 10:12

@DillonJ can this one be closed?

spine-o-bot commented 3 years ago

In GitLab by @mihlema on Jul 7, 2020, 11:56

closed this one - I think is has been resolved. re-open if necessary

spine-o-bot commented 3 years ago

In GitLab by @mihlema on Jul 7, 2020, 11:56

closed