In [1]:

```
# Variables
# Part (a)
P1 = 1e05;
P2 = 10e05;
vf = 0.001043;
# Calculation and Results
Wrev = vf*(P1-P2);
print "The work required in saturated liquid form is",Wrev/1000,"kJ/kg"
# Part (b)
h1 = 2675.5;
s1 = 7.3594;
s2 = s1;
h2 = 3195.5;
Wrev1 = h1-h2;
print "The work required in saturated vapour form is",Wrev1,"kJ/kg"
```

In [4]:

```
# Variables
h1 = 3159.3;
s1 = 6.9917;
h3 = 173.88;
s3 = 0.5926;
sfp2 = s3;
hfp2 = h3;
hfgp2 = 2403.1;
sgp2 = 8.2287;
vfp2 = 0.001008;
sfgp2 = 7.6361;
# Calculation and Results
x2s = (s1-sfp2)/(sfgp2);
h2s = hfp2+(x2s*hfgp2);
# Part (a)
P1 = 20e02;
P2 = 0.08e02;
h4s = vfp2*(P1-P2)+h3 ;
Wp = h4s-h3;
Wt = h1-h2s;
Wnet = Wt-Wp;
Q1 = h1-h4s;
n_cycle = Wnet/Q1;
print "Net work per kg of steam is %.2f kJ/Kg"%Wnet
print "Cycle efficiency is %.3f"%n_cycle
# Part (b)
n_p = 0.8;
n_t = 0.8;
Wp_ = Wp/n_p;
Wt_ = Wt*n_t;
Wnet_ = Wt_-Wp_;
P = 100*((Wnet-Wnet_)/Wnet) ;
n_cycle_ = Wnet_/Q1;
P_ = 100*((n_cycle-n_cycle_)/n_cycle);
print "Percentage reduction in net work per kg of steam is %.1f %%"%P
print "Percentage reduction in cycle efficiency is %.1f %%"%P_
```

In [3]:

```
# Variables
P1 = 0.08; # in bar
sf = 0.5926;
x2s = 0.85;
sg = 8.2287;
# Calculation
s2s = sf+(x2s*(sg-sf));
s1 = s2s;
P2 = 16.832; # by steam table opposite to s1 in bar
h1 = 3165.54;
h2s = 173.88 + (0.85*2403.1);
h3 = 173.88;
vfp2 = 0.001;
h4s = h3 + (vfp2*(P2-P1)*100);
Q1 = h1-h4s;
Wt = h1-h2s;
Wp = h4s-h3;
n_cycle = 100*((Wt-Wp)/Q1);
Tm = (h1-h4s)/(s2s-sf);
# Results
print "The greatest allowable steam pressure at the turbine inlet is",P2,"bar"
print "Rankine cycle efficiency is %.2f %%"%n_cycle
print "Mean temperature of heat addition is %.2f K"%Tm
```

In [8]:

```
# Variables
h1 = 3465.;
h2s = 3065.;
h3 = 3565.;
h4s = 2300.;
x4s = 0.88;
h5 = 191.83;
v = 0.001;
P = 150.; # in bar
# Calculation
Wp = v*P*100;
h6s = 206.83;
Q1 = (h1-h6s)+(h3-h2s);
Wt = (h1-h2s)+(h3-h4s);
Wnet = Wt-Wp;
n_cycle = 100*Wnet/Q1;
sr = 3600/Wnet;
# Results
print "Quality at turbine exhaust is",0.88
print "Cycle efficiency is %.1f %%"%n_cycle
print "steam rate is %.2f Kg/kW h"%sr
```

In [1]:

```
# Variables
h1 = 3230.9;
s1 = 6.9212;
s2 = s1;
s3 = s1;
h2 = 2796;
sf = 0.6493;
sfg = 7.5009;
# Calculation
x3 = (s3-sf)/sfg;
h3 = 191.83 + x3*2392.8;
h4 = 191.83; h5 = h4;
h6 = 640.23; h7 = h6;
m = (h6-h5)/(h2-h5);
Wt = (h1-h2)+(1-m)*(h2-h3);
Q1 = h1-h6;
n_cycle = 100*Wt/Q1;
sr = 3600/Wt;
s7 = 1.8607; s4 = 0.6493;
Tm = (h1-h7)/(s1-s7);
Tm1 = (h1-h4)/(s1-s4); # With out regeneration
dT = Tm-Tm1;
Wt_ = h1-h3;
sr_ = 3600/Wt_;
dsr = sr-sr_;
n_cycle_ = 100*(h1-h3)/(h1-h4);
dn = n_cycle-n_cycle_;
# Results
print "Efficiency of the cycle is %.2f %%"%n_cycle
print "Steam rate of the cycle is %.2f kg/kW h"%sr
print "Increase in temperature due to regeneration is %.1f degree centigrade"%dT
print "Increase in steam rate due to regeneration is %.1f kg/kW h"%dsr
print "Increase in Efficiency of the cycle due to regeneration is %.2f %%"%dn
# note: rounding error is there because of decimal points.
```

