Skip to main content

Module dispatch

Module dispatch 

Source
Expand description

Which machine produced what reactive power.

A PV bus has one reactive injection and the solver decides it. When one machine holds that bus, that injection is the machine’s output and there is nothing to attribute. When six do — 62 of RealGrid’s 417 regulated buses, 2 of FullGrid’s 3 — the power flow is still right, but nothing says which machine is carrying the load.

That matters most exactly where it is least visible. ReactiveLimits clamps a bus at the summed capability of everything holding it, which is correct: the bus can produce what its machines jointly can. But a bus comfortably inside its summed limit can contain a machine that is not, with the others carrying it. Only a split shows that.

§What this is not

This changes no answer. It is attribution after the fact, not a constraint inside the solve. Every machine in the vendored corpus sits at the bus it regulates, so the bus is an ordinary PV bus, its injection is determined by the network, and the split is arithmetic on the result.

The genuinely different problem — several machines at different buses holding one remote bus — needs n−1 extra equations inside the Newton system (powsybl’s DISTR_Q) because each controller bus then has its own reactive unknown. No vendored fixture has that configuration, so it is not built here.

Structs§

BusDispatch
One bus’s machines, and what they could account for.
MachineDispatch
One machine’s share of the reactive power its bus produced.

Enums§

KeyBasis
How the shares were arrived at, so a reader can tell a considered split from an even one.

Functions§

allocate
Attributes each bus’s solved reactive injection to the machines holding it.
reactive_keys
The normalized split for one bus’s machines, and what it was derived from.