%Rankine Cycle Simulator
close all
clear all
clc
disp(\'RANKINE CYCLE SIMULATOR\')
disp(\'1-2 is isentropic expansion in turbine\')
disp(\'2-3 is constant pressure heat rejection in condenser\')
disp(\'3-4 is isentropic compression in pump\')
disp(\'4-1 is constant pressure heat addition in boiler\')
p1=input(\'enter the pressure at the inlet of turbine (in bar)= \');
t1=input(\'enter the temp at the inlet of turbine (in degree C)= \');
p2=input(\'enter the pressure at the inlet of condenser (in bar)= \');
%steam condition at the inlet of turbine
h1=XSteam(\'h_pt\',p1,t1);
s1=XSteam(\'s_pt\',p1,t1);
%steam condition at the outlet of turbine
sg2=XSteam(\'sV_p\',p2);
sf2=XSteam(\'sL_p\',p2);
sfg2=sg2-sf2;
x2=(s1-sf2)/sfg2;
s2=sf2+x2*sfg2;
hf2=XSteam(\'hL_p\',p2);
hg2=XSteam(\'hV_p\',p2);
hfg2=hg2-hf2;
h2=hf2+x2*hfg2;
t2=XSteam(\'Tsat_p\',p2);
%workdone by the turbine
W_t=h1-h2;
%steam condition at the outlet of condenser
p3=p2;
t3=XSteam(\'Tsat_p\',p2);
h3=XSteam(\'hL_p\',p2);
s3=XSteam(\'sL_p\',p2);
vf=XSteam(\'vL_p\',p2);
t22=t3;
%calculation of pump work
W_p=vf*(p1-p2)*100;
%steam Condition at state 4
p4=p1;
h4=W_p+h3;
s4=s3;
t4=XSteam(\'T_ph\',p4,h4);
%work net
W_net=W_t-W_p;
%heat supplied
Q_s=h1-h4;
%heat rejected
Q_r=h2-h3;
%efficiency
efficiency=(W_net/Q_s);
%specific steam consumption
SSC=3600/W_net;
tf_sat=XSteam(\'Tsat_p\',p1);
sf_sat=XSteam(\'sL_p\',p1);
hf_sat=XSteam(\'hL_p\',p1);
sg_sat=XSteam(\'sV_p\',p1);
hg_sat=XSteam(\'hV_p\',p1);
%plotting T-S diagram
hold on
%for plottin saturation curve
tsat1=linspace(0,374,1000);
for i=1:length(tsat1)
ss1(i)=XSteam(\'sL_T\',tsat1(i));
end
for j=1:length(tsat1)
ss2(j)=XSteam(\'sV_T\',tsat1(j));
end
plot(ss1,tsat1,\'b\')
plot(ss2,tsat1,\'r\')
%for saturation temp at p1
temp=XSteam(\'Tsat_p\',p1);
t=linspace(t4,temp,30);
for i=1:length(t)
S(i)=XSteam(\'s_pt\',p1,t(i));
hold on
end
t0=linspace(temp,t1,300);
for i=1:length(t0)
S0(i)=XSteam(\'s_pt\',p1,t0(i));
end
%for plotting turbine work
plot([s1 s2],[t1 t2],\'g\')
%for heat rejection in condenser
plot([s2 s3],[t2 t3],\'b\')
%for pump work
plot([s3 s4],[t3 t4],\'r\')
%plotting curved line(constant pressure line in wet region) from outlet of
%the pump to the point from where phase change starts
plot(S,t,\'y\')
%plotting the phase change region
plot([sf_sat sg_sat],[tf_sat tf_sat],\'y\')
%plotting the curved constant pressure line from where the phase change
%ends to the superheated point
plot(S0,t0,\'y\')
legend(\'Saturation Curve L\',\'Saturation Curve V\',\'Turbine\',\'condenser\',\'pump\',\'boiler\',\'location\',\'northwest\')
title(\'T-S Diagram\')
xlabel(\'Entropy\')
ylabel(\'Temperature\')
%plotting H-S diagram
figure(2)
hold on
%for plotting the saturation curve
tsat1=linspace(0,374,1000);
for i=1:length(tsat1)
hh1(i)=XSteam(\'hL_T\',tsat1(i));
end
for j=1:length(tsat1)
hh2(j)=XSteam(\'hV_T\',tsat1(j));
end
plot(ss1,hh1,\'b\')
plot(ss2,hh2,\'r\')
%for plotting tubine
plot([s1 s2],[h1 h2],\'g\')
%for condenser
plot([s2 s3],[h2 h3],\'b\')
%for plotting pump
plot([s3 s4],[h3 h4],\'r\')
s=linspace(s3,s1,1000);
for i=1:length(s)
h(i)=XSteam(\'h_ps\',p1,s(i));
end
%for plotting boiler
% plot([s4 s1],[h4 h1],\'y\')
plot(s,h,\'y\')
legend(\'Saturation Curve L\',\'Saturation Curve V\',\'Turbine\',\'condenser\',\'pump\',\'boiler\',\'location\',\'northwest\')
title(\'H-S Diagram\')
xlabel(\'Entropy\')
ylabel(\'Enthalpy\')
%outputs
%at state 1
fprintf(\'At State Point 1:\\r\\n\')
fprintf(\'P1 is : %f Bar\\r\\n\',p1)
fprintf(\'T1 is : %f Deg Celcius\\r\\n\',t1)
fprintf(\'H1 is : %f KJ/Kg\\r\\n\',h1)
fprintf(\'S1 is : %f KJ/KgK\\r\\n\',s1)
%at state 2
fprintf(\'At State Point 2:\\r\\n\')
fprintf(\'P2 is : %f Bar\\r\\n\',p2)
fprintf(\'T2 is : %f Deg Celcius\\r\\n\',t2)
fprintf(\'H2 is : %f KJ/Kg\\r\\n\',h2)
fprintf(\'S2 is : %f KJ/KgK\\r\\n\',s2)
fprintf(\'X is : %f \\r\\n\',x2)
%at state 3
fprintf(\'At State Point 3:\\r\\n\')
fprintf(\'P3 is : %f Bar\\r\\n\',p3)
fprintf(\'T3 is : %f Deg Celcius\\r\\n\',t3)
fprintf(\'H3 is : %f KJ/Kg\\r\\n\',h3)
fprintf(\'S3 is : %f KJ/KgK\\r\\n\',s3)
%state 4
fprintf(\'At State Point 4:\\r\\n\')
fprintf(\'P4 is : %f Bar\\r\\n\',p4)
fprintf(\'T4 is : %f Deg Celcius\\r\\n\',t4)
fprintf(\'H4 is : %f KJ/Kg\\r\\n\',h4)
fprintf(\'S4 is : %f KJ/KgK\\r\\n\',s4)
%calculations
fprintf(\'Work Done By Turbine : %f kJ/kg\\r\\n\',W_t)
fprintf(\'Work Done By Pump : %f kJ/kg\\r\\n\',W_p)
fprintf(\'Heat Added in The Boiler: %f KJ/kg\\r\\n\',Q_s)
fprintf(\'Heat Rejected in The Condenser: %f KJ/kg\\r\\n\',Q_r)
fprintf(\'Thermal Efficiency is : %f %%\\r\\n\',efficiency*100)
fprintf(\'Specific Steam Consumption : %f KJ/kWh\\r\\n\',SSC)