measure_sensitivity#

popo.network.measure_sensitivity(dss, name, base_multiplier=1.0, step_multiplier=2.0)#

Measure how far the worst bus voltage moves when the loading is raised.

The circuit is solved twice under a global load multiplier, so every load scales proportionally and the perturbation does not change the mix of demand across the feeder. Doubling is large enough to be measured above solver tolerance and small enough to remain convergent on the networks this was built for.

Parameters:
  • dss (Any) – An opendssdirect module with a compiled circuit.

  • name (str) – Name to record the measurement under.

  • base_multiplier (float) – Load multiplier of the reference solve.

  • step_multiplier (float) – Load multiplier of the perturbed solve.

Return type:

VoltageSensitivity

Returns:

A VoltageSensitivity.

Raises:

ValueError – If the multipliers are equal, or if raising the multiplier did not raise the substation demand. The second case means the perturbation did not take, and reporting a sensitivity from it would divide by a number near zero and yield an arbitrarily large figure.