-
Notifications
You must be signed in to change notification settings - Fork 17
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
Slack bus in EPF equivalent to a pair Reference bus + Generator in Dynamic simulation #132
Comments
It seems that solution 1 is to be preferred. |
I agree I prefer solution 1. Andrea also mentioned another possible solution at some point, namely the reference bus only setting the phase of the voltage. Was that dismissed? |
Using a p-theta node would not have significant usages, IMO. |
Yes, because it doesn't match the request (I undesrtood the point only after a call with @ceraolo ). This can be achived only by embed the slack node in the generator as EPF component, if the slack node is outside the generator it is no possible to use its power to automatically initialize the generator (at least with the current implementation of the EPF). |
The proposed solution actually does not work under OpenModelica because OMEdit does not updates the parameters pop-up window when a replaceable model is redeclared. |
Implemented by PR #138 (please see the PR comments) |
some additional features implemented by PR #140 |
some additional features implemented in PR #142 |
Info (in italian) for Doc Update: ho fatto diventare replaceable i componenti PF nel reference node, nella equivalent grid e nel generatore, i componenti di rimpiazzo consigliati (annotation choice) sono il bus generico PF per i primi due e lo slack bus per il generatore. In questo modo si può spostare lo slack node sul nodo di un generatore (come chiedeva Massimo). Il punto è poi come chiudere il cerchio, e qui si aprono mille possibilità. Se hai un controllo sul generatore con gli offset che calcolano all'indietro i set point per mantenere il PF dovresti essere già a posto (oggettivamente non ho provato), quello che ho provato a fare è stato mettere due offset attaccati direttamente al generatore (PmPu e ifPu) ed aggiungere due paia di equazioni iniziali attivabili tramite due flag. Il primo paio è nel generatore e impone che la potenza attiva e reattiva del generatore siano quelle dello slack node PF che sta nel suo nodo, ma questo tendenzialmente sbilancia la rete e quindi alla fine il refrence node deve compensare (e questo non piace agli elettrici come Massimo perché lo slack node è stato spostato dal reference node). Il secondo paio è nel reference node, se si attivano queste due gli offset sono ricalcolati in modo da rendere nulle le potenze attiva e reattiva del reference node, che è meglio digeribile dagli elettrici come Massimo. Di questo c'è un esempio nel test: PowerGrids.Electrical.Test.SynchronousMachine4WindingsPF. |
@ceraolo suggests that a fairly standard practice in grid modelling is to connect the slack node to a strong generator, so the configuration made possible by this ticket should be the reference one for systems that are not connected to an infinite grid. The currently implemented solution is not particularly user-friendly, as it requires to redeclare the EPF model of the generator to slack node and the EPF model of the ReferenceBus to Bus. This is not particularly intuitive and potentially error-prone, because one needs to understand redeclaration, and do them right. From an end-user perspective, the EPF should preferably "just work" with as minimal intervention as possible. We came up with a different solution, that would just require to set a Boolean parameter By default, all components (including SynchronousMachine) will have If you connect a generator to a reference bus, then you'll need to switch @ceraolo is this OK for you? |
Is common practice in the PF calculation to substitute a powerful node with a slack node, in order to avoid the iterative balancing of the network. In this scenario the slack node represents a generator big enough to supply the same power that is supplied by the slack node in the PF.
From the PowerGrids point of view this means that the EPF should substitute a
generator
(choosen by the user) with aSlackBus
(instead of aPVBus
) and theReferenceBus
with aBusPF
(insted of aSlackBus
).This behavior can be implemented in different ways, herebelow two possibilities:
to make replaceable the EPF component in both the
generator
and theReferenceBus
(default remainsPVBus
andSlackBus
respectively), by this way the user can choose the EPF behaviour by selecting the EPF component in the parameters dialog,to double the
generator
and theReferenceBus
models, by changing the EPF component, by this way the user can choose the EPF behaviour during the model building, by selecting the proper components in the library.The first way is the most simple to be implemented and avoids the replication of the models in the library, but from the user point of view is a more bit complicated to be learned and probably less intuitive.
The second way is probably more simple from the user point of view but less efficient from both the coding and the code maintenance point of view.
Personally I prefer the first way, I await comments before starting with the implementation...
@max-privato and @casella, can you provide comments and or suggestions?
The text was updated successfully, but these errors were encountered: