electrical engineering end of semester project

profileALGuad
Three_BusNR_Task_1c.m

% Example Power Flow in a 3-bus Test System using Newton-Raphson method clear j = sqrt(-1); %---------Base Values ---------% kVLL=345; MVA3Ph=100; Zbase=kVLL^2/MVA3Ph; XL_km=0.376; % ohm/km at 60 Hz RL_km= 0.037; B_km=4.5; % B in micro-mho/km %---------Line Susceptances--------% B13_Micro_Mho=4.5*200; %200 km long B12_Micro_Mho=4.5*150; %150 km long B23_Micro_Mho=4.5*150; %150 km long %---------Line impedances------------% Z13_ohm=(RL_km+j*XL_km)*200; %200 km long Z12_ohm=(RL_km+j*XL_km)*150; %150 km long Z23_ohm=(RL_km+j*XL_km)*150; %150 km long %--------Shunt Capacitances----------% Zc12_ohm = -2*j/(B12_Micro_Mho * 10^-6); Zc13_ohm = -2*j/(B13_Micro_Mho * 10^-6); Zc23_ohm = -2*j/(B23_Micro_Mho * 10^-6); %------- line impedances in per unit--------% Z13=Z13_ohm/Zbase; Z12=Z12_ohm/Zbase; Z23=Z23_ohm/Zbase; %-------- susceptances in per unit----------% B13=B13_Micro_Mho*Zbase*10^-6; B12=B12_Micro_Mho*Zbase*10^-6; B23=B23_Micro_Mho*Zbase*10^-6; %--------Shunt Capacitances in per unit----------% Zc12 = Zc12_ohm/Zbase; Zc13 = Zc13_ohm/Zbase; Zc23 = Zc23_ohm/Zbase; %---------- YBUS Creation-------------% Y(1,1)=1/Z12 + 1/Z13+ 1/Zc12 + 1/Zc13; Y(1,2)=-1/Z12; Y(1,3)=-1/Z13; Y(2,1)=-1/Z12; Y(2,2)=1/Z12 + 1/Z23+ 1/Zc12 + 1/Zc23; Y(2,3)=-1/Z23; Y(3,1)=-1/Z13; Y(3,2)=-1/Z23; Y(3,3)=1/Z13 + 1/Z23+ 1/Zc13 + 1/Zc23; Y, % Print Y=G+jB Admittance Matrix %----------Conductance Values------------% G(1,1)=real(Y(1,1)); G(1,2)=real(Y(1,2)); G(1,3)=real(Y(1,3)); G(2,1)=real(Y(2,1)); G(2,2)=real(Y(2,2)); G(2,3)=real(Y(2,3)); G(3,1)=real(Y(3,1)); G(3,2)=real(Y(3,2)); G(3,3)=real(Y(3,3)); %--------Susceptance Values----------% B(1,1)=imag(Y(1,1)); B(1,2)=imag(Y(1,2)); B(1,3)=imag(Y(1,3)); B(2,1)=imag(Y(2,1)); B(2,2)=imag(Y(2,2)); B(2,3)=imag(Y(2,3)); B(3,1)=imag(Y(3,1)); B(3,2)=imag(Y(3,2)); B(3,3)=imag(Y(3,3)); %--------- Given Specifications in pu----------% V1MAG=1.0; ANG1=0; V2MAG=1.05; P2sp=2.0; P3sp=-5.0; Q3sp=-1.0; % -------------Calulate ANG2, V3MAG and ANG3---------------% % ----Solution Parameters----% Tolerance= 0.001; Iter_Max=10; %----- Initialization-------% Iter=0; i=0; ConvFlag=1; ANG2=0; ANG3=0; V3MAG=1.0; delANG2=0; delANG3=0; delMAG3=0; P12 = zeros(1,Iter_Max); Q12 = zeros(1,Iter_Max); P13 = zeros(1,Iter_Max); Q13 = zeros(1,Iter_Max); P21 = zeros(1,Iter_Max); Q21 = zeros(1,Iter_Max); P23 = zeros(1,Iter_Max); Q23 = zeros(1,Iter_Max); P31 = zeros(1,Iter_Max); Q31 = zeros(1,Iter_Max); P32 = zeros(1,Iter_Max); Q32 = zeros(1,Iter_Max); P1 = zeros(1,Iter_Max); P2 = zeros(1,Iter_Max); P3 = zeros(1,Iter_Max); Q1 = zeros(1,Iter_Max); Q2 = zeros(1,Iter_Max); Q3 = zeros(1,Iter_Max); %------ Start Iteration Process for N-R-------% while( ConvFlag==1 & Iter < Iter_Max) Iter=Iter+1; i=i+1; ANG2=ANG2+delANG2; ANG3=ANG3+delANG3; V3MAG=V3MAG+delMAG3; %------- Creation of Jacobian J--------% % J(1,1)=dP2/dAng2; Eq. 9-26; k=2, m=1,3 J(1,1)=V2MAG*(V1MAG*(-G(2,1)*sin(ANG2-ANG1)+B(2,1)*cos(ANG2-ANG1)) + V3MAG*(-G(2,3)*sin(ANG2-ANG3)+B(2,3)*cos(ANG2-ANG3))); % J(1,2)=dP2/dAng3; Eq. 9-27; k=2, j=3 J(1,2)=V2MAG*(V3MAG*(G(2,3)*sin(ANG2-ANG3)-B(2,3)*cos(ANG2-ANG3))); % J(1,3)=dP2/dMAG3; Eq. 9-29; k=2, j=3 J(1,3)=V2MAG*((G(2,3)*cos(ANG2-ANG3)+B(2,3)*sin(ANG2-ANG3))); % J(2,1)=dP3/dAng2; Eq. 9-27; k=3, j=2 J(2,1)=V3MAG*(V2MAG*(G(3,2)*sin(ANG3-ANG2)-B(3,2)*cos(ANG3-ANG2))); % J(2,2)=dP3/dAng3; Eq. 9-26; k=3, m=1,2 J(2,2)=V3MAG*(V1MAG*(-G(3,1)*sin(ANG3-ANG1)+B(3,1)*cos(ANG3-ANG1)) + V2MAG*(-G(3,2)*sin(ANG3-ANG2)+B(3,2)*cos(ANG3-ANG2))); % J(2,3)=dP3/dMAG3; Eq. 9-28; k=3, m=1,2 J(2,3)=2*G(3,3)*V3MAG + V1MAG*(G(3,1)*cos(ANG3-ANG1)+B(3,1)*sin(ANG3-ANG1)) + V2MAG*(G(3,2)*cos(ANG3-ANG2)+B(3,2)*sin(ANG3-ANG2)); % J(3,1)=dQ3/dAng2; Eq. 9-31; k=3, j=2 J(3,1)=V3MAG*(V2MAG*(G(3,2)*cos(ANG3-ANG2)-B(3,2)*sin(ANG3-ANG2))); % J(3,2)=dQ3/dAng3; Eq. 9-30; k=3, m=1,2 J(3,2)=V3MAG*(V1MAG*(G(3,1)*cos(ANG3-ANG1)+B(3,1)*sin(ANG3-ANG1)) + V2MAG*(G(3,2)*cos(ANG3-ANG2)+B(3,2)*sin(ANG3-ANG2))); % J(3,3)=dQ3/dMAG3; Eq. 9-32; k=3, m=1,2 J(3,3)=- 2*B(3,3)*V3MAG + V1MAG*(G(3,1)*sin(ANG3-ANG1)-B(3,1)*cos(ANG3-ANG1)) + V2MAG*(G(3,2)*sin(ANG3-ANG2)-B(3,2)*cos(ANG3-ANG2)); % ---------Bus Voltages--------% V(1,1)=V1MAG*exp(j*ANG1); V(2,1)=V2MAG*exp(j*ANG2); V(3,1)=V3MAG*exp(j*ANG3); % -------Injected currents into Buses-------% Iinj=Y*V; %------- P and Q Injected into Buses--------% S(1,1)=V(1,1)*conj(Iinj(1)); S(2,1)=V(2,1)*conj(Iinj(2)); S(3,1)=V(3,1)*conj(Iinj(3)); % -----Mismatch at PQ and PV buses-------% Mismatch(1,1)=P2sp-real(S(2,1)); Mismatch(2,1)=P3sp-real(S(3,1)); Mismatch(3,1)=Q3sp-imag(S(3,1)); % -------calculate new delta values for ANG2, ANG3, and MAG3------& del=inv(J)*Mismatch; delANG2=del(1); delANG3=del(2); delMAG3=del(3); % -------Calculate Power Flow on the Transmission Lines-------% P12(i)=real(V(1,1)*conj(((V(1,1)-V(2,1))/Z12)+V(1,1)/Zc12)); Q12(i)=imag(V(1,1)*conj(((V(1,1)-V(2,1))/Z12)+V(1,1)/Zc12)); % at Bus 1 P13(i)=real(V(1,1)*conj(((V(1,1)-V(3,1))/Z13)+V(1,1)/Zc13)); Q13(i)=imag(V(1,1)*conj(((V(1,1)-V(3,1))/Z13)+V(1,1)/Zc13)); % at Bus 1 P21(i)=real(V(2,1)*conj(((V(2,1)-V(1,1))/Z12)+V(2,1)/Zc12)); Q21(i)=imag(V(2,1)*conj(((V(2,1)-V(1,1))/Z12)+V(2,1)/Zc12)); % at Bus 2 P23(i)=real(V(2,1)*conj(((V(2,1)-V(3,1))/Z23)+V(2,1)/Zc23)); Q23(i)=imag(V(2,1)*conj(((V(2,1)-V(3,1))/Z23)+V(2,1)/Zc23)); % at Bus 2 P31(i)=real(V(3,1)*conj(((V(3,1)-V(1,1))/Z13)+V(3,1)/Zc13)); Q31(i)=imag(V(3,1)*conj(((V(3,1)-V(1,1))/Z13)+V(3,1)/Zc13)); % at Bus 3 P32(i)=real(V(3,1)*conj(((V(3,1)-V(2,1))/Z23)+V(3,1)/Zc23)); Q32(i)=imag(V(3,1)*conj(((V(3,1)-V(2,1))/Z23)+V(3,1)/Zc23)); % at Bus 3 P1(i)=real(S(1,1)); P2(i)=real(S(2,1)); P3(i)=real(S(3,1)); Q1(i)=imag(S(1,1)); Q2(i)=imag(S(2,1)); Q3(i)=imag(S(3,1)); if max(abs(Mismatch)) > Tolerance, ConvFlag=1; else ConvFlag=0; end end J, % Print Final Jacobian Matrix ANG2DEG=ANG2*180/pi, ANG3DEG=ANG3*180/pi, V3MAG, %-------Display Power Flows on the buses---------% k=1; fprintf('\n %s','Flows on Line 1-2') fprintf('\n %s %s \n', 'Iter ', ' P12 Q12 P21 Q21 ') for k=1:i fprintf(' %2d %7.4f %7.4f %7.4f %7.4f \n', k, P12(k), Q12(k) ,P21(k), Q21(k)) %i=i-1; end k=1; fprintf('\n %s','Flows on Line 1-3') fprintf('\n %s %s \n', 'Iter ', ' P13 Q13 P31 Q31 ') for k=1:i fprintf(' %2d %7.4f %7.4f %7.4f %7.4f \n', k, P13(k), Q13(k) ,P31(k), Q31(k)) %i=i-1; end k=1; fprintf('\n %s','Flows on Line 2-3') fprintf('\n %s %s \n', 'Iter ', ' P23 Q23 P32 Q32 ') for k=1:i fprintf(' %2d %7.4f %7.4f %7.4f %7.4f \n', k, P23(k), Q23(k) ,P32(k), Q32(k)) %i=i-1; end k=1; fprintf('\n %s','Net P,Q at Buses') fprintf('\n %s %s \n', 'Iter ', ' P1 Q1 P2 Q2 P3 Q3 ') for k=1:i fprintf(' %2d %7.4f %7.4f %7.4f %7.4f %7.4f %7.4f \n', k, P1(k), Q1(k), P2(k), Q2(k), P3(k), Q3(k)) %i=i-1; end