In [4]:

```
# Variables
h1 = 3023.5;
s1 = 6.7664;
s2 = s1;
s3 = s1;
s4 = s1;
t_sat_20 = 212.;
t_sat_1 = 46.;
# Calculation
dt = t_sat_20-t_sat_1;
n =3; # number of heaters
t = dt/n;
t1 = t_sat_20-t;
t2 = t1-t;
# 0.1 bar
hf = 191.83;
hfg = 2392.8;
sf = 0.6493;
sg = 8.1502;
# At 100 degree
hf100 = 419.04;
hfg100 = 2257.0;
sf100 = 1.3069;
sg100 = 7.3549;
# At 150 degree
hf150 = 632.20;
hfg150 = 2114.3;
sf150 = 1.8418;
sg150 = 6.8379;
x2 = (s1-sf150)/4.9961;
h2 = hf150+(x2*hfg150);
x3 = (s1-sf100)/6.0480;
h3 = hf100+(x3*hfg100);
x4 = (s1-sf)/7.5010;
h4 = hf+(x4*hfg);
h5 = hf; h6 = h5;
h7 = hf100; h8 = h7;
h9 = 632.2; h10 = h9;
m1 = (h9-h7)/(h2-h7);
m2 = ((1-m1)*(h7-h6))/(h3-h6);
Wt = 1*(h1-h2)+(1-m1)*(h2-h3)+(1-m1-m2)*(h3-h4);
Q1 = h1-h9;
Wp = 0 ; # Pump work is neglected
n_cycle = 100*(Wt-Wp)/Q1;
sr = 3600/(Wt-Wp);
# Results
print "Net work per kg of stem is %.2f kJ/Kg"%Wt
print "Cycle efficiency is %.2f %%"%n_cycle
print "Stream rate is %.2f Kg/kW h"%sr
# rounding off error would be there.
```

In [17]:

```
import math
# Variables
Ti = 2000.;
Te = 450.;
T0 = 300.;
Q1_dot = 100e03; # in kW
cpg = 1.1;
# Calculation
wg = Q1_dot/(cpg*(Ti-Te));
af1 = wg*cpg*T0*((Ti/T0)-1-math.log(Ti/T0));
af2 = wg*cpg*T0*((Te/T0)-1-math.log(Te/T0));
afi = af1-af2;
h1 = 2801; h3 = 169; h4 = 172.8; h2 = 1890.2;
s1 = 6.068; s2 = s1; s3 = 0.576; s4 = s3;
Wt = h1-h2;
Wp = h4-h3;
Q1 = h1-h4;
Q2 = h2-h3;
Wnet = Wt-Wp;
ws = Q1_dot/2628;
afu = 38*(h1-h4-T0*(s1-s3));
I_dot = afi-afu;
Wnet_dot = ws*Wnet;
afc = ws*(h2-h3-T0*(s2-s3));
n2 = 100*Wnet_dot/af1;
# Results
print "The second law efficiency is %.1f %%"%n2
```

In [25]:

```
import math
# Variables
h1 = 2758.; # kJ/kg
h2 = 1817.;
h3 = 192.
h4 = 200.;
cpg = 1.1
# Calculation and Results
Wt = h1-h2;
Wp = h4-h3;
Q1 = h1-h4;
Wnet = Wt-Wp;
n1 = Wnet/Q1;
WR = Wnet/Wt;
Q1_ = 100.;
PO = n1*Q1_;
cp = 1000.;
wg = (Q1_/(833.-450));
EIR = 59.3
n2 = PO/EIR ;
print ("Part (a)")
print "n1 is %.1f %%"%(n1*100)
print "n2 is %.1f %%"%(n2*100)
print "Work ratio is %.3f"%WR
# Part (b)
h1b = 3398.;
h2b = 2130.
h3b = 192.;
h4b = 200.;
Wtb = 1268.;
Wpb = 8.;
Q1b = 3198.;
Wt = 1268.
Wp = 8.
n1b = (Wt-Wp)/Q1b;
WRb = (Wt-Wp)/Wtb;
EIRb = 59.3;
Wnetb = Q1b*n1b;
n2b = 36.5/EIRb;
print ("\nPart (b)")
print "n1 is %.1f %%"%(n1b*100)
print "n2 is %.1f %%"%(n2b*100)
print "Work ratio is %.3f"%WRb
# Part (c)
h1c = 3398.;
h2c = 2761.;
h3c = 3482.;
h4c = 2522.;
h5c = 192.;
h6c = 200.;
Wt1 = 637.;
Wt2 = 960.;
Wtc = Wt1+Wt2; Wpc = 8.;
Wnetc = 1589.;
Q1c = 3198+721.;
n1c = Wnetc/Q1c;
WRc = Wnetc/Wtc;
POc = Q1_*n1c;
EIRc = 59.3;
n2c = POc/EIRc;
print ("\nPart (c)")
print "n1 is %.1f %%"%(n1c*100)
print "n2 is %.1f %%"%(n2c*100)
print "Work ratio is %.3f"%WRc
# Part (d)
T3 = 318.8; T1 = 568.;
n1d = 1-(T3/T1);
Q1d = 2758-1316.;
Wnet = Q1d*n1d;
Wpd = 8.;
Wtd = 641.;
WRd = (Wtd-Wpd)/Wtd;
POd = Q1_*0.439;
EIRd = (Q1_/(833-593.))*cpg*((833.-300)-300*(math.log(833./300)));
n2d = POd/94.6;
print ("\nPart (d)")
print "n1 is %.1f %%"%(n1d*100)
print "n2 is %.1f %%"%(n2d*100)
print "Work ratio is %.3f"%WRd
```

