electrical engineering end of semester project

ALGuad
Three_BusNR_Task_1a.m

% Example Power Flow in a 3-bus Test System using Newton-Raphson method clear j = sqrt(-1); % ---------- Input line impedances ------------- % Z = [0 0.0047 + 0.0474i 0.0062 + 0.0632i 0.0047 + 0.0474i 0 0.0047 + 0.0474i 0.0062 + 0.0632i 0.0047 + 0.0474i 0]; %---------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 %------- 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; %---------- YBUS Creation-------------% Y(1,1)=1/Z12 + 1/Z13; Y(1,2)=-1/Z12; Y(1,3)=-1/Z13; Y(2,1)=-1/Z12; Y(2,2)=1/Z12 + 1/Z23; Y(2,3)=-1/Z23; Y(3,1)=-1/Z13; Y(3,2)=-1/Z23; Y(3,3)=1/Z13 + 1/Z23; 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,length(Z)); % Q12 = zeros(1,length(Z)); % P13 = zeros(1,length(Z)); % Q13 = zeros(1,length(Z)); % P21 = zeros(1,length(Z)); % Q21 = zeros(1,length(Z)); % P23 = zeros(1,length(Z)); % Q23 = zeros(1,length(Z)); % P31 = zeros(1,length(Z)); % Q31 = zeros(1,length(Z)); % P32 = zeros(1,length(Z)); % Q32 = zeros(1,length(Z)); % % P1 = zeros(1,length(Z)); % P2 = zeros(1,length(Z)); % P3 = zeros(1,length(Z)); % Q1 = zeros(1,length(Z)); % Q2 = zeros(1,length(Z)); % Q3 = zeros(1,length(Z)); %------------------ 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)); Q12(i)=imag(V(1,1)*conj((V(1,1)-V(2,1))/Z12)); % at Bus 1 P13(i)=real(V(1,1)*conj((V(1,1)-V(3,1))/Z13)); Q13(i)=imag(V(1,1)*conj((V(1,1)-V(3,1))/Z13)); % at Bus 1 P21(i)=real(V(2,1)*conj((V(2,1)-V(1,1))/Z12)); Q21(i)=imag(V(2,1)*conj((V(2,1)-V(1,1))/Z12)); % at Bus 2 P23(i)=real(V(2,1)*conj((V(2,1)-V(3,1))/Z23)); Q23(i)=imag(V(2,1)*conj((V(2,1)-V(3,1))/Z23)); % at Bus 2 P31(i)=real(V(3,1)*conj((V(3,1)-V(1,1))/Z13)); Q31(i)=imag(V(3,1)*conj((V(3,1)-V(1,1))/Z13)); % at Bus 3 P32(i)=real(V(3,1)*conj((V(3,1)-V(2,1))/Z23)); Q32(i)=imag(V(3,1)*conj((V(3,1)-V(2,1))/Z23)); % at Bus 3 P1(i)=real(S(1,1)); Q1(i)=imag(S(1,1)); P2(i)=real(S(2,1)); Q2(i)=imag(S(2,1)); P3(i)=real(S(3,1)); Q3(i)=imag(S(3,1)); %--------Display voltage and P,Q values at each iteration-------% % fprintf('\n %s %2d %s \n', 'Iter ',Iter, ' Vreal Vimag Vmag Vangle P Q ') % for i = 1:length(Z) % vitermag = abs(v(i)); % viterang = (180./pi)*atan2(imag(v(i)),real(v(i))); % fprintf(' %s %2d %7.4f %7.4f %7.4f %7.4f %7.4f %7.4f \n',' Bus ',i, real(v(i)), imag(v(i)), vitermag, viterang, P(i), Q(i) ) % end 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 \n', ' P12 Q12 P21 Q21 ') for k=1:i fprintf(' %7.4f %7.4f %7.4f %7.4f \n', 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 \n', ' P13 Q13 P31 Q31 ') for k=1:i fprintf(' %7.4f %7.4f %7.4f %7.4f \n', 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 \n', ' P23 Q23 P32 Q32 ') for k=1:i fprintf(' %7.4f %7.4f %7.4f %7.4f \n', 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 \n', ' P1 Q1 P2 Q2 P3 Q3 ') for k=1:i fprintf(' %7.4f %7.4f %7.4f %7.4f %7.4f %7.4f \n', P1(k), Q1(k), P2(k), Q2(k), P3(k), Q3(k)) %i=i-1; end