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

improve slack distribution among multiple gens at slack bus #63

Open
rdzman opened this issue Mar 11, 2019 · 2 comments
Open

improve slack distribution among multiple gens at slack bus #63

rdzman opened this issue Mar 11, 2019 · 2 comments
Assignees

Comments

@rdzman
Copy link
Member

rdzman commented Mar 11, 2019

Currently, when there are multiple generators at the slack bus, MATPOWER's power flow considers the first generator at the bus to be the slack generator, taking up all of the slack. However, I'm not sure if this convention is documented anywhere and it is probably not the behavior intuitively expected by most users.

I propose to update MATPOWER's handling of slack allocation among multiple generators at a slack bus in the following way:

  1. If area participation factors (APF column of gen matrix) are provided, split the slack according to the proportions indicated by the relative participation factors.
  2. If area participation factors are not provided (i.e. set to 0), the slack will be distributed according to the size of the generator. I.e. for identical generators it will be distributed evenly.

This also needs to be mentioned explicitly in the documentation.

@rdzman rdzman self-assigned this Mar 11, 2019
@rdzman rdzman changed the title clarify slack distribution among multiple gens at slack bus improve slack distribution among multiple gens at slack bus Mar 11, 2019
@rwl
Copy link
Collaborator

rwl commented Mar 13, 2019

The output of the slack generator often serves as a convenient way to quickly compare power flow results. For example, in Andes there is an effort to use the output from MATPOWER, via Oct2PYPOWER, to verify power flow results. Both of the suggestions made seem to be worthwhile improvements over the current approach. However, given that this would represent a breaking change for MATPOWER v7 it might be worth starting a thread on the mailing list so that this could be discussed further with the user community.

@rdzman
Copy link
Member Author

rdzman commented Mar 13, 2019

Good point. I'll just mention that the motivation for this change is to remove ambiguity in the handling of slack for such cases, in order to enhance the reproducibility of results.

Feel free to discuss on the mailing list (see this thread), or here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants