pwrs.core.calc_v_y_sum#

pwrs.core.calc_v_y_sum.calc_v_y_sum(Vslack, nb, nl, f, Zb, Ybf, Ybt, Yd, Sd, pv, Pg, Vg, mpopt)[source]#

Solve radial power flow by the admittance summation method.

Mirrors MATPOWER’s calc_v_y_sum radial helper. It performs iterative backward/forward sweeps using equivalent admittances and current injections, optionally applies PV-bus voltage correction, and returns voltages, flows, slack power, iteration count, and convergence status.

Parameters:
  • Vslack (complex) – Slack-bus voltage.

  • nb (int) – Number of buses.

  • nl (int) – Number of branches.

  • f (array_like) – One-based parent-bus indices for each branch.

  • Zb (array_like) – Branch series impedances.

  • Ybf (array_like) – Branch shunt admittances at the from end.

  • Ybt (array_like) – Branch shunt admittances at the to end.

  • Yd (array_like) – Bus shunt admittances.

  • Sd (array_like) – Complex bus power demands.

  • pv (array_like) – One-based PV bus indices.

  • Pg (array_like) – Real generation at PV buses.

  • Vg (array_like) – Target voltage magnitudes at PV buses.

  • mpopt (dict) – MATPOWER options struct.

Returns:

(V, Qpv, Sf, St, Sslack, iterations, success).

Return type:

tuple