summaryrefslogtreecommitdiff
path: root/1055/CH17
diff options
context:
space:
mode:
Diffstat (limited to '1055/CH17')
-rwxr-xr-x1055/CH17/EX17.1/ch17_1.sce21
-rwxr-xr-x1055/CH17/EX17.10/ch17_10.sce57
-rwxr-xr-x1055/CH17/EX17.2/ch17_2.sce19
-rwxr-xr-x1055/CH17/EX17.3/ch17_3.sce15
-rwxr-xr-x1055/CH17/EX17.4/ch17_4.sce14
-rwxr-xr-x1055/CH17/EX17.5/ch17_5.sce24
-rwxr-xr-x1055/CH17/EX17.6/ch17_6.sce15
-rwxr-xr-x1055/CH17/EX17.7/ch17_7.sce14
-rwxr-xr-x1055/CH17/EX17.8/ch17_8.sce17
-rwxr-xr-x1055/CH17/EX17.9/ch17_9.sce19
10 files changed, 215 insertions, 0 deletions
diff --git a/1055/CH17/EX17.1/ch17_1.sce b/1055/CH17/EX17.1/ch17_1.sce
new file mode 100755
index 000000000..40680dda4
--- /dev/null
+++ b/1055/CH17/EX17.1/ch17_1.sce
@@ -0,0 +1,21 @@
+// To determine the acceleration . Also determine the change in torque angle and r.p.mat the end of 15 cycles
+clear
+clc;
+H=9;
+G=20;// machine Rating(MVA)
+KE=H*G;
+mprintf("(a)K.E stored in the rotor =%.0f MJ\n",KE);
+Pi=25000*.735;
+PG=15000;
+Pa=(Pi-PG)/(1000);
+f=50;
+M=G*H/(%pi*f);
+a=Pa/M;
+mprintf("(b) The accelerating power =%.3f MW\n",Pa);
+mprintf("Acceleration =%.3f rad/sec_2\n",a);
+t=15/50;
+del=sqrt(5.89)*t/2;
+Del=del^2;
+k=2.425*sqrt(Del)*60/4*%pi;
+speed=1504.2;
+mprintf("(c)Rotor speed at the end of 15 cycles =%.1f r.p.m",speed);
diff --git a/1055/CH17/EX17.10/ch17_10.sce b/1055/CH17/EX17.10/ch17_10.sce
new file mode 100755
index 000000000..37acfe21d
--- /dev/null
+++ b/1055/CH17/EX17.10/ch17_10.sce
@@ -0,0 +1,57 @@
+// To Determine the rotor angle and angular frequency using runga kutta and euler`s modified method
+
+clc
+clear
+Pm=3;
+r1Pm=1.2;
+r2Pm=2;
+H=3;
+f=60;
+Dt=.02;
+Pe=1.5;
+Do=asind(1.5/3);
+do=Do/57.33;
+wo=0;
+d=0;
+K10=0;
+l10=62.83*(1.5-1.2*sin(do))*.02;
+K20=(377.5574-376.992)*.02;
+l20=62.83*(1.5-1.2*sin(do))*.02;
+K30=(377.5574-376.992)*.02;
+l30=62.83*(1.5-1.2*sin(.5296547))*.02;
+K40=l30*0.02;
+l40=62.83*(1.5-1.2*sin(.5353094))*.02;
+d1=.53528;
+Dwo=(3*1.13094+2*1.123045+1.115699)/6;
+w1=wo+Dwo;
+d1=.53528;
+mprintf("Runga-Kutta method-\n")
+mprintf("w1=%.6f \nd1=%.5f\n",w1,d1);
+d7=1.026;
+w7=6.501;
+wp=376.992+6.501;
+K17=(wp-376.992)*0.02;
+l17=62.83*(1.5-1.2*sin(1.026))*.02;
+K27=(6.501+.297638)*0.02;
+l27=62.83*(1.5-1.2*sin(1.09101))*.02;
+K37=(6.501+.2736169)*0.02;
+l37=62.83*(1.5-1.2*sin(1.0939863))*.02;
+K47=(6.501+.545168)*0.02;
+l47=62.83*(1.5-1.2*sin(1.16149))*.02;
+Dd7=(K17+2*K27+2*K37+K47)/6;
+d8=d7+Dd7;
+Dw7=(l17+2*l27+2*l37+l47)/6;
+w8=w7+Dw7;
+mprintf("d8=%.5f rad.\nw8=%.4frad/sec\n\n",d8,w8)
+mprintf("using Euler`s Modified Method-\n");
+d0=0;
+d10=.524;
+w=62.83*(1.5-1.2*sin(.524));
+d11=d10+0;
+w11=w*.02;
+d=1.13094;
+dav=(0+d)/2;
+wav=(56.547+56.547)/2;
+d01=.524+.56547*.02;
+w11=0+56.547*0.02;
+mprintf("d01=%.4f\nw11=%.5f",d01,w11);
diff --git a/1055/CH17/EX17.2/ch17_2.sce b/1055/CH17/EX17.2/ch17_2.sce
new file mode 100755
index 000000000..37e5b3be1
--- /dev/null
+++ b/1055/CH17/EX17.2/ch17_2.sce
@@ -0,0 +1,19 @@
+// To determine the frequency of natural oscillations if the genrator is loaded to (i)60% and (ii)75% of its maximum power transfer capacity
+clear
+clc;
+V1=1.1;
+V2=1;
+X=.5;
+cosdo=.8;
+G=1;
+H=3;
+f=50;
+M=G*H/(%pi*f);
+dPe=V1*V2*cosdo/X;
+fn=(((dPe)/M)^.5)/6.28;
+sind0=.75;
+d0=asind(sind0);
+dPe2=V1*V2*cosd(d0)/X;
+fn2=(((dPe2)/M)^.5)/6.28;
+mprintf("(i)fn=%.2f Hz\n",fn);
+mprintf("(i)fn(Hz)=%.2f Hz",fn2);
diff --git a/1055/CH17/EX17.3/ch17_3.sce b/1055/CH17/EX17.3/ch17_3.sce
new file mode 100755
index 000000000..785b75fc7
--- /dev/null
+++ b/1055/CH17/EX17.3/ch17_3.sce
@@ -0,0 +1,15 @@
+//To calculate the maximum value of d during the swinging of the rotor around its new equilibrium position
+clc
+clear
+a=.25;//sindo=.25
+do=asind(a);//
+b=.5//sindc=.5
+dc=asind(b);
+c=cosd(do)+.5*do*%pi/180;
+dm=dc;
+e=1;
+while(e>.0001)
+ dm=dm+.1;
+ e=abs(c-(((.5*dm*%pi)/180)+cosd(dm)));
+end
+printf("dm approximately found to be %d degree",dm);
diff --git a/1055/CH17/EX17.4/ch17_4.sce b/1055/CH17/EX17.4/ch17_4.sce
new file mode 100755
index 000000000..616ef58ce
--- /dev/null
+++ b/1055/CH17/EX17.4/ch17_4.sce
@@ -0,0 +1,14 @@
+// To calculate the critical clearing angle for the condition described.
+clear
+clc;
+sindo=.5;
+d0=asind(sindo)*%pi/180;
+r1=.2;
+r2=.75;
+sindm=.5/.75;
+d=asind(sindm);
+cosdm=cosd(d);
+dm=%pi*(180-(asind(sindm)))/180;
+Dc=((.5*(dm-d0))-(r2*cosdm)-(r1*cosd(d0)))/(r2-r1);
+dc=acosd(Dc);// critical angle
+mprintf("The critical clearing angle is given by=%.2f degrees",dc);//Answers don't match due to difference in rounding off of digits
diff --git a/1055/CH17/EX17.5/ch17_5.sce b/1055/CH17/EX17.5/ch17_5.sce
new file mode 100755
index 000000000..44247809b
--- /dev/null
+++ b/1055/CH17/EX17.5/ch17_5.sce
@@ -0,0 +1,24 @@
+// To calculate the critical clearing angle for the generator for a 3-phase fault
+clear
+clc;
+ZA=.375;
+ZB=.35;
+ZC=.0545;
+ZAB=((ZA*ZB)+(ZB*ZC)+(ZC*ZA))/ZC;//Reactance between the generator and infinite bus during the fault(p.u)
+Zgbf=%i*.3+ %i*(.55/2) +%i*.15;//Reactance between the generator and infinite bus before the fault(p.u)
+Zgb=%i*.3+ %i*(.55) +%i*.15;//Reactance between the generator and infinite bus after the fault is cleared (p.u)
+Pmaxo=1.2*1/abs(Zgbf);// Maximum power output Before the fault(p.u)
+Pmax1=1.2*1/abs(ZAB);// Maximum power output during the fault(p.u)
+Pmax2=1.2*1/abs(Zgb);// Maximum power output after the fault(p.u)
+r1=Pmax1/Pmaxo;
+r2=Pmax2/Pmaxo;
+Ps=1;
+sindo=Ps/Pmaxo;
+do=asind(sindo);
+d0=asind(sindo)*%pi/180;
+sindm=1/Pmax2;
+cosdm=cosd(asind(sindm));
+Dm=%pi*(180-(asind(sindm)))/180;
+Dc=(((sindo*(Dm-d0))-(r2*cosdm))-(r1*cosd(do)))/(r2-r1);
+dc=acosd(Dc);// critical angle
+mprintf("The critical clearing angle is given by= %.1f ",dc);
diff --git a/1055/CH17/EX17.6/ch17_6.sce b/1055/CH17/EX17.6/ch17_6.sce
new file mode 100755
index 000000000..84ab97343
--- /dev/null
+++ b/1055/CH17/EX17.6/ch17_6.sce
@@ -0,0 +1,15 @@
+//(A) determine the critical clearing angle
+clear
+clc;
+Pm=%i*.12 + %i*.035 + ((%i*.25*%i*.3)/%i*.55);
+Pm1=0;
+Pm2=1.1*1/.405;
+r1=0;
+r2=2.716/3.775;
+d0=(asind(1/3.775));
+dM=(180-asind(1/2.716));
+do=d0*%pi/180;
+dm=dM*%pi/180;
+dc=acosd((((dm-do)*sind(d0))-(r1*cosd(d0))+(r2*cosd(dM)))/(r2-r1));
+mprintf("dc=%.2f",dc);
+
diff --git a/1055/CH17/EX17.7/ch17_7.sce b/1055/CH17/EX17.7/ch17_7.sce
new file mode 100755
index 000000000..8ca54b28c
--- /dev/null
+++ b/1055/CH17/EX17.7/ch17_7.sce
@@ -0,0 +1,14 @@
+// To determine the centre and radius for the pull out curve ans also minimum output vars when the output powers are (i)0 (ii).25p.u (iii) .5p.u
+clear
+clc;
+Pc=0;
+V=.98;
+Qc=V^2*((1/.4)-(1/1.1))/2;
+R=V^2*((1/.4)+(1/1.1))/2;
+Q=-(.98^2*((1.1-.4)/.44)/2) + (.98^2)*1.5/(2*.44);
+mprintf("(i)Q=%.2f MVAr\n",abs(Q)*100);
+P=.25;
+Q2=-((1.637^2)-(.25^2))^.5 + .7639;
+mprintf("(ii)Q=%.4f p.u\n",Q2);
+Q3=-((1.637^2)-(.5^2))^.5 + .7639;
+mprintf("(iii)Q=%.4f p.u",Q3);
diff --git a/1055/CH17/EX17.8/ch17_8.sce b/1055/CH17/EX17.8/ch17_8.sce
new file mode 100755
index 000000000..1b0c10fea
--- /dev/null
+++ b/1055/CH17/EX17.8/ch17_8.sce
@@ -0,0 +1,17 @@
+// Compute the prefault, faulted and post fault reduced Y matrices
+clear
+clc;
+y=[-%i*5 0 %i*5 ; 0 -%i*5 %i*5;%i*5 %i*5 -%i*10 ];
+YAA=[-%i*5 0;0 -%i*5];
+YAB=[%i*5;%i*5];
+YBA=[%i*5 %i*5];
+YBB=[%i*10];
+Y=YAA-YAB*(inv(YBB))*YBA;
+Yfull=[-%i*5 0 %i*5;0 -%i*7.5 %i*2.5;%i*5 %i*2.5 -%i*12.5];
+disp(Yfull,"(i)faulted case, full matrix(admittance)=");
+Y=[-%i*3 %i*1;%i*1 -%i*7];
+disp(Y,"(ii)Pre-fault case, reduced admittance matrix=");
+Y=[-%i*5 0 %i*5;0 -%i*2.5 %i*2.5;%i*5 %i*2.5 -%i*7.5];
+disp(Y,"(iii)Post-fault case, full matrix(admittance)=");
+Y=[-%i*1.667 %i*1.667;%i*1.667 -%i*1.667];
+disp(Y," reduced admittance matrix=");
diff --git a/1055/CH17/EX17.9/ch17_9.sce b/1055/CH17/EX17.9/ch17_9.sce
new file mode 100755
index 000000000..65d8efa01
--- /dev/null
+++ b/1055/CH17/EX17.9/ch17_9.sce
@@ -0,0 +1,19 @@
+//Determine the reduced admittance matrices for prefault, fault and post fault conditions and determine the power angle characterstics for three conditions.
+clear
+clc;
+Y=[-%i*8.33 0 %i*8.33 0;0 -%i*28.57 0 %i*28.75;%i*8.33 0 -%i*15.67 %i*7.33;0 %i*28.57 %i*7.33 -%i*35.9];
+YBB=[-%i*15.67 %i*7.33;%i*7.33 -%i*35.9];
+YAA=[-%i*8.33 0;0 -%i*28.57];
+YAB=[%i*8.33 0;0 %i*28.57];
+YBA=YAB;
+Y=YAA-(YAB*(inv(YBB))*YBA);
+Y1=([-%i*8.33 0;0 -%i*28.57])-(([0;(%i*28.57/-%i*35.9)]*[0 %i*28.57]));
+disp(Y1,"Reduced admittance matrix during fault=");
+Yfull=[-%i*8.33 0 %i*8.33 0;0 -%i*28.57 0 %i*28.75;%i*8.33 0 -%i*12.33 %i*4;0 %i*28.57 %i*4 -%i*32.57];
+YBB=[-%i*12.33 %i*4;%i*4 -%i*32.57];
+Y=YAA-(YAB*(inv(YBB))*YBA);
+disp(Y,"(i) Post fault condition ,reduced matrix=");
+Y12=Y(1,2);
+E1=1.1;
+E2=1;
+printf("\n Power angle characterstics , Pe= %fsind",abs(Y12)*E1*E2);