diff options
author | priyanka | 2015-06-24 15:03:17 +0530 |
---|---|---|
committer | priyanka | 2015-06-24 15:03:17 +0530 |
commit | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch) | |
tree | ab291cffc65280e58ac82470ba63fbcca7805165 /2441 | |
download | Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2 Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip |
initial commit / add all books
Diffstat (limited to '2441')
82 files changed, 2143 insertions, 0 deletions
diff --git a/2441/CH1/EX1.1/Ex1_1.sce b/2441/CH1/EX1.1/Ex1_1.sce new file mode 100755 index 000000000..5f2292d9c --- /dev/null +++ b/2441/CH1/EX1.1/Ex1_1.sce @@ -0,0 +1,28 @@ +//exa 1.1
+clc;clear;close;
+format('v',6);
+B=100;//W(8Bulb)
+F=60;//W(2Fan)
+L=100;//W(2Light)
+LoadConnected=8*B+2*F+2*L;//W
+disp(LoadConnected,"(a) Connected Load (W)")
+//12 midnight to 5am
+demand1=1*F;//W
+//5am to 7am
+demand2=2*F+1*L;//W
+//7am to 9am
+demand3=0;//W
+//9am to 6pm
+demand4=2*F;//W
+//6pm to midnight
+demand5=2*F+4*B;//W
+DEMAND=[demand1 demand2 demand3 demand4 demand5]
+max_demand=max(DEMAND);
+disp(max_demand,"(b) Maximum demand (W)");
+df=max_demand/LoadConnected;//demand factor
+disp(df,"(c) Demand factor");
+E=demand1*5+demand2*2+demand3*2+demand4*9+demand5*6;//Wh
+E=E/1000;//kWh
+disp(E,"(d) Energy consumed during 24 hours(kWh)")
+Edash=LoadConnected*24/1000;//kWh
+ disp(Edash,"(e) Energy consumed during 24 hours if all devices are used(kWh)")
diff --git a/2441/CH1/EX1.10/Ex1_10.sce b/2441/CH1/EX1.10/Ex1_10.sce new file mode 100755 index 000000000..0022b9595 --- /dev/null +++ b/2441/CH1/EX1.10/Ex1_10.sce @@ -0,0 +1,12 @@ +//exa 1.10
+clc;clear;close;
+format('v',6);
+E=438*10^4;//kWh
+LF=20;//% annual
+CF=15;//%//Capacity Factor
+Lmax=E/(LF/100)/24/365;//kW
+Lmax=Lmax/1000;//MW
+C=Lmax/CF*LF;//MW//Plant Capacity
+disp(C,"Plant Capacity(MW): ");
+RC=C-Lmax;//MW//Reserve Capacity
+disp(RC,"Reserve Capacity(MW) : ");
diff --git a/2441/CH1/EX1.11/Ex1_11.sce b/2441/CH1/EX1.11/Ex1_11.sce new file mode 100755 index 000000000..1c315543f --- /dev/null +++ b/2441/CH1/EX1.11/Ex1_11.sce @@ -0,0 +1,21 @@ +//exa 1.11
+clc;clear;close;
+format('v',7);
+L1=10000;//kW
+L2=6000;//kW
+L3=8000;//kW
+L4=7000;//kW
+df=1.5;//diversity factor
+LF=65;//%//Load Factor
+Dinc=60;//%//Increase in maximum demand
+L=L1+L2+L3+L4;//kW//Sum
+L=L/1000;//MW
+Dmax=L/df;//MW
+disp(Dmax,"Maximum demand on station(MWh)");
+E=Dmax*365*24*LF/100;//MWh//Annual Energy
+format('v',9);
+disp(E,"Annual Energy Supplied(MWh)");
+Din_max=Dinc/100*Dmax;//MW
+format('v',7);
+C=Dmax+Din_max;//MW
+disp(C,"Installed Capacity(MW)")
diff --git a/2441/CH1/EX1.12/Ex1_12.sce b/2441/CH1/EX1.12/Ex1_12.sce new file mode 100755 index 000000000..fe5bbf220 --- /dev/null +++ b/2441/CH1/EX1.12/Ex1_12.sce @@ -0,0 +1,28 @@ +//exa 1.12
+clc;clear;close;
+format('v',5);
+//Arranging data for Load Duration Curve
+//week days 5-9pm load
+L1=350;//MW
+t1=4*5;//hours
+//week days 8-12am & 1-5pm load
+L2=250;//MW
+t2=t1+8*5;//hours
+//saturday & sunday 5-9pm load
+L3=200;//MW
+t3=t2+4*2;//hours
+//All days 150MW load
+L4=150;//MW
+t4=t3+6*5+15*2;//hours
+//All days 100MW load
+L5=100;//MW
+t5=t4+6*5+5*2;//hours
+A=31600;//Total Load Curve Area
+LF=A/L1/24/7*100;//%//Weekly load factor
+disp(LF,"Weekly Load factor(%)");
+disp("Load Duration Curve is shown in figure.");
+//Load Duration Curve
+L=[L1 L2 L3 L4 L5];//MW
+T=[t1 t2 t3 t4 t5];//hours
+plot2d2(T,L);
+xtitle('Load Duration Curve','Time(Hours)','Load(MW)');
diff --git a/2441/CH1/EX1.13/Ex1_13.sce b/2441/CH1/EX1.13/Ex1_13.sce new file mode 100755 index 000000000..b73a10cb6 --- /dev/null +++ b/2441/CH1/EX1.13/Ex1_13.sce @@ -0,0 +1,8 @@ +//exa 1.13
+clc;clear;close;
+format('v',7);
+LF=0.825;//Daily Load Factor
+ratio1=0.87;//daily peak load to monthly peak load
+ratio2=0.78;//monthly peak load to annually peak load
+LF_annual=LF*ratio1*ratio2;//Annual Load Factor
+disp(LF_annual,"Annual Load Factor : ");
diff --git a/2441/CH1/EX1.14/Ex1_14.sce b/2441/CH1/EX1.14/Ex1_14.sce new file mode 100755 index 000000000..928950255 --- /dev/null +++ b/2441/CH1/EX1.14/Ex1_14.sce @@ -0,0 +1,30 @@ +//exa 1.14
+clc;clear;close;
+format('v',5);
+//Transformer1
+Lm=300;//kW
+df_m=0.6;//demand factor
+Lc=100;//kW//Commercial Load
+df_c=0.5;//demand factor
+//Transformer2
+Lr2=500;//kW//Residential Load
+df_Lr2=0.4;//demand factor
+//Transformer3
+Lr3=400;//kW
+df_Lr3=0.5;//demand factor
+//Diversity factors
+df1=2.3;
+df2=2.5;
+df3=2;
+DF=1.4;//Diversity factor between transformers
+//Solution :
+disp("Part(a)");
+Lp1=(Lm*df_m+Lc*df_c)/df1;//kW//Peak load on Transformer1
+disp(Lp1,"Peak load on Transformer1(kW)");
+Lp2=Lr2*df_Lr2/df2;//kW//Peak load on Transformer2
+disp(Lp2,"Peak load on Transformer2(kW)");
+Lp3=Lr3*df_Lr3/df3;//kW//Peak load on Transformer3
+disp(Lp3,"Peak load on Transformer3(kW)");
+disp("Part(b)");
+LpF=(Lp1+Lp2+Lp3)/DF;//Peak load on feeder
+disp(LpF,"Peak load on feeder(kW)");
diff --git a/2441/CH1/EX1.16/Ex1_16.sce b/2441/CH1/EX1.16/Ex1_16.sce new file mode 100755 index 000000000..061f416d8 --- /dev/null +++ b/2441/CH1/EX1.16/Ex1_16.sce @@ -0,0 +1,16 @@ +//exa 1.16
+clc;clear;close;
+format('v',8);
+L=[20 25 30 25 35 20];//MW
+T=[6 4 2 4 4 4];//Hours
+Lmax=max(L);//MW
+disp(Lmax,"(a) Maximum demand(MW)");
+E=L(1)*sum(T)+(L(2)-L(1))*T(2)+(L(3)-L(1))*T(3)+(L(4)-L(1))*T(4)+(L(5)-L(1))*T(5)+(L(6)-L(1))*T(6);//MWh
+E=E*1000;//kWh
+disp(E,"(b) Units generated per day(kWh)");
+Lavg=E/sum(T);///kWh
+Lavg=Lavg/1000;///MW
+disp(Lavg,"(c) Average Load(MW)");
+format('v',6);
+LF=Lavg/Lmax*100;//%
+disp(LF,"(d) Load Factor(%)");
diff --git a/2441/CH1/EX1.17/Ex1_17.sce b/2441/CH1/EX1.17/Ex1_17.sce new file mode 100755 index 000000000..a9369a035 --- /dev/null +++ b/2441/CH1/EX1.17/Ex1_17.sce @@ -0,0 +1,9 @@ +//exa 1.17
+clc;clear;close;
+format('v',8);
+pf=0.8;//power factor
+delf=1;//%//drop in frequency(delf/f)
+//delP=-2*(sind(theta))^2*delf
+theta=acosd(pf);//degree
+delP_BY_delf=-2*sind(theta)^2;//increase in load wrt frequency
+disp(-delP_BY_delf,"1% drop in frequency, Increased in Load(%)");
diff --git a/2441/CH1/EX1.18/Ex1_18.sce b/2441/CH1/EX1.18/Ex1_18.sce new file mode 100755 index 000000000..f26b26a91 --- /dev/null +++ b/2441/CH1/EX1.18/Ex1_18.sce @@ -0,0 +1,8 @@ +//exa 1.18
+clc;clear;close;
+format('v',8);
+Lmax=100;//MW
+LF=40;//%//Load Factor
+Lavg=Lmax*LF/100;//MW
+E=Lavg*24*365;//MWh
+disp(E,"Energy generated in a year(MWh)");
diff --git a/2441/CH1/EX1.19/Ex1_19.sce b/2441/CH1/EX1.19/Ex1_19.sce new file mode 100755 index 000000000..32ac5cd0f --- /dev/null +++ b/2441/CH1/EX1.19/Ex1_19.sce @@ -0,0 +1,23 @@ +//exa 1.19 page 25
+clc;clear;close;
+format('v',5);
+V=400;//V
+s1=0.03;//initial slip
+delV=1;//%///Voltage Drop
+R1=0.290;//ohm/phase
+R2=0.15;//ohm/phase
+X=0.7;//ohm/phase(X1+X2)
+//V1^2*s1=V2^2*s2 for speed independent torque
+//taking for calculating s2
+V1=1;//V
+V2=V1-V1*delV/100;//V
+s2=V1^2/V2^2*s1;//slip
+I2ByI1=sqrt([R1+R2/s1]^2+X^2)/sqrt([R1+R2/s2]^2+X^2)*(V2/V1)
+delI=(I2ByI1-1)*100;//%//Current Increase
+disp(delI,"1% drop in Voltage increases current by(%)");
+//P=(R1+R2/s)*I^2
+P2ByP1=(R1+R2/s2)/(R1+R2/s1)*I2ByI1^2;//ratio
+delP=(1-P2ByP1)*100;//%//Power Decrease
+format('v',4);
+disp(delP,"1% drop in Voltage decreases power input by(%)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH1/EX1.2/Ex1_2.sce b/2441/CH1/EX1.2/Ex1_2.sce new file mode 100755 index 000000000..0b32cf684 --- /dev/null +++ b/2441/CH1/EX1.2/Ex1_2.sce @@ -0,0 +1,46 @@ +//exa 1.2
+clc;clear;close;
+format('v',6);
+LoadA=2.5*1000;//W
+//12 midnight to 5am
+d1A=100;//W
+//5am to 6am
+d2A=1.1*1000;//W
+//6am to 8am
+d3A=200;//W
+//8am to 5pm
+d4A=0;//W
+//5pm to 12 midnight
+d5A=500;//W
+LoadB=3*1000;//W
+//11 pm to 7am
+d1B=0;//W
+//7 am to 8 am
+d2B=300;//W
+//8 am to 10 am
+d3B=1*1000;//W
+//10 am to 6 pm
+d4B=200;//W
+//6 pm to 11 pm
+d5B=600;//W
+DEMAND_A=[d1A d2A d3A d4A d5A];//W
+DEMAND_B=[d1B d2B d3B d4B d5B];//W
+max_demand_A=max(DEMAND_A);//W
+max_demand_B=max(DEMAND_B);//W
+df_A=max_demand_A/LoadA;//demand factor
+df_B=max_demand_B/LoadB;//demand factor
+disp(df_B,df_A,"Demand factor of consumer A & B are");
+gd_factor=(max_demand_A+max_demand_B)/max_demand_A;
+disp(gd_factor,"Group diversity factor")
+E_A=d1A*5+d2A*1+d3A*2+d4A*9+d5A*7;//Wh
+E_B=d1B*8+d2B*1+d3B*2+d4B*8+d5B*5;//Wh
+E_A=E_A/1000;//kWh
+E_B=E_B/1000;//kWh
+disp(E_B,E_A,"Energy consumed by A & B during 24 hours(kWh)")
+Emax_A=max_demand_A*24/1000;//kWh
+Emax_B=max_demand_B*24/1000;//kWh
+ disp(Emax_B,Emax_A,"Maximum energy consumer A & B can consume during 24 hours(kWh)")
+ratio_A=E_A/Emax_A;
+format('v',7);
+ratio_B=E_B/Emax_B;
+disp(ratio_B,ratio_A,"Ratio of actual energy to maximum energy of consumer A & B")
diff --git a/2441/CH1/EX1.3/Ex1_3.sce b/2441/CH1/EX1.3/Ex1_3.sce new file mode 100755 index 000000000..df7fff87e --- /dev/null +++ b/2441/CH1/EX1.3/Ex1_3.sce @@ -0,0 +1,46 @@ +//exa 1.3
+clc;clear;close;
+format('v',6);
+n1=600;//No. of apartments
+L1=5;//kW//Each Apartment Load
+n2=20;//No. of general purpose shops
+L2=2;//kW//Each Shop Load
+df=0.8;//demand factor
+//1 Floor mill
+L3=10;//kW//Load
+df3=0.7;//demand factor
+//1 Saw mill
+L4=5;//kW//Load
+df4=0.8;//demand factor
+//1 Laundry
+L5=20;//kW//Load
+df5=0.65;//demand factor
+//1 Cinema
+L6=80;//kW//Load
+df6=0.5;//demand factor
+//Street lights
+n7=200;//no. of tube lights
+L7=40;//W//Load of each light
+//Residential Load
+df8=0.5;//demand factor
+gdf_r=3;//group diversity factor
+pdf_r=1.25;//peak diversity factor
+//Commertial Load
+gdf_c=2;//group diversity factor
+pdf_c=1.6;//peak diversity factor
+//Solution :
+//Maximum demand of each apartment
+dmax_1a=L1*df8;//kW
+//Maximum demand of 600 apartment
+dmax_a=n1*dmax_1a/gdf_r;//kW
+//demand of apartments at system peak time
+d_a_sp=dmax_a/pdf_r;//kW
+//Maximum Commercial demand
+dmax_c=(n2*L2*df+L3*df3+L4*df4+L5*df5+L6*df6)/gdf_c;//kW
+//Commercial demand at system peak time
+d_c_sp=dmax_c/pdf_c;//kW
+//demand of street light at system peak time
+d_sl_sp=n7*L7/1000;//kW
+//Increase in system peak demand
+DI=d_a_sp+d_c_sp+d_sl_sp;//kW
+disp(DI,"Increase in system peak demand(kW)");
diff --git a/2441/CH1/EX1.4/Ex1_4.sce b/2441/CH1/EX1.4/Ex1_4.sce new file mode 100755 index 000000000..c43a13918 --- /dev/null +++ b/2441/CH1/EX1.4/Ex1_4.sce @@ -0,0 +1,23 @@ +//exa 1.4
+clc;clear;close;
+format('v',6);
+//12 to 5 am
+L1=20;//MW
+t1=5;//hours
+//5 to 9 am
+L2=40;//MW
+t2=4;//hours
+//9 to 6 pm
+L3=80;//MW
+t3=9;//hours
+//6 to 10 pm
+L4=100;//MW
+t4=4;//hours
+//10 to 12 am
+L5=20;//MW
+t5=2;//hours
+//Energy Poduced in 24 hours
+E=L1*t1+L2*t2+L3*t3+L4*t4+L5*t5;//MWh
+disp(E,"Energy Supplied by the plant in 24 hours(MWh) :");
+LF=E/24;//%//Load Factor
+disp(LF,"Load Factor(%)");
diff --git a/2441/CH1/EX1.5/Ex1_5.sce b/2441/CH1/EX1.5/Ex1_5.sce new file mode 100755 index 000000000..27ca0d311 --- /dev/null +++ b/2441/CH1/EX1.5/Ex1_5.sce @@ -0,0 +1,27 @@ +//exa 1.5
+clc;clear;close;
+format('v',6);
+C=125;//MW//Installed Capacity
+//12 to 5 am
+L1=20;//MW
+t1=5;//hours
+//5 to 9 am
+L2=40;//MW
+t2=4;//hours
+//9 to 6 pm
+L3=80;//MW
+t3=9;//hours
+//6 to 10 pm
+L4=100;//MW
+t4=4;//hours
+//10 to 12 am
+L5=20;//MW
+t5=2;//hours
+//Energy Poduced in 24 hours
+E=L1*t1+L2*t2+L3*t3+L4*t4+L5*t5;//MWh
+LF=E/24;//%//Load Factor
+CF=LF/C;//%//Capacity Factor
+disp(CF,"Capacity Factor(%) : ");
+UF=100/C;//%//Utilisation Factor
+disp(UF,"Utilisation Factor(%) : ");
+
diff --git a/2441/CH1/EX1.6/Ex1_6.sce b/2441/CH1/EX1.6/Ex1_6.sce new file mode 100755 index 000000000..2672452e1 --- /dev/null +++ b/2441/CH1/EX1.6/Ex1_6.sce @@ -0,0 +1,47 @@ +//exa 1.6
+clc;clear;close;
+format('v',6);
+//12 to 5 am & 10 to 12 am
+L1=20;//MW
+E1=L1*24;//MWh
+//5 to 9 am
+L2=40;//MW
+E2=E1+(L2-L1)*17;//MWh
+//9 to 6 pm
+L3=80;//MW
+E3=E2+(L3-L2)*13;//MWh
+//6 to 10 pm
+L4=100;//MW
+E4=E3+(L4-L3)*4;//MWh
+//Plotting Energy load curve
+L=[0,L1,L2,L3,L4];//MW
+E=[0,E1,E2,E3,E4];//Mwh
+subplot(2,1,1)
+plot(E,L)
+xlabel('Energy(MWh)');
+ylabel('Load(MW)');
+title('Energy Load Curve');
+//Energy Supplied
+//Upto 5am
+t1=5;//hours
+E1=L1*t1;//MWh
+//Upto 9am
+t2=4;//hours
+E2=E1+L2*t2;//MWh
+//Upto 6pm
+t3=9;//hours
+E3=E2+L3*t3;//MWh
+//Upto 10pm
+t4=4;//hours
+E4=E3+L4*t4;//MWh
+//Upto 12pm
+t4=2;//hours
+E4=E3+L4*t4;//MWh
+//Plotting Mass curve
+T=[0,1,2,3,4];//MW
+E=[0,E1,E2,E3,E4];//Mwh
+subplot(2,1,2)
+plot(T,E)
+ylabel('Energy(MWh)');
+xlabel('0-1: 12-5am 1-2: 5-9am 2-3: 9-6pm 3-4: 6-10pm above4: 10-12pm');
+title('Mass Curve');
diff --git a/2441/CH1/EX1.7/Ex1_7.sce b/2441/CH1/EX1.7/Ex1_7.sce new file mode 100755 index 000000000..fa7fe2be9 --- /dev/null +++ b/2441/CH1/EX1.7/Ex1_7.sce @@ -0,0 +1,14 @@ +//exa 1.7
+clc;clear;close;
+format('v',9);
+dmax=40;//MW//Maximum demand
+CF=0.5;//Capacity Factor
+UF=0.8;//Utilisation Factor
+LF=CF/UF;///Load Factor
+disp(LF,"(a) Load Factor : ");
+C=dmax/UF;//MW//Plant Capacity
+disp(C,"(b) Plant Capacity(MW) : ");
+RC=C-dmax;//MW//Reserve Capacity
+disp(RC,"(c) Reserve Capacity(MW) : ");
+p=dmax*LF*24*365;//MWh//Annual Energy Production
+disp(p,"(d) Annual Energy Production(MWh) : ");
diff --git a/2441/CH1/EX1.8/Ex1_8.sce b/2441/CH1/EX1.8/Ex1_8.sce new file mode 100755 index 000000000..76edbe592 --- /dev/null +++ b/2441/CH1/EX1.8/Ex1_8.sce @@ -0,0 +1,28 @@ +//exa 1.8
+clc;clear;close;
+format('v',6);
+L1=50;//MW//Initial
+t1=5;//hours
+L2=50;//MW//5am
+t2=4;//hours
+L3=100;//MW//9am
+t3=9;//hours
+L4=100;//MW//6pm
+t4=2;//hours
+L5=150;//MW//8pm
+t5=2;//hours
+L6=80;//MW//10pm
+t6=2;//hours
+L7=50;//MW
+//Energy Required in 24 hours
+E=L1*t1+(L2+L3)/2*t2+(L3+L4)/2*t3+(L4+L5)/2*t4+(L5+L6)/2*t5+(L6+L1)/2*t6;//MWh
+disp(E,"Energy required in one day(MWh)");
+DLF=E/L5/24*100;//%//Daily Load Factor
+disp(DLF,"Daily Load Factor(%)");
+//Plotting load curve
+T=[0,1,2,3,4,5,6];//Slots
+L=[L1,L2,L3,L4,L5,L6,L7];//MW
+plot(T,L)
+ylabel('Load(MW)');
+xlabel('0-1: 12-5am 1-2: 5-9am 2-3: 9-6pm 3-4: 6-8pm 4-5:8-10pm 5-6 :10-12pm');
+title('Chronological Load Curve');
diff --git a/2441/CH1/EX1.9/Ex1_9.sce b/2441/CH1/EX1.9/Ex1_9.sce new file mode 100755 index 000000000..d9ab81093 --- /dev/null +++ b/2441/CH1/EX1.9/Ex1_9.sce @@ -0,0 +1,51 @@ +//exa 1.9
+clc;clear;close;
+format('v',6);
+L1=50;//MW//Initial
+t1=5;//hours
+L2=50;//MW//5am
+t2=4;//hours
+L3=100;//MW//9am
+t3=9;//hours
+L4=100;//MW//6pm
+t4=2;//hours
+L5=150;//MW//8pm
+t5=2;//hours
+L6=80;//MW//10pm
+t6=2;//hours
+L7=50;//MW
+//Load Duration Curve
+l1=L5;//Mw
+l2=L4;//MW
+l3=L1;//MW
+L=[l1,l2,l2,l3,l3]
+T=0:6:24;//Duration in hours
+subplot(2,1,1)
+plot(T,L)
+ylabel('Load(MW)');
+xlabel('Hours');
+title('Load Duration Curve');
+//Energy Consumed
+//Upto 5am
+t1=5;//hours
+E1=L1*t1;//MWh
+//Upto 9am
+t2=4;//hours
+E2=E1+L2*t2;//MWh
+//Upto 6pm
+t3=9;//hours
+E3=E2+L3*t3;//MWh
+//Upto 10pm
+t4=4;//hours
+E4=E3+L4*t4;//MWh
+//Upto 12pm
+t4=2;//hours
+E4=E3+L4*t4;//MWh
+//Plotting Mass curve
+T=[0,1,2,3,4];//MW
+E=[0,E1,E2,E3,E4];//Mwh
+subplot(2,1,2)
+plot(T,E)
+ylabel('Energy(MWh)');
+xlabel('0-1: 12-5am 1-2: 5-9am 2-3: 9-6pm 3-4: 6-10pm above4: 10-12pm');
+title('Mass Curve');
diff --git a/2441/CH2/EX2.10/Ex2_10.sce b/2441/CH2/EX2.10/Ex2_10.sce new file mode 100755 index 000000000..0bd39257c --- /dev/null +++ b/2441/CH2/EX2.10/Ex2_10.sce @@ -0,0 +1,29 @@ +//exa 2.10
+clc;clear;close;
+format('v',5);
+B11=0.001;//MW^-1
+B22=0.0024;//MW^-1
+B12=-0.0005;//MW^-1
+//dC1/dP1=0.8*P1+16;//Rs./MWh
+//dC2/dP2=0.08*P2+12;//Rs./MWh
+lambda=20;
+//Iterations for calculating value
+P1(1)=0;
+P2=0;
+for i=2:1:10
+ P1(i)=(0.2+0.001*P2(i-1))/0.006;
+ P2(i)=(0.4+0.001*P1(i))/0.0088;
+ if P1(i)==P1(i-1) then
+break;
+ end
+end
+P1=P1(i);//MW
+disp(P1,"Generation P1(MW) : ");
+P2=P2(i);//MW
+disp(P2,"Generation P2(MW) : ");
+format('v',4);
+PL=B11*P1^2+2*B12*P1*P2+B22*P2^2;//MW
+disp(PL,"Transmission Loss(MW) : ");
+format('v',5);
+Pr=P1+P2-PL;//MW
+disp(Pr,"Received Power(MW) : ");
diff --git a/2441/CH2/EX2.11/Ex2_11.sce b/2441/CH2/EX2.11/Ex2_11.sce new file mode 100755 index 000000000..84794957e --- /dev/null +++ b/2441/CH2/EX2.11/Ex2_11.sce @@ -0,0 +1,18 @@ +//exa 2.11
+clc;clear;close;
+format('v',7);
+//C1=561+7.92*P1+0.001562*P1^2;//Rs./hour
+//C2=310+7.85*P2+0.00194*P2^2;//Rs./hour
+a1=561;a2=310;
+b1=7.92;b2=7.85;
+c1=0.001562;c2=0.00194;
+ce=c1*c2/(c1+c2);
+be=ce*(b1/c1+b2/c2);
+ae=a1-b1^2/4/c1+a2-b2^2/4/c2+be^2/4/ce;
+disp("Coefficients are : ");
+disp("ae = "+string(ae)+" & be = "+string(be));
+format('v',10);
+disp(ce,"ce = ")
+PT=poly(0,'PT');
+disp("Cost Characteristics : ")
+disp("CT=870.753+7.8888*PT+0.0008653*PT^2");
diff --git a/2441/CH2/EX2.12/Ex2_12.sce b/2441/CH2/EX2.12/Ex2_12.sce new file mode 100755 index 000000000..16d120608 --- /dev/null +++ b/2441/CH2/EX2.12/Ex2_12.sce @@ -0,0 +1,62 @@ +//exa 2.12
+clc;clear;close;
+format('v',7);
+//C1=7700+52.8*P1+5.5*10^-3*P1^2;//Rs./hour
+//C2=2500+15*P2+0.05*P2^2;//Rs./hour
+a1=7700;a2=2500;
+b1=52.8;b2=15;
+c1=5.5*10^-3;c2=0.05;
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+dC1bydP1=52.8+2*5.5*10^-3*P1;
+dC2bydP2=15+2*0.05*P2;
+disp("For 1200 MW Load :");
+P=1200;//MW
+//Let loads of unit are P1 & 1200-P1
+//Economical Loading dC1/dP1=dC2/dP2
+eqn=52.8+2*5.5*10^-3*P1-15-2*0.05*(1200-P1);
+P1=roots(eqn);//MW
+P2=1200-P1;//MW
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+disp("For 900 MW Load :");
+P=900;//MW
+clear('P1','P2');
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+//Let loads of unit are P1 & 900-P1
+//Economical Loading dC1/dP1=dC2/dP2
+eqn=52.8+2*5.5*10^-3*P1-15-2*0.05*(900-P1);
+P1=roots(eqn);//MW
+P2=900-P1;//MW
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+disp("For 500 MW Load :");
+P=500;//MW
+clear('P1','P2');
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+//Let loads of unit are P1 & 500-P1
+//Economical Loading dC1/dP1=dC2/dP2
+eqn=52.8+2*5.5*10^-3*P1-15-2*0.05*(500-P1);
+P1=roots(eqn);//MW
+P2=500-P1;//MW
+//Minimum load is 200MW
+if P1<200 then
+ P2=P1+P2
+ P1=0;
+end
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+format('v',10);
+C=(2500+15*P2+0.05*P2^2)*10;//Rs.//Operating cost for 10 hour
+disp(C,"Operating cost for 10 hour(Rs.)");
+disp("Other option : ");
+P1=200;//MW
+P2=300;//MW
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+C1=7700+52.8*P1+5.5*10^-3*P1^2;//Rs./hour
+C2=2500+15*P2+0.05*P2^2;//Rs./hour
+C=10*(C1+C2);//Rs.//Operating cost for 10 hour
+disp(C,"Operating cost for 10 hour(Rs.)");
diff --git a/2441/CH2/EX2.13/Ex2_13.sce b/2441/CH2/EX2.13/Ex2_13.sce new file mode 100755 index 000000000..9ecdf5ee8 --- /dev/null +++ b/2441/CH2/EX2.13/Ex2_13.sce @@ -0,0 +1,33 @@ +//exa 2.13
+clc;clear;close;
+format('v',10);
+//C1=2000+20*P1+0.05*P1^2;//Rs./hour
+//C2=2750+26*P2+0.03091*P2^2;//Rs./hour
+P1=350;//MW
+P2=550;//MW
+C1=2000+20*P1+0.05*P1^2;//Rs./hour
+C2=2750+26*P2+0.03091*P2^2;//Rs./hour
+C=C1+C2;//Rs./hour
+disp(C,"(a) Total Cost(Rs./hour)");
+P=P1+P2;//MW//Total Load
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+dC1bydP1=20+2*0.05*P1;
+dC2bydP2=26+2*0.03091*P2;
+disp("(b) For Economic Scheduling")
+format('v',7);
+//dC1/dP1=dC2/dP2 for economic sheduling
+//Let loads of unit are P1 & P-P1
+eqn=20+2*0.05*P1-26-2*0.03091*(P-P1);
+P1=roots(eqn);//MW
+P2=P-P1;//MW
+disp(P2,P1,"Loads P1 & P2 in MW are : ");
+C1=2000+20*P1+0.05*P1^2;//Rs./hour
+C2=2750+26*P2+0.03091*P2^2;//Rs./hour
+Cnew=C1+C2;//Rs./hour
+disp(Cnew,"Total Cost(Rs./hour)");
+saving=C-Cnew;//Rs./hour
+disp(saving,"Total saving(Rs./hour)");
+format('v',5);
+Lt=P1-350;//MW//Tie line load
+disp(Lt,"Tie line load from Plant1 to Plant2(MW) : ");
diff --git a/2441/CH2/EX2.14/Ex2_14.sce b/2441/CH2/EX2.14/Ex2_14.sce new file mode 100755 index 000000000..74d15efb7 --- /dev/null +++ b/2441/CH2/EX2.14/Ex2_14.sce @@ -0,0 +1,29 @@ +//exa 2.14
+clc;clear;close;
+format('v',7);
+//C=5000+450*P+0.5*P^2;//Rs./hour
+e1=+2;//%//error
+e2=-2;//%//error
+P=200;//MW//Total Load
+//Considering error
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+C1=(5000+450*P+0.5*P1^2)*0.98;//Rs./hour
+C2=(5000+450*P+0.5*P2^2)*1.02;//Rs./hour
+//Let loads of unit are P1 & P-P1
+//dC1/dP1=dC2/dP2 for economic sheduling
+eqn=450*0.98+2*0.5*P1*0.98-450*1.02-2*0.5*(P-P1)*1.02;
+P1=roots(eqn);//MW
+P2=P-P1;//MW
+//if no instrumention error
+C1=(5000+450*P1+0.5*P1^2)*0.98;//Rs./hour
+C2=(5000+450*P2+0.5*P2^2)*1.02;//Rs./hour
+C=C1+C2;//Rs./hour
+//Due to intrumentation error
+P1=P/2;//MW
+P2=P/2;//MW
+C1=(5000+450*P1+0.5*P1^2)*0.98;//Rs./hour
+C2=(5000+450*P2+0.5*P2^2)*1.02;//Rs./hour
+Cerr=C1+C2;//Rs./hour
+Cextra=Cerr-C;//Rs,/hour
+disp(Cextra,"Extra operating cost(Rs./hour)");
diff --git a/2441/CH2/EX2.15/Ex2_15.sce b/2441/CH2/EX2.15/Ex2_15.sce new file mode 100755 index 000000000..a5123ba1e --- /dev/null +++ b/2441/CH2/EX2.15/Ex2_15.sce @@ -0,0 +1,56 @@ +//exa 2.15
+clc;clear;close;
+format('v',7);
+P1=poly(0,'P1');
+P2=poly(0,'P2');
+P3=poly(0,'P3');
+Q1=0.002*P1^2+0.86*P1+20;//tons/hour
+Q2=0.004*P2^2+1.08*P2+20;//tons/hour
+Q3=0.0028*P3^2+0.64*P3+36;//tons/hour
+Pmax=120;//MW
+Pmin=36;//MW
+P=200;//MW
+C=500;//Rs./ton
+//C1=C*Q1;C2=C*Q2;C3=C*Q3;//Rs./ton
+dC1bydP1=2*P1+430;//Rs./hour
+dC2bydP2=4*P2+540;//Rs./hour
+dC3bydP3=2.8*P3+320;//Rs./hour
+//P1+P2+P3=P
+A1=[1 1 1];//Coefficient Matrix
+B1=[P];//Coefficient Matrix
+//For minimal cost above 3 equation should be equal
+//eqn1=2*P1-4*P2+430-540;
+//eqn2=4*P2-2.8*P3-320+540;
+A2=[0 4 -2.8];//Coefficient Matrix
+B2=[-540+320];//Coefficient Matrix
+//eqn3=-2*P1+2.8*P3+320-430;
+A3=[-2 0 2.8];//Coefficient Matrix
+B3=[430-320];//Coefficient Matrix
+//solving by matrix method
+A=[A1;A2;A3];//Coefficient Matrix
+B=[B1;B2;B3];//Coefficient Matrix
+X=A^-1*B;//Solution Matrix
+P1=X(1);//MW
+P2=X(2);//MW
+P3=X(3);//MW
+Pmax=120;//MW
+Pmin=36;//MW
+if P2<Pmin then
+ P2=Pmin;//MW
+end;
+//P1+P3=P-P2//eqn(4)
+A1=[1 1];//Coefficient Matrix
+B1=[P-P2];//Coefficient Matrix
+//eqn3=-2*P1+2.8*P3+320-430;
+A2=[-2 2.8];//Coefficient Matrix
+B2=[430-320];//Coefficient Matrix
+//solving by matrix method
+A=[A1;A2];//Coefficient Matrix
+B=[B1;B2];//Coefficient Matrix
+X=A^-1*B;//Solution Matrix
+P1=X(1);//MW
+P3=X(2);//MW
+disp("According to optimum scheduling, Load distriution is :");
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+disp(P3,"P3(MW) : ");
diff --git a/2441/CH2/EX2.16/Ex2_16.sce b/2441/CH2/EX2.16/Ex2_16.sce new file mode 100755 index 000000000..b214e46c5 --- /dev/null +++ b/2441/CH2/EX2.16/Ex2_16.sce @@ -0,0 +1,19 @@ +//exa 2.16
+clc;clear;close;
+format('v',11);
+L=30;//MW
+//I=(32+32*L+1.68*L^2)*10^5;
+t1=18;///hours
+t2=6;///hours
+//Full load 18 hours
+I1=(32+32*L+1.68*L^2)*10^5*t1;//kJ
+//Half load 6 hours
+I2=(32+32*L/2+1.68*(L/2)^2)*10^5*t2
+I=I1+I2;//kJ
+disp(I,"(a) Heat input per day(kJ)");
+E=L*t1+L/2*t2;//MWh///Energy produced in 24 hours
+Lu=E/(t1+t2);//MW
+Inew=(32+32*Lu+1.68*Lu^2)*10^5*(t1+t2);//kJ
+saving=I-Inew;///kJ
+saving=saving/(E*1000);//kJ/kWh
+disp(saving,"(b) Saving in heat per kWh of energy(kJ/kWh) : ");
diff --git a/2441/CH2/EX2.17/Ex2_17.sce b/2441/CH2/EX2.17/Ex2_17.sce new file mode 100755 index 000000000..80b1cab0f --- /dev/null +++ b/2441/CH2/EX2.17/Ex2_17.sce @@ -0,0 +1,64 @@ +//exa 2.17
+clc;clear;close;
+format('v',7);
+P=800;//MW(Total Load)
+//Using Variable for Cost Curve Equation
+P1=poly(0,'P1');P2=poly(0,'P2');P3=poly(0,'P3');
+//Cost Curve Equation
+C1=450+6.5*P1+0.0013*P1^2;//Rs./hour
+C2=300+7.8*P2+0.0019*P2^2;//Rs./hour
+C3=80+8.1*P3+0.005*P3^2;//Rs./hour
+//Part(a) is not computational
+//Part (b)
+dC1BydP1=6.5+2*0.0013*P1;//Rs./MWh///eqn(1)
+dC2BydP2=7.8+2*0.0019*P2;//Rs./MWh///eqn(2)
+dC3BydP3=8.1+2*0.005*P3;//Rs./MWh///eqn(3)
+//P1+P2+P3=P;//MW///eqn(4)
+A1=[1 1 1];//Coefficient Matrix
+B1=[800];//Coefficient Matrix
+//Equating eqn(1) & (2)
+A2=[2*0.0013 -2*0.0019 0];//Coefficient Matrix
+B2=[7.8-6.5];//Coefficient Matrix
+//Equating eqn(2) & (3)
+A3=[0 2*0.0019 -2*0.005];//Coefficient Matrix
+B3=[8.1-7.8];//Coefficient Matrix
+//Solution By Matrix method
+A=[A1;A2;A3];//Coefficient Matrix
+B=[B1;B2;B3];//Coefficient Matrix
+X=A^-1*B;//Solution Matrix
+P1=X(1);//MW
+P2=X(2);//MW
+P3=X(3);//MW
+disp("(b) According to optimum scheduling, Load distriution is :");
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+disp(P3,"P3(MW) : ");
+//Part(c)
+disp("(c) Optimum scheduling : ");
+P1max=600;//MW
+P1min=100;//MW
+P2max=400;//MW
+P2min=50;//MW
+P3max=200;//MW
+P3min=50;//MW
+if P2<P2max&P2>P2min then
+ disp("P2 is within maximum and minimum limits.");
+ P1=P1max;//MW
+ P3=P3min;//MW
+ P2=P-P1-P3;//MW
+end;
+//Lambda=dC2/dP2 as P2 is niether maximum limit nor minimum limit.
+dC2BydP2=7.8+2*0.0019*P2;//Rs./MWh
+lambda=dC2BydP2;//Rs./MWh
+dC1BydP1=6.5+2*0.0013*P1;//Rs./MWh
+dC3BydP3=8.1+2*0.005*P3;//Rs./MWh
+if dC1BydP1<lambda then
+ disp("Condition for P1 satisfied.");
+end;
+if dC3BydP3>lambda then
+ disp("Condition for P3 satisfied.");
+end;
+disp("Load distribution is : ");
+disp(P1,"P1(MW) : ");
+disp(P2,"P2(MW) : ");
+disp(P3,"P3(MW) : ");
diff --git a/2441/CH2/EX2.18/Ex2_18.sce b/2441/CH2/EX2.18/Ex2_18.sce new file mode 100755 index 000000000..7d51ce332 --- /dev/null +++ b/2441/CH2/EX2.18/Ex2_18.sce @@ -0,0 +1,16 @@ +//exa 2.18
+clc;clear;close;
+format('v',6);
+Bmn=[0.0676 0.00953 -0.00507
+0.00953 0.0521 0.00901
+-0.00507 0.00901 0.0294];//Loss Coefficient
+Bno=[-0.0766;0.00342;0.0189];//Loss Coefficient
+Boo=0.04357;//Loss Coefficient
+P1=107.9;//MW
+P2=50;//MW
+P3=60;//MW
+//solution :
+PL=[P1 P2 P3]*Bmn+[P1 P2 P3]*Bno+Boo;//MW
+PL=sum(-PL);//MW
+disp(PL,"Transmission Loss(MW)");
+//Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy.
diff --git a/2441/CH2/EX2.19/Ex2_19.sce b/2441/CH2/EX2.19/Ex2_19.sce new file mode 100755 index 000000000..7f58e44d3 --- /dev/null +++ b/2441/CH2/EX2.19/Ex2_19.sce @@ -0,0 +1,14 @@ +//exa 2.19
+clc;clear;close;
+format('v',6);
+//lambda1=0.1*P1+20;//Rs./MWh
+//lambda2=0.12*P2+16;//Rs./MWh
+P=180;//MW
+//Let loads are P1 & P-P1
+//Economical loading lambda1=lambda2
+P1=poly(0,'P1');P2=poly(0,'P2');
+eqn=0.1*P1+20-0.12*(P-P1)-16;
+P1=roots(eqn);//MW
+P2=P-P1;//MW
+disp(P1,"Load P1(MW) : ");
+disp(P2,"Load P2(MW) : ");
diff --git a/2441/CH2/EX2.2/Ex2_2.sce b/2441/CH2/EX2.2/Ex2_2.sce new file mode 100755 index 000000000..c6a594fde --- /dev/null +++ b/2441/CH2/EX2.2/Ex2_2.sce @@ -0,0 +1,15 @@ +//exa 2.2
+clc;clear;close;
+format('v',8);
+//For equal incremental cost
+L1=125;//MW
+L2=100;//MW
+//For equal sharing
+L=(L1+L2)/2;//MW
+//Change in cost Unit 1
+dC1=integrate('0.2*P1+30','P1',L1,L);//Rs./hour
+//Change in cost Unit 2
+dC2=integrate('0.15*P2+40','P2',L2,L);//Rs./hour
+dCyearly=(dC1+dC2)*24*365;//Rs./year
+disp(dCyearly,"Saving per year in economic load allocation(Rs./year)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH2/EX2.20/Ex2_20.sce b/2441/CH2/EX2.20/Ex2_20.sce new file mode 100755 index 000000000..bbcac8e15 --- /dev/null +++ b/2441/CH2/EX2.20/Ex2_20.sce @@ -0,0 +1,16 @@ +//exa 2.20
+clc;clear;close;
+format('v',6);
+//F1=0.004*P1^2+2*P1+80;//Rs./hr
+//F2=0.006*P2^2+1.5*P2+100;//Rs./hr
+P=250;//MW
+P1=poly(0,'P1');P2=poly(0,'P2');
+dF1bydP1=2*0.004*P1+2;
+dF2bydP2=2*0.006*P2+1.5;
+//Let loads are P1 & P-P1
+//Economical loading lambda1=lambda2
+eqn=2*0.004*P1+2-2*0.006*(P-P1)-1.5;
+P1=roots(eqn);//MW
+P2=P-P1;//MW
+disp(P1,"Load P1(MW) : ");
+disp(P2,"Load P2(MW) : ");
diff --git a/2441/CH2/EX2.21/Ex2_21.sce b/2441/CH2/EX2.21/Ex2_21.sce new file mode 100755 index 000000000..3eff64276 --- /dev/null +++ b/2441/CH2/EX2.21/Ex2_21.sce @@ -0,0 +1,41 @@ +//exa 2.21
+clc;clear;close;
+format('v',8);
+//F1=(8*P1+0.024*P1^2+80)*10^6;//Btu./hr
+//F2=(6*P2+0.04*P2^2+120)*10^6;//Btu./hr
+Pmax=100;//MW
+Pmin=10;//MW
+C=2.5;//Rs./million Btu
+//C1=2.5*F1/10^6
+//C2=2.5*F2/10^6
+//For Maximum Load of 100 MW
+P1=poly(0,'P1');P2=poly(0,'P2');
+dC1bydP1=8*2.5+2.5*2*0.024*P1;
+dC2bydP2=6*2.5+2.5*2*0.04*P2;
+//Let loads are P1 & Pmax-P1
+//Economical loading lambda1=lambda2
+eqn=8*2.5+2.5*2*0.024*P1-6*2.5-2.5*2*0.04*(Pmax-P1);
+P1=roots(eqn);//MW
+P2=Pmax-P1;//MW
+C1=2.5*((8*P1+0.024*P1^2+80)*10^6)/10^6;//Rs./hour
+C2=2.5*((6*P2+0.04*P2^2+120)*10^6)/10^6;//Rs./hour
+C100=(C1+C2)*12;//Rs.(Total cost of 12 hours on 100MW load)
+//For Maximum load of 50 MW
+//Let loads are P1 & Pmax-P1
+//Economical loading : lambda1=lambda2
+Pmax1=50;//MW
+clear('P1','P2');
+P1=poly(0,'P1');P2=poly(0,'P2');
+eqn=8*2.5+2.5*2*0.024*P1-6*2.5-2.5*2*0.04*(Pmax1-P1);
+P1=roots(eqn);//MW
+P2=Pmax1-P1;//MW
+C1=2.5*((8*P1+0.024*P1^2+80)*10^6)/10^6;//Rs./hour
+C2=2.5*((6*P2+0.04*P2^2+120)*10^6)/10^6;//Rs./hour
+C50=(C1+C2)*12;//Rs.(Total cost of 12 hours on 50MW load)
+C=C100+C50;//Rs.(Total cost for 24 hours)
+disp(C,"Minimum total cost for 24 hours(Rs.) : ");
+E=(Pmax*12+Pmax1*12)*10^3;//kWh
+//Operating cost per unit energy
+Co=C/E;//Rs./kWh
+disp(Co,"Operating cost per unit energy(Rs./kWh) : ");
+//Answer is wrong in the textbook. Calculation mistake in energy generation calculation & Cost calculation.
diff --git a/2441/CH2/EX2.22/Ex2_22.sce b/2441/CH2/EX2.22/Ex2_22.sce new file mode 100755 index 000000000..b35f7fc03 --- /dev/null +++ b/2441/CH2/EX2.22/Ex2_22.sce @@ -0,0 +1,44 @@ +//exa 2.22
+clc;clear;close;
+format('v',10);
+//F1=0.05*P1^2+21.5*P1+800;//Rs./hr
+//F2=0.1*P2^2+27*P2+500;//Rs./hr
+//F3=0.07*P3^2+16*P3+900;//Rs./hr
+PT=200;//MW
+Pmax=120;//MW
+Pmin=39;//MW
+//coefficients :
+c1=0.05;c2=0.1;c3=0.07;
+b1=21.5;b2=27;b3=16;
+a1=800;a2=500;a3=900;
+lambda=(1/2*[b1/c1+b2/c2+b3/c3]+PT)/[1/2*[1/c1+1/c2+1/c3]];
+//Economical loading dF1/dP1=dF2/dP2=dF3/dP3
+P1=poly(0,'P1');P2=poly(0,'P2');P3=poly(0,'P3');
+dF1bydP1=2*0.05*P1+21.5;
+dF2bydP2=2*0.1*P2+27;
+dF2bydP3=2*0.07*P3+16;
+//Solving equation :
+A=[2*0.05 0 0;0 2*0.1 0;0 0 2*0.07];
+B=[lambda-21.5;lambda-27;lambda-16];
+X=A^-1*B;
+P1=X(1);//MW
+P2=X(2);//MW
+P3=X(3);//MW
+if P2<Pmin then
+ P2=Pmin;
+end
+P1plusP3=PT-P2;//MW
+//dF1/dP1=dF3/dP3
+//Let loads are P1 & P1plusP3-P1
+clear('P1','P3');
+P1=poly(0,'P1');P3=poly(0,'P3');
+ eqn=2*0.05*P1+21.5-2*0.07*(P1plusP3-P1)-16;
+ P1=roots(eqn);//MW
+ P3=P1plusP3-P1;//MW
+ disp("Optimum scheduling :");
+ disp(P3,P2,P1,"Loads P1, P2 & P3 in MW are :");
+ F1=0.05*P1^2+21.5*P1+800;//Rs./hr
+F2=0.1*P2^2+27*P2+500;//Rs./hr
+F3=0.07*P3^2+16*P3+900;//Rs./hr
+C=F1+F2+F3;//Rs/hour
+disp(C,"For this schedule, total cost per hour(Rs./hour)");
diff --git a/2441/CH2/EX2.23/Ex2_23.sce b/2441/CH2/EX2.23/Ex2_23.sce new file mode 100755 index 000000000..544088892 --- /dev/null +++ b/2441/CH2/EX2.23/Ex2_23.sce @@ -0,0 +1,24 @@ +//exa 2.23
+clc;clear;close;
+format('v',7);
+//dF1/dP1=0.025*P1+15;//
+//dF2/dP2=0.05*P2+20;//
+PL=15.625;//MW
+P1=125;//MW
+lambda=24;//Rs. per MWh
+B11=PL/P1^2;//Coefficient Loss
+//dF2/dP2*L2=lambda
+P2=poly(0,'P2');
+L2=1;//penalty factor
+eqn=(0.05*P2+20)*L2-lambda;
+P2=roots(eqn);//MW
+//PL=B11*P1^2
+P1=poly(0,'P1');
+dPLbydP1=2*B11*P1;
+L1=1/(1-dPLbydP1);//penalty factor
+eqn=(0.025*P1+15)-lambda/L1
+P1=roots(numer(eqn));//MW
+disp(P2,P1,"Generation P1 & P2 in MW are ");
+PL=B11*P1^2;//MW
+LD=P1-PL+P2;//MW
+disp(LD,"Load Demand(MW) :");
diff --git a/2441/CH2/EX2.24/Ex2_24.sce b/2441/CH2/EX2.24/Ex2_24.sce new file mode 100755 index 000000000..7312c3b8c --- /dev/null +++ b/2441/CH2/EX2.24/Ex2_24.sce @@ -0,0 +1,24 @@ +//exa 2.24
+clc;clear;close;
+format('v',7);
+//dC1/dP1=0.02*P1+16;//
+//dC2/dP2=0.04*P2+20;//
+PL=10;//MW
+P1=100;//MW
+lambda=25;//Rs. per MWh
+B11=PL/P1^2;B22=0;B12=0;//Coefficient Loss
+//dF2/dP2*L2=lambda
+P2=poly(0,'P2');
+L2=1;//penalty factor
+eqn=(0.04*P2+20)*L2-lambda;
+P2=roots(eqn);//MW
+//PL=B11*P1^2
+P1=poly(0,'P1');
+dPLbydP1=2*B11*P1;
+L1=1/(1-dPLbydP1);//penalty factor
+eqn=(0.02*P1+16)-lambda/L1
+P1=roots(numer(eqn));//MW
+disp(P2,P1,"Generation P1 & P2 in MW are ")
+PL=B11*P1^2;//MW
+LD=P1-PL+P2;//MW
+disp(LD,"Load Demand(MW) :");
diff --git a/2441/CH2/EX2.3/Ex2_3.sce b/2441/CH2/EX2.3/Ex2_3.sce new file mode 100755 index 000000000..01ed528a3 --- /dev/null +++ b/2441/CH2/EX2.3/Ex2_3.sce @@ -0,0 +1,28 @@ +//exa 2.3
+clc;clear;close;
+format('v',6);
+L=400;///MW///total load
+delPD=50;//MW//increase in demand
+//dC1/dP1=0.2*P1+30
+//dC2/dP2=0.15*P2+40
+twoC1=0.2;//from above equation
+twoC2=0.15;//from above equation
+delP1_by_delPD=(1/twoC1)/(1/twoC1+1/twoC2);
+delP2_by_delPD=(1/twoC2)/(1/twoC1+1/twoC2);
+delP1=delP1_by_delPD*delPD;//MW
+disp(delP1,"Increase in generation of unit1(MW) : ");
+delP2=delP2_by_delPD*delPD;//MW
+disp(delP2,"Increase in generation of unit2(MW) : ");
+format('v',7);
+P1=L/2+delP1;//load on unit 1
+disp(P1,"Total load on unit1(MW) : ");
+P2=L/2+delP2;//load on unit 2
+disp(P2,"Total load on unit2(MW) : ");
+format('v',6);
+disp("Checking incremental cost :");
+dC1_by_dP1=0.2*P1+30;//Rs./MWh
+disp(dC1_by_dP1,"Incremental cost of unit 1(Rs./MWh) : ");
+dC2_by_dP2=0.2*P2+30;//Rs./MWh
+disp(dC2_by_dP2,"Incremental cost of unit 2(Rs./MWh) : ");
+disp("Conclusion : Cost are same(Approximately).");
+//Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy.
diff --git a/2441/CH2/EX2.5/Ex2_5.sce b/2441/CH2/EX2.5/Ex2_5.sce new file mode 100755 index 000000000..2dca8e50b --- /dev/null +++ b/2441/CH2/EX2.5/Ex2_5.sce @@ -0,0 +1,27 @@ +//exa 2.5
+clc;clear;close;
+format('v',8);
+I1=0.8;//p.u.
+I2=1;//p.u.
+Za=0.04+%i*0.12;//p.u.
+Zb=0.03+%i*0.1;//p.u.
+Zc=0.03+%i*0.12;//p.u.
+V=1;//p.u.
+//Solution :
+V1=V+(I1+I2)*Za+I1*(Zb);//p.u.
+V2=V+(I1+I2)*Za+I2*(Zc);//p.u.
+P1=real(I1*V1);//p.u.
+P2=real(I2*V2);//p.u.
+fi1=atan(imag(V1),real(V1));
+fi2=atan(imag(V2),real(V2));
+disp("Loss Coefficients are : ")
+B11=[real(Za)+real(Zb)]/[abs(V1)^2*cos(fi1)^2];//p.u.
+disp(B11,"B11(p.u.) : ");
+B22=[real(Za)+real(Zc)]/[abs(V2)^2*cos(fi2)^2];//p.u.
+disp(B22,"B22(p.u.) : ");
+B12=[real(Za)]/[abs(V1)*abs(V2)*cos(fi1)*cos(fi2)];//p.u.
+disp(B12,"B12(p.u.) : ");
+PL=P1^2*B11+P2^2*B22+2*P1*P2*B12;//p.u.
+format('v',10);
+disp(PL,"Transmission Loss(p.u.) : ");
+//Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy.
diff --git a/2441/CH2/EX2.7/Ex2_7.sce b/2441/CH2/EX2.7/Ex2_7.sce new file mode 100755 index 000000000..caf463788 --- /dev/null +++ b/2441/CH2/EX2.7/Ex2_7.sce @@ -0,0 +1,53 @@ +//exa 2.7
+clc;clear;close;
+format('v',8);
+Za=0.03+%i*0.09;//p.u.
+Ia=1.5-%i*0.4;//p.u.
+Zb=0.10+%i*0.30;//p.u.
+Ib=0.5-%i*0.2;//p.u.
+Zc=0.03+%i*0.09;//p.u.
+Ic=1-%i*0.1;//p.u.
+Zd=0.04+%i*0.12;//p.u.
+Id=1-%i*0.2;//p.u.
+Ze=0.04+%i*0.12;//p.u.
+Ie=1.5-%i*0.3;//p.u.
+V=1;//p.u.
+base=100;//MVA
+//Solution
+//Currents of load
+IL1=0.4;//p.u.
+IL2=0.6;//p.u.
+//Current distribution factors :
+Na1=1;Na2=0;
+Nb1=0.6;Nb2=-0.4;
+Nc1=0;Nc2=1;
+Nd1=0.4;Nd2=0.4;
+Ne1=0.6;Ne2=0.6;
+//Bus Voltages
+V1=V+Ia*Za;//p.u.
+V2=V-Ib*Zb+Ic*Zc;//p.u.
+//Phase Angles
+theta1=atand(imag(Ia),real(Ia));//degree
+theta2=atand(imag(Ic),real(Ic));//degree
+//Power Factors :
+cos_fi1=cosd(atand(imag(V1),real(V1))-theta1);//source 1 power factor
+cos_fi2=cosd(atand(imag(V2),real(V2))-theta2);//source 2 power factor
+disp("Loss formula Coefficients in p.u. :")
+B11=[Na1^2*real(Za)+Nb1^2*real(Zb)+Nc1^2*real(Zc)+Nd1^2*real(Zd)+Ne1^2*real(Ze)]/[abs(V1)^2*cos_fi1];//p.u.
+disp(B11,"B11(p.u) : ");
+format('v',7);
+B22=[Na2^2*real(Za)+Nb2^2*real(Zb)+Nc2^2*real(Zc)+Nd2^2*real(Zd)+Ne2^2*real(Ze)]/[abs(V2)^2*cos_fi2];//p.u.
+disp(B22,"B22(p.u) : ");
+B12=[Na1*Na2*real(Za)+Nb1*Nb2*real(Zb)+Nc1*Nc2*real(Zc)+Nd1*Nd2*real(Zd)+Ne1*Ne2*real(Zc)]/[abs(V1)*abs(V2)*cos_fi1*cos_fi2*[cosd(theta1-theta2)]];//p.u.
+disp(B12,"B12(p.u) : ");
+//Converting p.u. to actual value
+format('v',10);
+disp("Loss formula Coefficients in MW^-1 :")
+B11=B11/base;//MW^-1
+disp(B11,"B11(MW^-1) : ");
+format('v',9);
+B22=B22/base;//MW^-1
+disp(B22,"B22(MW^-1) : ");
+B12=B12/base;//MW^-1
+disp(B12,"B12(MW^-1) : ");
+//Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy.
diff --git a/2441/CH2/EX2.8/Ex2_8.sce b/2441/CH2/EX2.8/Ex2_8.sce new file mode 100755 index 000000000..eca2b8210 --- /dev/null +++ b/2441/CH2/EX2.8/Ex2_8.sce @@ -0,0 +1,19 @@ +//exa 2.8
+clc;clear;close;
+format('v',8);
+//dC1/dP1=0.2*P1+22;//Rs./MWh
+//dC2/dP2=0.15*P2+30;//Rs./MWh
+B22=0;B12=0;//Because Loss is independent wrt P2
+P1=100;//MW
+PL=15;//MW
+B11=PL/P1^2;//MW^-1
+L1=1/[1-0.003*P1];//Penalty Factor plant 1
+L2=1;//Penalty Factor of plant 2
+lambda=60;
+//lambda=dC1/dP1*L1=dC2/dP2*L2
+//dC1/dP1*L1=dC2/dP2*L2
+P2=((0.2*P1+22)*L1-30)/0.15;//MW
+P=P1+P2-B11*P1^2;//MW//Total Load
+disp(P1,"Required generation at plant1(MW)");
+disp(P2,"Required generation at plant2(MW)");
+disp(P,"Total Load(MW)");
diff --git a/2441/CH2/EX2.9/Ex2_9.sce b/2441/CH2/EX2.9/Ex2_9.sce new file mode 100755 index 000000000..933a5e1d7 --- /dev/null +++ b/2441/CH2/EX2.9/Ex2_9.sce @@ -0,0 +1,30 @@ +//exa 2.9
+clc;clear;close;
+format('v',6);
+//dC1/dP1=0.2*P1+22;//Rs./MWh
+//dC2/dP2=0.15*P2+30;//Rs./MWh
+B22=0;B12=0;//Because Loss is independent wrt P2
+P1=100;//MW
+PL=15;//MW
+B11=PL/P1^2;//MW^-1
+L1=1/[1-0.003*P1];//Penalty Factor plant 1
+L2=1;//Penalty Factor of plant 2
+lambda=60;
+//lambda=dC1/dP1*L1=dC2/dP2*L2
+//dC1/dP1*L1=dC2/dP2*L2
+P2=((0.2*P1+22)*L1-30)/0.15;//MW
+P=P1+P2-B11*P1^2;//MW//Total Load
+//dC1/dP1=dC2/dP2; neglecting transmission loss
+clear('P2');//for recalculation
+//0.2*P1-0.15*P2-8=0;///eqn(1)
+//P1=0.75*P2+40;//P1+P2-B11*P1^2-P=0;//eqn(2)
+//1.75*P2-B11*P1^2=P-40
+Eqn=[-B11 1.75 40-P];
+P2=roots(Eqn);
+P2=P2(2);//MW//neglecting higher value
+P1=0.75*P2+40;//MW
+dC1=integrate('0.2*P+22','P',100,P1);//Rs.//Additional Cost plant1
+dC2=integrate('0.15*P+30','P',200,P2);//Rs.//Decreased Cost plant2
+dC=dC1+dC2;//Rs./hour//Net change in cost
+disp(dC,"Taking transmission loss in account, Net saving per hour in fuel cost(Rs,/hour)");
+//Note : Values calculated in the book are slightly wrong because of accuracy in calculation as compared to scilab accuracy.
diff --git a/2441/CH3/EX3.1/Ex3_1.sce b/2441/CH3/EX3.1/Ex3_1.sce new file mode 100755 index 000000000..716defe14 --- /dev/null +++ b/2441/CH3/EX3.1/Ex3_1.sce @@ -0,0 +1,22 @@ +//Exa 3.1
+clc;clear;close;
+format('v',6);
+head=205;//m(Mean Head)
+A=1000;//km^2(Catchment area)
+rf=125;//cm(Annual Rainfall)
+a=80;//%(Available rainfall for power generation)
+LF=75;//%(Load factor)
+head_loss=5;//m(Head Loss)
+Eta_turbine=0.9;//Efficiency of turbine
+Eta_generator=0.95;//Efficiency of generator
+//Calculation
+WaterUsed=A*10^6*rf/100*a/100;//m^3/year(Discharge)
+WaterUsed=WaterUsed/(365*24*60*60);//m^3/sec
+Eff_Head=head-head_loss;//m(Effective Head)
+P=735.5/75*WaterUsed*Eff_Head*Eta_turbine*Eta_generator/1000;//MW(Load of station)
+Ppeak=P/(LF/100);//MW(Peak Load )
+disp(Ppeak,"MW rating of station(MW)");
+//type ot turbine
+if head>200 then
+ disp("Pelton turbine is more suitable because head>200 meter.");
+end;
diff --git a/2441/CH3/EX3.2/Ex3_2.sce b/2441/CH3/EX3.2/Ex3_2.sce new file mode 100755 index 000000000..4de07b156 --- /dev/null +++ b/2441/CH3/EX3.2/Ex3_2.sce @@ -0,0 +1,20 @@ +//Exa 3.2
+clc;clear;close;
+format('v',6);
+WF=50;//m^3/sec(Water flow)
+head=90;//m
+LF=75;//%(Load factor)
+Eta=90;//%(Efficiency of hydro plant)
+L=5;//%(Transmission losses)
+TC=350;//MW
+hp=140;//MW//Hydro power
+//Calculation
+P=735.5/75*WF*head*Eta/100/1000;//MW(Power available)
+Pnet=P*(100-L)/100;//MW///Net Available hydro power
+E=Pnet*24;//MW-hours////Hydro Energy
+disp(E,"Available hydro energy(MW-hours) : ");
+format('v',5);
+C1=hp/((100-L)/100);//MW//Capacity of hydro plant
+disp(C1,"Capacity of hydro plant(MW) : ");
+C2=TC-hp;//MW//Capacity of thermal plant
+disp(C2,"Capacity of thermal plant(MW) : ");
diff --git a/2441/CH3/EX3.3/Ex3_3.sce b/2441/CH3/EX3.3/Ex3_3.sce new file mode 100755 index 000000000..f86ba820d --- /dev/null +++ b/2441/CH3/EX3.3/Ex3_3.sce @@ -0,0 +1,24 @@ +//Exa 3.3
+clc;clear;close;
+format('v',9);
+P1=700;//MW(Load for 14 hours)
+P2=500;//MW(Load for 10 hours)
+B22=0.0005;//Loss Coefficient
+t1=14;//hour
+t2=10;//hour
+r2=2.5;//Rs/hour/(m^3/sec)
+//Characteristics of units :
+//C1=(24+0.02*P1)*P1;//Rs./hour
+//W2=(6+0.0025*P2)*P2;//m^3/sec
+lambda=37.944;//Rs./MWh(For peak load conditions)
+P1=348.6;//MW(For peak load conditions)
+P2=454.84;//MW(For peak load conditions)
+PL=103.44;//MW(For peak load conditions)
+lambda_dash=31.73;//Rs./MWh(For peak load conditions)
+P1_dash=193.25;//MW(For peak off conditions)
+P2_dash=378.25;//MW(For peak off conditions)
+PL_dash=71.50;//MW(For peak off conditions)
+W=[(6+0.0025*P2)*P2*t1+(6+0.0025*P2_dash)*P2_dash*t2]*3600/10^3;//m^3//D3ily water used
+disp(W,"Daily water used by plant(m^3) : ");
+C=(24+0.02*P1)*P1*t1+(24+0.02*P1_dash)*P1_dash*t2;//Rs.
+disp(C,"Daily operating cost of plant(Rs.) : ");
diff --git a/2441/CH3/EX3.4/Ex3_4.sce b/2441/CH3/EX3.4/Ex3_4.sce new file mode 100755 index 000000000..e26bce93f --- /dev/null +++ b/2441/CH3/EX3.4/Ex3_4.sce @@ -0,0 +1,20 @@ +//Exa 3.4
+clc;clear;close;
+format('v',7);
+t1=14;//hour(working hour of hydro station)
+t2=24;//hour(Working hour of steam station)
+//Characteristics of units :
+//C=(5+8*Ps+0.05*Ps^2);//Rs./hour
+//dW/dPh=30+0.05*Ph;//m^3/MW-sec
+W=500*10^6;//m^3(Water Quantity used)
+Ps=250;//MW(Load on steam station)
+lambda=8+0.1*Ps;//Rs./MW-hour
+//W=Ph*(30+0.05*Ph)*t1*3600;//
+//0.05*Ph^2*t1*3600+Ph*30*t1*3600-W=0
+Ph=poly(0,'Ph');
+Ph=roots(0.05*Ph^2*t1*3600+Ph*30*t1*3600-W);//MW
+Ph=Ph(2);//MW//Leaving negative root
+disp(Ph,"Load on hydro plant(MW)");
+r=lambda/(30+0.05*Ph);//Rs./hour/(m^3/sec)
+disp(r,"Cost of water use(Rs./hour/(m^3/sec)) : ");
+//Answer is slightly differ due to accuracy in calculations.
diff --git a/2441/CH4/EX4.1/Ex4_1.sce b/2441/CH4/EX4.1/Ex4_1.sce new file mode 100755 index 000000000..244da9e9e --- /dev/null +++ b/2441/CH4/EX4.1/Ex4_1.sce @@ -0,0 +1,23 @@ +//Exa 4.1
+clc;clear;close;
+format('v',8);
+kVA=4000;//kVA//rating
+f1_nl=50;//Hz(No load frequency of machine1)
+f1_fl=47.5;//Hz(No load frequency of machine1)
+f2_nl=50;//Hz(No load frequency of machine2)
+f2_fl=48;//Hz(No load frequency of machine2)
+L=6000;//kW(Load)
+L1=poly(0,'L1');//Load of machine1
+//f1_nl-(f1_nl-f1_fl)*L1/kVA=f1_nl-(f2_nl-f2_fl)*L2/kVA where L2=L-L1
+L1=(f2_nl-f2_fl)*L/[(f1_nl-f1_fl)+(f2_nl-f2_fl)];//kW
+L2=L-L1;//kW
+disp("Part(a)");
+disp(L1,"Load supplied by first machine(kW)");
+disp(L2,"Load supplied by second machine(kW)");
+disp("Part(b)");
+L2=4000;//kW//Machine2 is supplying 4000kW
+fdrop1=f1_nl-f1_fl;//Hz(frequency drop of machine 1)
+fdrop2=f2_nl-f2_fl;//Hz(frequency drop of machine 2)
+L1=L2*fdrop2/fdrop1;//kW//Load supplied by machine 1
+L=L1+L2;//kW//Total Load
+disp(L,"Total load supplied without getting over loaded(kW)")
diff --git a/2441/CH4/EX4.2/Ex4_2.sce b/2441/CH4/EX4.2/Ex4_2.sce new file mode 100755 index 000000000..2f59e7e82 --- /dev/null +++ b/2441/CH4/EX4.2/Ex4_2.sce @@ -0,0 +1,35 @@ +//Exa 4.2
+clc;clear;close;
+format('v',6);
+Lt=3000;//kW//Total Load
+pf=0.8;//Power factor Lagging
+I=150;//A
+ZA=0.4+%i*12;//ohm//synchronous impedence
+ZB=0.5+%i*10;//ohm//synchronous impedence
+Vt=6.6;//kV//Terminal Voltage
+L=Lt/2;//kW//Load supplied by each machine
+LA=L;//kW
+LB=L;//kW
+//LB=sqrt(3)*Vt*IB*cosd(theta_B);
+theta_B=acosd(LB/sqrt(3)/Vt/I);//degree
+IB=I*(cosd(theta_B)-%i*sind(theta_B));//A
+I_total=Lt/sqrt(3)/Vt/pf;//A//Total Current
+IA_plus_IB=I_total*(0.8-%i*0.6);//A
+IA=IA_plus_IB-IB;//A
+cos_thetaA=real(IA)/abs(IA);//lagging power factor
+EA=Vt/sqrt(3)+IA*ZA/1000;//kV per phase
+del_A=atand(imag(EA)/real(EA));//degree//Load Angle
+emf_A=abs(EA);//kV per phase//Induced emf of machine A
+EB=Vt/sqrt(3)+IB*ZB/1000;//kV per phase
+del_B=atand(imag(EB)/real(EB));//degree//Load Angle
+emf_B=abs(EB);//kV per phase//Induced emf of machine A
+IA=abs(IA);//A
+disp(IA,"Current on machine A(A) : ");
+pfA=cos_thetaA;//power factor
+disp(pfA,"Lagging power factor of machine A");
+format('v',5);
+disp(emf_A,"Induced emf of machine A(kV per phase)");
+disp(del_A,"Load angle of machine A(degree)");
+disp(del_B,"Load angle of machine B(degree)");
+disp(emf_B,"Induced emf of machine B(kV per phase)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH4/EX4.3/Ex4_3.sce b/2441/CH4/EX4.3/Ex4_3.sce new file mode 100755 index 000000000..ea8516202 --- /dev/null +++ b/2441/CH4/EX4.3/Ex4_3.sce @@ -0,0 +1,38 @@ +//Exa 4.3
+clc;clear;close;
+format('v',5);
+P=5;//MVA
+V=1000;//V
+speed=1500;//rpm//speed
+ns=speed/60;//rps
+f=50;//Hz
+pf=0.8;//Power factor Lagging
+Xs=20;//%//synchronous reluctance
+Xs=Xs/100;///p.u.
+disp("Part(a)");
+V=1;//p.u.//on no load
+E=1;//p.u.//on no load
+Ps=V*E/Xs;//p.u.
+Ps=Ps*P;//MW per elect. radian
+Ps=Ps*1000;//kW per elect. radian
+//1 mech. radian=%pi/90 elect. radian
+Ps=Ps*%pi/90;//kW per mech. degree
+disp(Ps,"Synchronising power per mech. degree(kW)");
+d=0.5;//degree////displacement
+Ts=Ps*1000*d/2/%pi/ns;//N-m
+format('v',6);
+disp(Ts,"Synchronising torque(N-m)");
+disp("Part(b)");
+theta=acosd(pf);//degree
+E=V+(cosd(theta)-%i*sind(theta))*%i*Xs;//p.u.
+Ps=V*E/Xs;//p.u.
+Ps=Ps*P;//MW per elect. radian
+Ps=Ps*1000;//kW per elect. radian
+//1 mech. radian=%pi/90 elect. radian
+Ps=Ps*%pi/90;//kW per mech. degree
+Ps=abs(Ps);//kW per mech. degree
+disp(Ps,"Synchronising power per mech. degree(kW)");
+d=0.5;//degree////displacement
+Ts=abs(Ps)*1000*d/2/%pi/ns;//N-m
+disp(Ts,"Synchronising torque(N-m)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH4/EX4.4/Ex4_4.sce b/2441/CH4/EX4.4/Ex4_4.sce new file mode 100755 index 000000000..19fbc2899 --- /dev/null +++ b/2441/CH4/EX4.4/Ex4_4.sce @@ -0,0 +1,21 @@ +//Exa 4.4
+clc;clear;close;
+format('v',6);
+P=2;//MVA
+V=6000;//V
+speed=750;//rpm//speed
+ns=speed/60;//rps
+Zs=6;//ohm/phase
+f=50;//Hz
+pf=0.8;//Power factor Lagging
+//Calculation
+I=P*10^6/sqrt(3)/V;//A//Current
+theta=acosd(pf);//degree
+E=V/sqrt(3)+I*(cosd(theta)-%i*sind(theta))*%i*Zs;//V
+Ps=V*sqrt(3)*E/Zs/1000;//kw per elect. radian
+Ps=Ps*4*%pi/180;//kW per mech. degree
+Ps=abs(Ps);//kW per mech. degree
+disp(Ps,"Synchronising power per mech. degree(kW)");
+Ts=abs(Ps)*1000/2/%pi/ns;//N-m
+disp(Ts,"Synchronising torque(N-m)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH4/EX4.5/Ex4_5.sce b/2441/CH4/EX4.5/Ex4_5.sce new file mode 100755 index 000000000..d4df3b319 --- /dev/null +++ b/2441/CH4/EX4.5/Ex4_5.sce @@ -0,0 +1,34 @@ +//Exa 4.5
+clc;clear;close;
+format('v',6);
+I=100;//A///Current
+V=11;//kV
+Xs=4;//ohm/phase
+f=50;//Hz
+pf=0.8;//Power factor Lagging
+//Calculation
+theta=acosd(pf);//degree
+disp("Part(a)");
+E=V*1000/sqrt(3)+I*(cosd(theta)-%i*sind(theta))*%i*Xs;//V
+del=atand(imag(E)/real(E));//degree
+E=abs(E);//V/phase
+disp(E,"Open circuit phase emf(V/phase)");
+disp(del,"Angle delta(degree)");
+disp("Part(b)");
+del_dash=10+del;//degree
+P_by_V=E*sind(del_dash)/Xs;//per phase
+//P=V*I*cos_fi
+I_cos_fi=P_by_V;
+//V*1000/sqrt(3)+I*(cos_fi-%i*sin_fi)*%i*Xs=E
+I_sin_fi={sqrt(E^2-(4*I_cos_fi^2))-V*1000/sqrt(3)}/4;
+tan_fi=I_sin_fi/I_cos_fi;
+fi=atand(tan_fi);//degree
+I=I_cos_fi/cosd(fi);//A
+disp(I,"New load current(A)");
+pf=cosd(fi);//lagging power factor
+disp(pf,"Its power factor(lagging)");
+disp("Part(c)");
+pf1=0.8;///original power factor
+Idash=I*pf/pf1;//Current
+disp(Idash,"New value of load current(A)");
+//Answer is slightly differ because of accuracy in calculations.
diff --git a/2441/CH4/EX4.6/Ex4_6.sce b/2441/CH4/EX4.6/Ex4_6.sce new file mode 100755 index 000000000..3fd4dd730 --- /dev/null +++ b/2441/CH4/EX4.6/Ex4_6.sce @@ -0,0 +1,34 @@ +//Exa 4.6
+clc;clear;close;
+format('v',7);
+G=200;//MVA
+H=6;//MJ/MVA///Inertia Constant
+V=11;//kV
+f=50;//Hz
+L1=120;//MW
+L2=160;//MW
+
+//Calculation
+disp("Part(a)");
+Es=G*H;//MJ////Stored Energy
+disp(Es,"Stored energy(MJ)");
+disp("Part(b)");
+Pa=L1-L2;//MW
+M=G*H/180/f;//MJ-sec/elect.deg.
+alfa=-Pa/M;//elect.deg./sec^2///Retardation
+disp(alfa,"Motor retardation(elect.deg.sec^2)");
+disp("Part(c)");
+n=5;//cycles
+t=n/f;//sec
+del_change=1/2*-alfa*t^2;//elect.deg.
+disp(del_change,"Change in power angle(elect.deg.)");
+alfa=alfa*60/(180*4);//rpm/sec
+ns=1500;//rpm
+nr=ns+(-alfa)*t;//rpm;///rotor speed
+disp(nr,"Rotor speed at the end of 5 cycle(rpm)");
+disp("Part(d)")
+H2=4;//MJ/MVA
+G2=150;//MVA
+Gb=100;//MVA
+Heb=H*G/Gb+H2*G2/Gb;//MJ/MVA
+disp(Heb,"Inertia constant for the equivalent generator(MJ/MVA)");
diff --git a/2441/CH5/EX5.1/Ex5_1.sce b/2441/CH5/EX5.1/Ex5_1.sce new file mode 100755 index 000000000..d876f6ae0 --- /dev/null +++ b/2441/CH5/EX5.1/Ex5_1.sce @@ -0,0 +1,15 @@ +//Example 5.1
+clc;clear;close;
+P=100;//MW
+drop=4;//%(No load to full load drop)
+f=50;//Hz
+disp("Part(i)");
+p=1;//MW(For calculating per unit MW)
+R=(drop/100)*f/p;//Hz/p.u.MW
+disp(R,"Speed regulation in Hz/p.u.MW");
+R=(drop/100)*f/P;//Hz/MW
+disp(R,"Speed regulation in Hz/MW");
+disp("Part(ii)");
+del_f=-0.1;//Hz(Frequency drop)
+delP=-1/R*del_f;//MW(Change in power output)
+disp(delP,"Change in power output(MW)");
diff --git a/2441/CH5/EX5.10/Ex5_10.sce b/2441/CH5/EX5.10/Ex5_10.sce new file mode 100755 index 000000000..0248833b8 --- /dev/null +++ b/2441/CH5/EX5.10/Ex5_10.sce @@ -0,0 +1,30 @@ +//Example 5.10
+clc;clear;close;
+format('v',7);
+s=poly(0,'s');//for transfer function
+Tg=0.2;//sec///time constant of governing system
+Tt=2;//sec///time constant of turbine
+Gr=1/(1+Tg*s);//Transfer function of governer
+Gt=1/(1+Tt*s);//Transfer function of turbine
+C=1500;//MW
+f=50;//Hz
+R=4;//%////Speed regulation constant
+H=5;//sec////Inertia constant
+delPL=1;//%////change in load
+delf=1;//%////change in frequency
+disp("Part(a)");
+R=R/100*f;//z/p.u.MW
+D=delPL/delf*C/f;//MW/Hz
+D=D/C;//p.u.MW/Hz
+Kp=1/D;//Hz/p.u.MW
+Tp=2*H/f/D;//sec
+Gp=Kp/(1+Tp*s);//Transfer function of power system
+delFs=-Gp/(1+Gr*Gt*Gp/R);
+disp(delFs,"delFs = M/s*");
+disp("Part(b)");
+delf0_by_M=-Kp/(1+Kp/R);//Hz
+delf0=delf/100*f;//Hz
+M=delf0/delf0_by_M;//p.u.MW
+M=M*C;//MW
+disp(M,"Largest step change(MW)");
+//Transfer functions multiplication Gr*Gt*Gp is calculated & it is not possible to show together without calculated as in the book.
diff --git a/2441/CH5/EX5.11/Ex5_11.sce b/2441/CH5/EX5.11/Ex5_11.sce new file mode 100755 index 000000000..3cbf38e28 --- /dev/null +++ b/2441/CH5/EX5.11/Ex5_11.sce @@ -0,0 +1,22 @@ +//Example 5.11
+clc;clear;close;
+format('v',8);
+GA=5000;//MW
+GB=10000;//MW
+R=2;//Hz/p.u.MW////Speed regulation constant
+D=0.01;//p.u.MW/Hz
+Ls=100;//MW//Load increase
+RA=R*GB/GA;//Hz/p.u.MW
+DA=D*GA/GB;//p.u.MW/Hz
+RB=R;//Hz/p.u.MW
+DB=D;//p.u.MW/Hz
+Beta_A=DA+1/RA;//p.u.MW/Hz
+Beta_B=DB+1/RB;//p.u.MW/Hz
+MA=0;//Load increase
+MB=Ls/GB;//p.u.MW
+delf0=-MB/(Beta_A+Beta_B);//Hz
+disp(delf0,"Static frequency drop(Hz)");
+format('v',6);
+delPAB=Beta_A*MB/(Beta_A+Beta_B);//p.u.MW
+delPAB=delPAB*GB;//MW
+disp(delPAB,"Change in tie line power(MW)");
diff --git a/2441/CH5/EX5.12/Ex5_12.sce b/2441/CH5/EX5.12/Ex5_12.sce new file mode 100755 index 000000000..61f7c848f --- /dev/null +++ b/2441/CH5/EX5.12/Ex5_12.sce @@ -0,0 +1,34 @@ +//Example 5.12
+clc;clear;close;
+format('v',8);
+GA=500;//MW
+GB=2000;//MW
+RA=2.5;//Hz/p.u.MW////Speed regulation constant
+RB=2;//Hz/p.u.MW////Speed regulation constant
+Ls=20;//MW//Load increase
+f=50;//Hz
+delL=1;//%////change in load
+delf=1;//%////change in frequency
+DA=delL/delf*GA/f;//MW/Hz
+DA=DA/GB;//p.u.MW/Hz
+DB=delL/delf*GB/f;//MW/Hz
+DB=DB/GB;//p.u.MW/Hz
+RA=RA*GB/GA;//Hz/p.u.MW
+Beta_A=DA+1/RA;//p.u.MW/Hz
+Beta_B=DB+1/RB;//p.u.MW/Hz
+disp("Part(a)");
+MA=Ls/GB;//unitless
+MB=0;//unitless
+delf0=-MA/(Beta_A+Beta_B);//Hz
+disp(delf0,"Change in frequency(Hz)");
+delPAB=-Beta_B*MA/(Beta_B+Beta_A);//p.u.MW
+delPAB=delPAB*GB;//MW
+disp(delPAB,"Change in tie line power(MW)");
+disp("Part(b)");
+MB=Ls/GB;//unitless
+MA=0;//unitless
+delf0=-MB/(Beta_A+Beta_B);//Hz
+disp(delf0,"Change in frequency(Hz)");
+delPAB=Beta_A*MB/(Beta_B+Beta_A);//p.u.MW
+delPAB=delPAB*GB;//MW
+disp(delPAB,"Change in tie line power(MW)");
diff --git a/2441/CH5/EX5.13/Ex5_13.sce b/2441/CH5/EX5.13/Ex5_13.sce new file mode 100755 index 000000000..e15752a36 --- /dev/null +++ b/2441/CH5/EX5.13/Ex5_13.sce @@ -0,0 +1,21 @@ +//Example 5.13
+clc;clear;close;
+format('v',5);
+G=4000;//MW
+R=2;//Hz/p.u.MW////Speed regulation constant
+H=5;//sec
+C=600;//MW//Capacity
+theta=40;//degree///Power angle
+f=50;//Hz
+disp("Part(a)");
+T=C/G*cosd(theta);//sec
+omega0=sqrt([2*%pi*f*T/H-(f/4/R/H)^2]);//radian/sec
+disp(omega0,"Frequency of oscillation(radian/sec)");
+disp("Part(b)");
+delLB=100;//MW//change in load in area B
+delPAB=delLB/2;//MW//because Beta_A=Beta_B
+disp(delPAB,"Change in tie line power(MW)");
+disp("Part(c)");
+format('v',6);
+omega0=sqrt([2*%pi*f*T/H]);//radian/sec
+disp(omega0,"Frequency of oscillation(radian/sec)");
diff --git a/2441/CH5/EX5.14/Ex5_14.sce b/2441/CH5/EX5.14/Ex5_14.sce new file mode 100755 index 000000000..ea9c0f992 --- /dev/null +++ b/2441/CH5/EX5.14/Ex5_14.sce @@ -0,0 +1,18 @@ +//Example 5.14
+clc;clear;close;
+format('v',6);
+C1=300;//MW
+C2=400;//MW
+G1=4;//%//droop characteristics of governer
+G2=5;//%//droop characteristics of governer
+L=600;//MW
+f=50;//Hz
+//Load on first generator =L1
+//Load on second generator =L-L1
+//f-G1*f/100*(L1/C1)=f-G2*f/100*(L2/C2)
+L1=G2*L/C2/(G1/C1+G2/C2);//MW
+L2=L-L1;//MW
+disp(L1,"Load on first generator(MW)");
+disp(L2,"Load on second generator(MW)");
+fLoad=f*(1-L1/C1*G1/100);//Hz
+disp(fLoad,"Frequency at load(Hz)");
diff --git a/2441/CH5/EX5.15/Ex5_15.sce b/2441/CH5/EX5.15/Ex5_15.sce new file mode 100755 index 000000000..70dcdecff --- /dev/null +++ b/2441/CH5/EX5.15/Ex5_15.sce @@ -0,0 +1,14 @@ +//Example 5.15
+clc;clear;close;
+format('v',6);
+G=100;//MVA
+f=50;//Hz
+delL=50;//MW
+Tc=0.4;//sec
+H=5;///kWs/kVA
+KE=G*1000*H;//kWs
+delKE=delL*1000*Tc;////kWs///due to decrease in load
+fnew=sqrt((KE+delKE)/KE) *f;//Hz
+fdev=(fnew-f)/f*100;//%
+disp(fnew,"New frequency(Hz)");
+disp(fdev,"Frequency deviation(%)");
diff --git a/2441/CH5/EX5.16/Ex5_16.sce b/2441/CH5/EX5.16/Ex5_16.sce new file mode 100755 index 000000000..d43b1991d --- /dev/null +++ b/2441/CH5/EX5.16/Ex5_16.sce @@ -0,0 +1,15 @@ +//Example 5.16
+clc;clear;close;
+format('v',7);
+G=100;//MVA
+f=50;//Hz
+delL=60;//MW
+Tc=0.35;//sec
+H=5;///kWs/kVA
+KE=G*1000*H;//kWs
+delKE=(G-delL)*1000*Tc;////kWs///due to decrease in load
+fnew=sqrt((KE+delKE)/KE) *f;//Hz
+fdev=(fnew-f)/f*100;//%
+disp(fnew,"New frequency(Hz)");
+format('v',6);
+disp(fdev,"Frequency deviation(%)");
diff --git a/2441/CH5/EX5.17/Ex5_17.sce b/2441/CH5/EX5.17/Ex5_17.sce new file mode 100755 index 000000000..32be3be11 --- /dev/null +++ b/2441/CH5/EX5.17/Ex5_17.sce @@ -0,0 +1,11 @@ +//Example 5.17
+clc;clear;close;
+format('v',6);
+KE=1500;//MJ
+Pin=5;//MW
+f=50;//Hz
+t=1;//sec
+delKE=Pin*t;////MJ///due to power inputs
+fnew=sqrt((KE+delKE)/KE) *f;//Hz
+delf=fnew-f;///Hz/second
+disp(delf,"Frequency increase rate(Hz/sec)");
diff --git a/2441/CH5/EX5.18/Ex5_18.sce b/2441/CH5/EX5.18/Ex5_18.sce new file mode 100755 index 000000000..ae6e885b3 --- /dev/null +++ b/2441/CH5/EX5.18/Ex5_18.sce @@ -0,0 +1,18 @@ +//Example 5.18
+clc;clear;close;
+format('v',6);
+C=2000;//MW///Capacity
+L=1000;//MW//Load
+H=5;//kWs/KVA
+R=2.4;//Hz/puMW//Regulation
+f=50;//Hz
+delL=1;//%////change in load
+delf=1;//%////change in frequency
+D=delL/delf*L/f;//MW/Hz
+D=D/C;//p.u.MW/Hz
+Kp=1/D;//Hz/p.u.MW
+Tp=2*H/f/D;//sec
+disp("Primary ALFC loop parameters are : ");
+disp(D,"D(p.u.MW/Hz)");
+disp(Kp,"Kp(Hz/p.u.MW)");
+disp(Tp,"Tp(sec)");
diff --git a/2441/CH5/EX5.19/Ex5_19.sce b/2441/CH5/EX5.19/Ex5_19.sce new file mode 100755 index 000000000..019ba7a74 --- /dev/null +++ b/2441/CH5/EX5.19/Ex5_19.sce @@ -0,0 +1,16 @@ +//Example 5.19
+clc;clear;close;
+format('v',6);
+Tp=10;//sec
+Tg=0;//sec
+Tt=0;//sec
+Kp=100;//Hz/p.u.MW
+R=3;///Hz/CuMW
+delPD=0.1;//p.u.
+Ki=0.1;//constant
+f=50;//Hz
+s=poly(0,'s');
+delFs=-Kp/Tp*[delPD/(s^2+s*{(1+Kp/R)/Tp})+Ki*Kp/Tp];
+n=1;//cycle
+time_error=n/f;//sec
+disp(time_error,"Total time error(sec)");
diff --git a/2441/CH5/EX5.2/Ex5_2.sce b/2441/CH5/EX5.2/Ex5_2.sce new file mode 100755 index 000000000..6dd02222b --- /dev/null +++ b/2441/CH5/EX5.2/Ex5_2.sce @@ -0,0 +1,15 @@ +//Example 5.2
+clc;clear;close;
+format('v',6);
+P=100;//MVA
+f=50;//Hz
+H=5;//kW-sec/kVA(Constant)
+delP=50;//MW(Increased Load)
+td=0.5;//s(Time delay)
+P=P/1000;//kVA
+KE=P*H;//kW-sec
+delP=delP/1000;//kW(Increased Load)
+KE_loss=delP*td;//kW-s
+f_new=sqrt((KE-KE_loss)/KE)*f;//Hz
+f_dev=(f-f_new)/f*100;//%(Frequency deviation)
+disp(f_dev,"Frequency deviation(%)");
diff --git a/2441/CH5/EX5.20/Ex5_20.sce b/2441/CH5/EX5.20/Ex5_20.sce new file mode 100755 index 000000000..bf7d7895d --- /dev/null +++ b/2441/CH5/EX5.20/Ex5_20.sce @@ -0,0 +1,21 @@ +//Example 5.20
+clc;clear;close;
+format('v',6);
+L=14;//MW//Total Load
+C1=15;//MW
+R1=3;//%//speed regulation
+C2=4;//MW
+R2=4;//%//speed regulation
+LB=4;//MW//Load on bus bar
+LA=10;//MW///Load on bus bar
+f=50;//Hz
+//Load on station A= L1 MW
+//Load on station B= L-L1 MW
+//f-C1*f/100*(L1/C1)=f-C2*f/100*(L2/C2)
+L1=R2*L/C2/(R1/C1+R2/C2);//MW
+L2=L-L1;//MW
+disp(L1,"Load generation at station A(MW)");
+disp(L2,"Load generation at station B(MW)");
+Pt=L1-LA;//MW//Power transmitted A to B
+f_oper=f-R1/100/C1*(L1)*f;//Hz
+disp(f_oper,"Operating Frequency(Hz)");
diff --git a/2441/CH5/EX5.21/Ex5_21.sce b/2441/CH5/EX5.21/Ex5_21.sce new file mode 100755 index 000000000..91d72357b --- /dev/null +++ b/2441/CH5/EX5.21/Ex5_21.sce @@ -0,0 +1,15 @@ +//Example 5.21
+clc;clear;close;
+format('v',6);
+C1=300;//MW
+C2=400;//MW
+G1=4;//%//droop characteristics of governer
+G2=6;//%//droop characteristics of governer
+L=400;//MW
+f=50;//Hz
+L1=C1*L/(C1+C2);//MW//Load on 300 MW generator
+L2=L*C2/(C1+C2);//MW//Load on 400 MW generator
+f01=f*(C1)/(C1-G1/100*L1);//Hz///No load frequency
+disp(f01,"No load frequency of 300 MW generator(Hz)");
+f02=f*(C2)/(C2-G2/100*L2);//Hz///No load frequency
+disp(f02,"No load frequency of 400 MW generator(Hz)");
diff --git a/2441/CH5/EX5.22/Ex5_22.sce b/2441/CH5/EX5.22/Ex5_22.sce new file mode 100755 index 000000000..f5e545c14 --- /dev/null +++ b/2441/CH5/EX5.22/Ex5_22.sce @@ -0,0 +1,20 @@ +//Example 5.22
+clc;clear;close;
+format('v',6);
+C1=200;//MW
+C2=100;//MW
+R1=1.5;//%//speed regulation
+R2=3;//%//speed regulation
+L=100;//MW///Load on each bus
+f=50;//Hz
+RA=R1/100*f/C1;//Hz/MW
+RB=R2/100*f/C2;//Hz/MW
+//Let PA= generation at plant A
+//PB=2*L-PA will be generation at plant B
+//RA*PA=RB*PB
+PA=RB*2*L/(RA+RB);//MW
+PB=2*L-PA;//MW
+disp(PA,"Load generation at plant A(MW)");
+disp(PB,"Load generation at plant B(MW)");
+Pt=PA-L;//MW///Power transfer
+disp(Pt,"Power transfer from A to B(MW)");
diff --git a/2441/CH5/EX5.23/Ex5_23.sce b/2441/CH5/EX5.23/Ex5_23.sce new file mode 100755 index 000000000..067acca6d --- /dev/null +++ b/2441/CH5/EX5.23/Ex5_23.sce @@ -0,0 +1,13 @@ +//Example 5.23
+clc;clear;close;
+format('v',7);
+Z=1.5+%i*2.5;//ohm
+V=11;//kV
+P=20;//MW
+pf=0.8;//power factor
+theta=acosd(pf);
+I=P*1000/sqrt(3)/V/pf;//
+I=I*expm(%i*-theta*%pi/180);//A
+Vdrop=I*Z;//V
+Vboost=Vdrop;//V
+disp(Vboost,"Voltage boost needed at station A(V)");
diff --git a/2441/CH5/EX5.24/Ex5_24.sce b/2441/CH5/EX5.24/Ex5_24.sce new file mode 100755 index 000000000..ac0085ca4 --- /dev/null +++ b/2441/CH5/EX5.24/Ex5_24.sce @@ -0,0 +1,28 @@ +//Example 5.24
+clc;clear;close;
+format('v',6);
+Z=3+%i*9;//%///impedence
+Z=Z/100;//p.u.///Impedence
+I=1;//p.u.
+IZ=Z;//p.u.
+disp("Part(a)");
+//2*I^2-2*cos(del)=[abs(IZ)]^2
+cos_del=acosd((2*I^2-[abs(IZ)]^2)/2);//degree
+disp(cos_del,"Phase angle between two station(degree)");
+angle_abc=87.277;///degree
+theta=180-angle_abc-atand(imag(IZ)/real(IZ));//degree
+Preal=I^2*cosd(theta);//p.u.
+disp(Preal,"Real power transfer(p.u.)");
+Preactive=I^2*sind(theta);//p.u.
+disp(Preactive,"Reactive power transfer(p.u.)");
+disp("Part(b)");
+//1.05^2+1^2-2*1.05*cos(del)=[abs(IZ)]^2
+cos_del=acosd((1.05^2+1^2-[abs(IZ)]^2)/2/1.05);//degree
+disp(cos_del,"Phase angle between two station(degree)");
+angle_dbc=60.53;///degree
+theta=atand(imag(IZ)/real(IZ))-angle_dbc//degree
+Preal=I^2*cosd(theta);//p.u.
+disp(Preal,"Real power transfer(p.u.)");
+Preactive=I^2*sind(theta);//p.u.
+disp(Preactive,"Reactive power transfer(p.u.)");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH5/EX5.3/Ex5_3.sce b/2441/CH5/EX5.3/Ex5_3.sce new file mode 100755 index 000000000..a8f494730 --- /dev/null +++ b/2441/CH5/EX5.3/Ex5_3.sce @@ -0,0 +1,15 @@ +//Example 5.3
+clc;clear;close;
+format('v',7);
+P1=500;//MW
+P2=200;//MW
+f=50;//Hz
+delP=140;//MW(System load increase)
+f_new=49.5;//Hz(Frequency after drop)
+delP1=delP*P1/(P1+P2);//MW
+delP2=delP*P2/(P1+P2);//MW
+f_dev=f_new-f;//Hz
+//For delPdash=0, R1 &R2 can be calculated as :
+R1=-1/delP1*f_dev;//Hz/MW
+R2=-1/delP2*f_dev;//Hz/MW
+disp(R2,R1,"Value of R for unit 1 & 2(Hz/MW)");
diff --git a/2441/CH5/EX5.4/Ex5_4.sce b/2441/CH5/EX5.4/Ex5_4.sce new file mode 100755 index 000000000..bb242095e --- /dev/null +++ b/2441/CH5/EX5.4/Ex5_4.sce @@ -0,0 +1,23 @@ +//Example 5.4
+clc;clear;close;
+format('v',8);
+f=50;//Hz
+R=2;//Hz/pu MW
+Pr=10000;//MW(Rated Capacity)
+P=Pr/2;//MW(Operating Power)
+delP=2;//%(Load Increase)
+del_f=f*1/100;//Hz(1% change in frequency)
+del_PL=P*1/100;//MW(1% change in load)
+//Rate of change of load with frequency :
+D=del_PL/del_f;//MW/Hz
+D=D/Pr;//p.u. MW/Hz
+//Frequency response characteristic :
+Beta=D+1/R;//p.u. MW/Hz
+M=delP/100*P;//MW
+M=M/Pr;//p.u. MW
+del_fo=-M/Beta;//Hz
+disp(del_fo,"Static frequency drop(Hz)")
+R=%inf;
+Beta=D+1/R;//p.u. MW/Hz
+del_fo=-M/Beta;//Hz
+disp(del_fo,"If speed governer loop is open, frequency drop(Hz)")
diff --git a/2441/CH5/EX5.5/Ex5_5.sce b/2441/CH5/EX5.5/Ex5_5.sce new file mode 100755 index 000000000..ec2d952b6 --- /dev/null +++ b/2441/CH5/EX5.5/Ex5_5.sce @@ -0,0 +1,18 @@ +//Example 5.5
+clc;clear;close;
+format('v',7);
+C=10000;//MW(Control area capacity)
+P=5000;//MW
+H=5;//s
+R=3;//Hz/pu MW
+f=50;//Hz
+del_f=f*1/100;//Hz
+del_PL=P*1/100;//MW
+D=del_PL/del_f;//MW/Hz
+D=D/C;//p.u. MW/Hz
+//Primary ALFC loop parameters :
+Kp=1/D;//Hz/p.u. MW
+Tp=2*H/f/D;//s
+disp("Primary ALFC loop parameters :")
+disp(Kp,"Kp(Hz/p.u. MW)");
+disp(Tp,"Tp(seconds)");
diff --git a/2441/CH5/EX5.6/Ex5_6.sce b/2441/CH5/EX5.6/Ex5_6.sce new file mode 100755 index 000000000..1f0349eac --- /dev/null +++ b/2441/CH5/EX5.6/Ex5_6.sce @@ -0,0 +1,24 @@ +//Example 5.6
+clc;clear;close;
+format('v',6);
+f=50;//Hz
+R=2;//Hz/pu MW
+Pr=10000;//MW(Rated Capacity)
+P=Pr/2;//MW(Operating Power)
+delP=2;//%(Load Increase)
+del_f=f*1/100;//Hz(1% change in frequency)
+del_PL=P*1/100;//MW(1% change in load)
+//Rate of change of load with frequency :
+D=del_PL/del_f;//MW/Hz
+D=D/Pr;//p.u. MW/Hz
+//Frequency response characteristic :
+Beta=D+1/R;//p.u. MW/Hz
+M=delP/100*P;//MW
+M=M/Pr;//p.u. MW
+del_fo=-M/Beta;//Hz
+disp("Frequency drop contribution to increase in load(MW) : ");
+delP_fo=-del_fo*(D*Pr);//MW
+disp(delP_fo);
+disp("Increase in generation to meet the increase load(MW) ");
+delP_gen=-del_fo/R*Pr;//MW
+disp(delP_gen);
diff --git a/2441/CH5/EX5.7/Ex5_7.sce b/2441/CH5/EX5.7/Ex5_7.sce new file mode 100755 index 000000000..3bb22d797 --- /dev/null +++ b/2441/CH5/EX5.7/Ex5_7.sce @@ -0,0 +1,15 @@ +//Example 5.7
+clc;clear;close;
+format('v',5);
+G=100;//MVA
+f=50;//Hz
+n=3000;//rpm
+L=25;//MW//Load
+td=0.5;//sec
+H=4.5;//MW-sec/MVA
+//Calculation
+KE=H*G;//MW-sec////at no load
+KE_Loss=L*td;//MW-sec///due to increase in load
+f_new=sqrt((KE-KE_Loss)/KE)*f;//Hz
+delF=(f-f_new)/f*100;//%////frequency deviation
+disp(delF,"Frequency deviation(%)");
diff --git a/2441/CH5/EX5.8/Ex5_8.sce b/2441/CH5/EX5.8/Ex5_8.sce new file mode 100755 index 000000000..9194eff06 --- /dev/null +++ b/2441/CH5/EX5.8/Ex5_8.sce @@ -0,0 +1,24 @@ +//Example 5.8
+clc;clear;close;
+format('v',6);
+C=4000;//MW
+f=50;//Hz
+L=2500;//MW//Load
+R=2;//Hz/p.u.MW////Speed regulation constant
+H=5;//sec////Inertia constant
+delPL=2;//%////change in load
+delf=1;//%////change in frequency
+disp("Part(a)");
+D=delPL/delf*L/f;//MW/Hz
+D=D/C;//p.u.MW/Hz
+Beta=D+1/R;//p.u.MW/Hz
+delf0=-0.2;//Hz
+M=-(delf0)*Beta;//p.u.MW
+M=M*C;//MW
+disp(M,"Largest change in step load(MW)");
+disp("Part(b)");
+Kp=1/D;//Hz/p.u.MW
+Tp=2*H/f/D;//sec
+Tdash=(R+Kp)/R/Tp;//sec
+disp(Tdash,"(R+Kp)/(R*Tp) in seconds = ");
+printf('Change in frequency as a funtion of time, \ndelf(t) = -0.2*(1-epsilon^(-%f*t))',Tdash);
diff --git a/2441/CH5/EX5.9/Ex5_9.sce b/2441/CH5/EX5.9/Ex5_9.sce new file mode 100755 index 000000000..ef755fe69 --- /dev/null +++ b/2441/CH5/EX5.9/Ex5_9.sce @@ -0,0 +1,27 @@ +//Example 5.9
+clc;clear;close;
+format('v',7);
+C=4000;//MW
+f=50;//Hz
+L=C;//MW//Load
+R=2.5;//%////Speed regulation constant
+H=5;//sec////Inertia constant
+delPL=1;//%////change in load
+delf=1;//%////change in frequency
+disp("Part(a)");
+Ls=80;//MW;//increase in step to load
+R=R/100*f;//z/p.u.MW
+D=delPL/delf*L/f;//MW/Hz
+D=D/C;//p.u.MW/Hz
+M=Ls/L;//unitless//for given step load
+Kp=1/D;//Hz/p.u.MW
+Tp=2*H/f/D;//sec
+Tdash1=(R+Kp)/R/Tp;//sec
+disp(Tdash1,"(R+Kp)/(R*Tp) in seconds = ");
+Tdash2=(R*Kp*M)/(R+Kp);//sec
+disp(Tdash2,"(R*Kp*M)/(R+Kp) in seconds = ");
+delf0=-Tdash2;//Hz////Static frequency error
+disp(delf0,"Static frequency error(Hz)");
+disp("Part(b)");
+Ki=(1+Kp/R)^2/4/Tp/Kp;//p.u.MW/Hz
+disp(Ki,"Critical value of Ki(p.u.MW/Hz)");
diff --git a/2441/CH6/EX6.1/Ex6_1.sce b/2441/CH6/EX6.1/Ex6_1.sce new file mode 100755 index 000000000..a8176db35 --- /dev/null +++ b/2441/CH6/EX6.1/Ex6_1.sce @@ -0,0 +1,18 @@ +//exa 6.1
+clc;clear;close;
+format('v',6);
+kV=220;//kV
+Z=0.8+%i*0.2;//pu
+V=1;//V(Voltage at load terminal)
+X=0.2+0.05;//pu(line and transformer reactance)
+P=real(Z);//pu
+Q=imag(Z);//pu
+BaseMVA=100;//MVA
+BasekV=220;//kV
+I=sqrt((P^2+Q^2)/V^2)*expm(%i*atan(-imag(Z),real(Z)));//pu
+Vb=V+I*(X*expm(%i*%pi/2));//pu(Voltage at 200 kV bus)
+fi_p=atand(imag(Vb),real(Vb));//degree(power angle)
+Vb=abs(Vb)*kV;//kV(Voltage at 200 kV bus)
+pf=cosd(fi_p+atand(imag(Z),real(Z)));//power factor at 220 kV bus
+disp(Vb,"Voltage at 220 kV bus (kV)");
+disp(pf,"Power factor at 220 kV bus (lagging)");
diff --git a/2441/CH6/EX6.2/Ex6_2.sce b/2441/CH6/EX6.2/Ex6_2.sce new file mode 100755 index 000000000..b9a676dfc --- /dev/null +++ b/2441/CH6/EX6.2/Ex6_2.sce @@ -0,0 +1,19 @@ +//exa 6.2
+clc;clear;close;
+format('v',6);
+kV=220;//kV
+Z=0.8+%i*0.2;//pu
+V=1;//V(Voltage at load terminal)
+X=0.2+0.05;//pu(line and transformer reactance)
+P=real(Z);//pu
+Q=imag(Z);//pu
+BaseMVA=100;//MVA
+BasekV=220;//kV
+I=sqrt((P^2+Q^2)/V^2);//pu
+Vb=V+I*(X*expm(%i*%pi/2));//pu(Voltage at 200 kV bus)
+fi_p=atand(imag(Vb),real(Vb));//degree(power angle)
+Vb=abs(Vb)*kV;//kV(Voltage at 200 kV bus)
+pf=cosd(fi_p);//power factor at 220 kV bus
+disp(Vb,"Voltage at 220 kV bus (kV)");
+format('v',5);
+disp(pf,"Power factor at 220 kV bus (lagging)");
diff --git a/2441/CH6/EX6.3/Ex6_3.sce b/2441/CH6/EX6.3/Ex6_3.sce new file mode 100755 index 000000000..ae154bdda --- /dev/null +++ b/2441/CH6/EX6.3/Ex6_3.sce @@ -0,0 +1,73 @@ +//exa 6.3
+clc;clear;close;
+format('v',7);
+l=350;//km(length of line)
+Z=180*expm(%i*75*%pi/180);//ohm/phase(Total)
+Y=1*10^-3*expm(%i*90*%pi/180);//Siemens/phase(Total)
+z=Z/l;//ohm/km
+y=Y/l;//Siemens/km
+re=l*sqrt(z*y);//
+Zc=sqrt(z/y);//ohm
+disp("Part(a) A,B,C,D parameters are : ");
+A=cosh(re);//unitless
+D=A;//unitless
+B=Zc*sinh(re);//ohm
+C=sinh(re)/Zc;//unitless
+A_mag=abs(A);//unitless
+A_angle=atand(imag(A)/real(A));//degree
+B_mag=abs(B);//ohm
+B_angle=atand(imag(B)/real(B));//degree
+C_mag=abs(C);//unitless
+C_angle=atand(imag(C)/real(C));//degree
+C_angle=C_angle+180;//degree(Converting -ve to +ve angle)
+D_mag=abs(D);//unitless
+D_angle=atand(imag(D)/real(D));//degree
+disp(A_mag,"Magnitude of A : ");
+format('v',5);
+disp(A_angle,"Angle of A(degree) : ");
+format('v',7);
+disp(B_mag,"Magnitude of B(ohm) : ");
+format('v',6);
+disp(B_angle,"Angle of B(degree) : ");
+format('v',8);
+disp(C_mag,"Magnitude of C : ");
+format('v',6);
+disp(C_angle,"Angle of C(degree) : ");
+format('v',7);
+disp(D_mag,"Magnitude of D : ");
+format('v',5);
+disp(D_angle,"Angle of D(degree) : ");
+//60% series compensation
+B=B-%i*60/100*abs(Z)*sind(atand(imag(Z),real(Z)));//ohm(considering series compensation=60%)
+//For Equivalent pi-circuit
+disp("Part(b) A,B,C,D parameters of compensated line are : ");
+Ydash=2/Zc*[(cosh(re)-1)/sinh(re)];//S
+A=1+B*Ydash/2;//unitless
+D=A;//unitless
+C=2*Ydash/2+B*(Ydash/2)^2;//unitless
+A_mag=abs(A);//unitless
+A_angle=atand(imag(A)/real(A));//degree
+B_mag=abs(B);//ohm
+B_angle=atand(imag(B)/real(B));//degree
+C_mag=abs(C);//unitless
+C_angle=atand(imag(C)/real(C));//degree
+C_angle=C_angle+180;//degree(Converting -ve to +ve angle)
+D_mag=abs(D);//unitless
+D_angle=atand(imag(D)/real(D));//degree
+format('v',4);
+disp(B_mag,"Magnitude of B(ohm) : ");
+format('v',6);
+disp(B_angle,"Angle of B(degree) : ");
+format('v',7);
+disp(A_mag,"Magnitude of A : ");
+format('v',5);
+disp(A_angle,"Angle of A(degree) : ");
+format('v',6);
+disp(C_mag,"Magnitude of C : ");
+format('v',5);
+disp(C_angle,"Angle of C(degree) : ");
+format('v',7);
+disp(D_mag,"Magnitude of D : ");
+format('v',5);
+disp(D_angle,"Angle of D(degree) : ");
+//Answer for some parts are not accurate in the textbook.
diff --git a/2441/CH6/EX6.4/Ex6_4.sce b/2441/CH6/EX6.4/Ex6_4.sce new file mode 100755 index 000000000..d7c9452c4 --- /dev/null +++ b/2441/CH6/EX6.4/Ex6_4.sce @@ -0,0 +1,50 @@ +//exa 6.4
+clc;clear;close;
+format('v',6);
+l=350;//km(length of line)
+Z=180*expm(%i*75*%pi/180);//ohm/phase(Total)
+Y=1*10^-3*expm(%i*90*%pi/180);//Siemens/phase(Total)
+z=Z/l;//ohm/km
+y=Y/l;//Siemens/km
+re=l*sqrt(z*y);//
+Zc=sqrt(z/y);//ohm
+disp("For Uncompensated Line, Constants are :");
+B=Z;//ohm//B Parameter
+A=1+Z*Y/2;//unitless//A Parameter
+D=A;//unitless//D Parameter
+C=Y*(1+Z*Y/4);//S//C Parameter
+A_mag=abs(A);
+A_angle=atand(imag(A)/real(A));//degree
+B_mag=abs(B);
+B_angle=atand(imag(B)/real(B));//degree
+C_mag=abs(C);
+C_angle=atand(imag(C)/real(C))+180;//degree
+D_mag=abs(D);
+D_angle=atand(imag(D)/real(D));//degree
+disp(B_angle,B_mag,"Magnitude and Angle(degree) of B(ohm) is ");
+disp(A_angle,A_mag,"Magnitude and Angle(degree) of A is ");
+disp(D_angle,D_mag,"Magnitude and Angle(degree) of D is ");
+format('v',9);
+disp(C_mag,"Magnitude of C(S) is ");
+format('v',6);
+disp(C_angle,"Angle(degree) of C is ");
+disp("For Compensated Line, Constants are :");
+B=Z-0.6*%i*406;//ohm//B Parameter
+A=1+conj(B)*Y/2;//unitless//A Parameter
+D=A;//unitless//D Parameter
+C=Y*(1+Z*Y/4);//S//C Parameter
+A_mag=abs(A);
+A_angle=atand(imag(A)/real(A));//degree
+B_mag=abs(B);
+B_angle=-atand(imag(B)/real(B));//degree
+C_mag=abs(C);
+C_angle=atand(imag(C)/real(C))+180;//degree
+D_mag=abs(D);
+D_angle=atand(imag(D)/real(D));//degree
+disp(B_angle,B_mag,"Magnitude and Angle(degree) of B(ohm) is ");
+disp(A_angle,A_mag,"Magnitude and Angle(degree) of A is ");
+disp(D_angle,D_mag,"Magnitude and Angle(degree) of D is ");
+format('v',9);
+disp(C_mag,"Magnitude of C(S) is ");
+format('v',6);
+disp(C_angle,"Angle(degree) of C is ");
diff --git a/2441/CH6/EX6.5/Ex6_5.sce b/2441/CH6/EX6.5/Ex6_5.sce new file mode 100755 index 000000000..76a9421ff --- /dev/null +++ b/2441/CH6/EX6.5/Ex6_5.sce @@ -0,0 +1,22 @@ +//exa 6.5
+clc;clear;close;
+format('v',6);
+kv1=220;//kv
+kv2=132;//kv
+baseMVA=200;//MVA
+//Base impedence in 132 kv circuit
+baseZ2=kv2^2/baseMVA;//ohm
+z1=%i*75;//ohm
+z2=%i*70;//ohm
+z3=%i*90;//ohm
+z1=z1/baseZ2;//pu
+z2=z2/baseZ2;//pu
+z3=z3/baseZ2;//pu
+X_AD=%i*0.08+z1;//pu//Reactance from A to D
+X_BD=%i*0.08+z2;//pu//Reactance from A to D
+Zp=z3*X_AD*X_BD/(z3*X_AD+z3*X_BD+X_BD+X_AD);//parallel combination
+sc_D=baseMVA/abs(Zp);//MVA//Short Circuit MVA at D
+delQBYdelV=sc_D/kv2;//MVA/kv
+delQ=delQBYdelV*4;//MVar
+disp(delQ,"Var injection at Bus D(MVar) : ");
+//Answer in the textbook is not accurate.
diff --git a/2441/CH6/EX6.6/Ex6_6.sce b/2441/CH6/EX6.6/Ex6_6.sce new file mode 100755 index 000000000..6d60c08fb --- /dev/null +++ b/2441/CH6/EX6.6/Ex6_6.sce @@ -0,0 +1,21 @@ +//exa 6.6
+clc;clear;close;
+format('v',6);
+A=0.98*expm(%i*3*%pi/180);//Constant
+B=110*expm(%i*75*%pi/180);//ohm/phase
+P=50;//MVA
+pf=0.8;//lagging
+V=132;//kV
+//Formula : Pr=|Vs|*|Vr|/|B|*cosd(Beta-delta)-|A|*|Vr|^2/|B|*cosd(Beta-alfa) :
+betaSUBdelta=acosd((P*pf+abs(A)*V^2/abs(B)*cosd(atand(imag(B),real(B))-atand(imag(A),real(A))))/V^2*abs(B));
+Qr=V^2/abs(B)*sind(betaSUBdelta)-abs(A)*V^2/abs(B)*sind(atand(imag(B),real(B))-atand(imag(A),real(A)));//MVar
+Qr=P*0.6-Qr;//MVar//Since load require lagging component
+disp(Qr,"(a) Capacity of shunt compensation equipment(MVar) : ");
+//part(b)
+//Formula : Pr=|Vs|*|Vr|/|B|*cosd(Beta-delta)-|A|*|Vr|^2/|B|*cosd(Beta-alfa) :
+format('v',5);
+P=0;//MW
+betaSUBdelta=acosd((P*pf+abs(A)*V^2/abs(B)*cosd(atand(imag(B),real(B))-atand(imag(A),real(A))))/V^2*abs(B));
+Qr=V^2/abs(B)*sind(betaSUBdelta)-abs(A)*V^2/abs(B)*sind(atand(imag(B),real(B))-atand(imag(A),real(A)));//MVar
+Qr=P*0.6-Qr;//MVar//Since load require lagging component
+disp(-Qr,"(b) Capacity of shunt compensation equipment(MVar) : ");
diff --git a/2441/CH6/EX6.7/Ex6_7.sce b/2441/CH6/EX6.7/Ex6_7.sce new file mode 100755 index 000000000..ae9bb1f1e --- /dev/null +++ b/2441/CH6/EX6.7/Ex6_7.sce @@ -0,0 +1,18 @@ +//exa 6.7
+clc;clear;close;
+format('v',6);
+V=220;//kV
+Z=20+%i*60;//ohm
+Pr=100;//MVA
+pf=0.8;//lagging pf
+P=Pr*10^6*pf/3;//W
+theta=acosd(pf);//degree
+Q=Pr*10^6*sind(theta)/3;//Vars
+V1=V/sqrt(3)*1000;//V
+V2=V1;//V
+//ts^2*[1-(R*P+X*Q)/V1/V2]=V2/V1
+ts=sqrt(V2/V1/[1-(real(Z)*P+imag(Z)*Q)/V1/V2]);
+tr=1/ts;
+disp(ts,"Tap settings : ts is ");
+format('v',5);
+disp(tr,"tr is ");
diff --git a/2441/CH6/EX6.8/Ex6_8.sce b/2441/CH6/EX6.8/Ex6_8.sce new file mode 100755 index 000000000..d4bb7a779 --- /dev/null +++ b/2441/CH6/EX6.8/Ex6_8.sce @@ -0,0 +1,35 @@ +//exa 6.8
+clc;clear;close;
+format('v',6);
+kV1=132;//kV
+kV2=33;//kV
+kV3=11;//kV
+MVA1=75;//MVA
+MVA2=50;//MVA
+MVA3=25;//MVA
+X=0.12;//p.u.
+//part(a)
+P=60;//MW
+V1=125;//kV
+V1=V1/kV1;//p.u.
+Q=MVA2/MVA1;//p.u.
+//V1=Vn+X*Q/Vn
+Vn=poly(0,'Vn');
+eqn=Vn^2-V1*Vn+X*Q
+Vn=roots(eqn);//p.u.
+Vn=Vn(1);//p.u.
+Vn=Vn*kV1;//kV
+k=Vn/kV2;//Transformer ratio
+disp(k,"Under Load condition, transformer ratio is ");
+//part(b)
+V1=140;//kV
+V1=V1/kV1;//p.u.
+Q=MVA3/MVA1;//p.u.
+//V1=Vn+X*Q/Vn
+Vn=poly(0,'Vn');
+eqn=Vn^2-V1*Vn+X*Q
+Vn=roots(eqn);//p.u.
+Vn=Vn(1);//p.u.
+Vn=Vn*kV1;//kV
+k=Vn/kV2;//Transformer ratio
+disp(k,"Under No Load condition, transformer ratio is ");
diff --git a/2441/CH6/EX6.9/Ex6_9.sce b/2441/CH6/EX6.9/Ex6_9.sce new file mode 100755 index 000000000..302a335aa --- /dev/null +++ b/2441/CH6/EX6.9/Ex6_9.sce @@ -0,0 +1,18 @@ +//exa 6.9
+clc;clear;close;
+format('v',7);
+V=132;//kV
+Z=25+%i*66;//ohm
+Pr=100;//MW
+pf=0.9;//lagging pf
+P=Pr*10^6/3;//W
+theta=acosd(pf);//degree
+Q=Pr*10^6*tand(theta)/3;//vars
+V1=V/sqrt(3)*1000;//V
+V2=V1;//V
+//ts^2*[1-(R*P+X*Q)/V1/V2]=V2/V1
+ts=sqrt(V2/V1/[1-(real(Z)*P+imag(Z)*Q)/V1/V2]);
+tr=1/ts;
+disp(ts,"Tap settings : ts is ");
+format('v',5);
+disp(tr,"tr is ");
|