Project

Rankine Cycle Simulator

%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)

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.