In [9]:

```
# Variables
hfg = 2202.6;
Qh = 5.83;
ws = Qh/hfg;
eg = 0.9; # efficiency of generator
P = 1000;
Wnet = 1000/0.9;
nbrake = 0.8;
# Calculation
h1_2s = Wnet/(ws*nbrake); # h1-h2s
n_internal = 0.85;
h12 = n_internal*h1_2s;
hg = 2706.3;
h2 = hg;
h1 = h12+h2;
h2s = h1-h1_2s;
hf = 503.71;
x2s = (h2s-hf)/hfg;
sf = 1.5276;
sfg = 5.6020;
s2s = sf+(x2s*sfg);
s1 = s2s;
P1 = 22.5; # in bar from Moiller chart
t1 = 360;
# Results
print "Temperature of the steam is",t1,"degree"
print "Pressure of the steam is ",P1,"bar"
```

In [3]:

```
# Variables
h1 = 3037.3; h2 = 561+(0.96*2163.8);
s2 = 1.6718+(0.96*5.3201);
s3s = s2;
# Calculation
x3s = (s3s-0.6493)/7.5009;
h3s = 191.83+(x3s*2392.8);
h23 = 0.8*(h2-h3s); # h2-h3
h3 = h2-h23;
h5 = 561.47; h4 = 191.83;
Qh = 3500.; # in kJ/s
w = Qh/(h2-h5);
Wt = 1500.;
ws = (Wt+w*(h2-h3))/(h1-h3);
ws_ = 3600.*ws ; # in kg/h
h6 = ((ws-w)*h4+w*h5)/ws;
h7 = h6;
n_boiler = 0.85;
CV = 44000.; # in kJ/kg
wf = (1.1*ws_*(h1-h7))/(n_boiler*CV);
# Results
print "Fuel buring rate is %.2f Kg/h"%wf
print "Wf = %.2f tonnes/day"%(wf*24/1000)
```

In [21]:

```
# Variables
h1 = 3285.;
h2s = 3010.
h3 = 3280.;
h4s = 3030.;
# Calculation
h4 = h3-0.83*(h3-h4s);
h5s = 2225;
h5 = h4-0.83*(h4-h5s);
h6 = 162.7; h7 = h6;
h8 = 762.81;
h2 = h1-0.785*(h1-h2s);
m = (h8-h7)/(h4-h7);
n_cycle = ((h1-h2)+(h3-h4)+(1-m)*(h4-h5))/((h1-h8)+(h3-h2))
# Results
print "Steam flow at turbine inlet is %.3f Kg/s"%m
print "cycle efficiency is %.2f %%"%(n_cycle*100)
```

In [4]:

```
# From table and graph
# Variables
h1 = 2792.2;
h4 = 122.96;
hb = 254.88;
hc = 29.98;
ha = 355.98;
hd = hc;
h2 = 1949.27;
# Calculation and Results
m = (h1-h4)/(hb-hc); # Amount of mercury circulating
Q1t = m*(ha-hd);
W1t = m*(ha-hb) + (h1-h2);
Nov = W1t/Q1t ;
print "Overall efficiency of the cycle %.2f %%"%(Nov*100)
S = 50000.; # Stem flow rate through turbine in kg/h
wm = S*m;
print "Flow through the mercury turbine is %.2e Kg/h"%wm
Wt = W1t*S/3600;
print "Useful work done in binary vapour cycle is %.2e kW"%Wt
nm = 0.85; # Internal efficiency of mercury turbine
ns = 0.87; # Internal efficiency of steam turbine
WTm = nm*(ha-hb);
hb_ = ha-WTm; # hb'
m_ = (h1-h4)/(hb_-hc); # m'
h1_ = 3037.3; # h'
Q1t = m_*(ha-hd)+(h1_-h1);
x2_ = (6.9160-0.4226)/(8.47-0.4226);
h2_ = 121+(0.806*2432.9);
WTst = ns*(h1_-h2_);
WTt = m_*(ha-hb_)+WTst;
Nov = WTt/Q1t;
print "Overall efficiency is %.1f %%"%(Nov*100)
# note : rounding off error.
```