MAKE_VCORR Voltage Correction used in distribution power flow V_corr = make_vcorr(DD,pv,nb,nl,f,Zb) Calculates voltage corrections with current generators placed at PV buses. Their currents are calculated with the voltage difference at PV buses break points and loop impedances. The slack bus voltage is set to zero. Details can be seen in D. Rajicic, R. Ackovski and R. Taleski, "Voltage correction power flow," IEEE Transactions on Power Delivery, vol. 9, no. 2, pp. 1056-1062, Apr 1994. https://doi.org/10.1109/61.296308 See also RADIAL_PF.
0001 function V_corr = make_vcorr(DD,pv,nb,nl,f,Zb) 0002 %MAKE_VCORR Voltage Correction used in distribution power flow 0003 % 0004 % V_corr = make_vcorr(DD,pv,nb,nl,f,Zb) 0005 % 0006 % Calculates voltage corrections with current generators placed at PV 0007 % buses. Their currents are calculated with the voltage difference at PV 0008 % buses break points and loop impedances. The slack bus voltage is set to 0009 % zero. Details can be seen in 0010 % D. Rajicic, R. Ackovski and R. Taleski, "Voltage correction power flow," 0011 % IEEE Transactions on Power Delivery, vol. 9, no. 2, pp. 1056-1062, Apr 1994. 0012 % https://doi.org/10.1109/61.296308 0013 % 0014 % See also RADIAL_PF. 0015 0016 V_corr = zeros(nb,1); 0017 I = zeros(nb,1); 0018 I(pv) = DD; 0019 % backward sweep 0020 for k = nl:-1:2 0021 i = f(k); 0022 I(i) = I(i) + I(k); 0023 end 0024 % forward sweep 0025 for k = 2:nl 0026 i = f(k); 0027 V_corr(k) = V_corr(i) - Zb(k) * I(k); 0028 end