We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5
EXP 6
TRANSIENT STABILITY ANALYSIS
clc; clear all; close all; if exist('Pm')~=1 Pm=input('Generator output power in p.u. Pm = '); else end if exist('E')~=1 E=input('Generator output power in p.u. E = '); else end if exist('V')~=1 V=input('Generator output power in p.u. V = '); else end if exist('X1')~=1 X1=input('Transfer Reactance before Fault in p.u. X1 = '); else end if exist('X2')~=1 X2=input('Transfer Reactance during Fault in p.u. X2 = '); else end if exist('X3')~=1 X3=input('Transfer Reactance after Fault in p.u. X3 = '); else end P1max=(E*V)/X1; P2max=(E*V)/X2; P3max=(E*V)/X3; delta=0:0.01:pi; P1=P1max*sin(delta); P2=P2max*sin(delta); P3=P3max*sin(delta); d0=asin(Pm/P1max); dmax=pi-asin(Pm/P3max); cosdc=(Pm*(dmax-d0)+P3max*cos(dmax)-P2max*cos(d0))/(P3max-P2max); if abs(cosdc)>1 fprintf('No critical clearing angle could be found.\n'); fprintf('System can remain stable during this disturbance\n\n'); return else end dc=acos(cosdc); if dc>dmax fprintf('No critical clearing angle could be found.\n'); fprintf('System can remain stable during this disturbance\n\n'); return else end Pmx=[0 pi-d0]*180/pi; Pmy=[Pm Pm]; X0=[d0 d0]*180/pi; Y0=[0 Pm]; Xc=[dc dc]*180/pi; Yc=[0 P3max*sin(dc)]; Xm=[dmax dmax]*180/pi; Ym=[0 P3max*sin(dmax)]; d0=d0*180/pi; dmax=dmax*180/pi; dc=dc*180/pi; X=(d0:1:dc); Y=P2max*sin(X*pi/180); Y1=P2max*sin(d0*180/pi); Y2=P2max*sin(dc*180/pi); X=[d0 X dc]; Y=[Pm Y Pm]; XX=dc:0.1:dmax; h=P3max*sin(XX*pi/180); XX=[dc XX dmax]; hn=[Pm h Pm] delta=delta*180/pi; if X2==inf fprintf('\n for this case tc can be found from analytical formula\n'); H=input('To find centre of intertia constant H, or (0 or skip)H= '); if H~=0 d0r=d0*pi/180; dcr=dc*pi/180; tc=sqrt(2*H*(dcr-d0r))/(pi*60*Pm); else end else end fprintf('Initial power angle=%7.3f\n',d0) fprintf('Maximum angle swing=%7.3f\n',dmax) fprintf('Critical clearing angle',dc) if X2==inf&&H~=0 fprintf('Critical clearing=%7.3fsec.\n\n',tc) else end h=figure,figure(h); fill(X,Y,'m') hold; fill(XX,hn,'c') plot(delta,P1,'-',delta,P2,'r-',delta,P3,'g-',Pmx,Pmy,'b- ',X0,Y0,Xc,Yc,Xm,Ym),grid title('Application of equal area criterion to a critically cleared system') xlabel('Power angle,degree') ylabel('Power per unit') text(5,1.07*Pm,'Pm') text(50,1.05*P1max,['Critical clearing angle=',num2str(dc)]) axis([0 180 0 1.1*P1max]) hold off;