Project 2 - Rankine cycle Simulator
The Rankine Cycle is a fundamental operating cycle of all power plants where an operating fluid is continuously evaporated and condensed. The selection of operating fluid depends mainly on the available temperature range.
The Rankine Cycle is a model used to predict the performance of steam turbine systems. It was also
to study the performance of reciprocating steam engines. Rankine cycle consist of an operating fluid
which continuously gets evaporated and condensed in a close loop.
The Components used are as follows:-
- A Turbine or engine in which steam will expand isentropic and work is done.
- Pumo which raises the pressure of liquid water to boiler pressure and pumps it to th boiler for converting into steam.
- Boiler for generating a steam in constant pressure.
- Condenser which removes the heat from the exhauststeam and converting it completely into Water at constant pressure.
Processes
Process 1-2 is Isentropic Expansion in the turbine.
Steam from the boiler expands adiabatically from state 1 to state 2 in a steam turbine
To produce Work then it is discharged to the condenser.
The Workdone by the Turbine is given by
Wt :- H2 - H1
Process 2-3 Is Const Pressure Heat Rejection by the Condenser.
In this the cycle completes by constant pressure and Heat is rejected by the Condenser.
Heat transfer takes place from the vapor to cooling water in a circuit.
The net Heat Rejected is given by
Qre = H2 – H3
Process 3-4 is Isentropic Compression in the Pump.
Condensated liquid is compressed adiabatically from state 3 to state 4.
In this process the surrounding do work on the fluid increasing the enthalpy and
Compressing it.The entropy remains unchanged.
Work required for the compressor is given by
Wp = H4 - H3
Process 4-1 is Const Pressure Heat Addition by the Boiler.
In this process there is constant pressure Heat transfer takes place to liquid condensate
From external source. Heat added is given by
Qadd = H1 – H4
clear all
close all
clc
% User Inputs
fprintf('%50s n n','RANKINE CYCLE SIMULATOR');
fprintf('process 1-2 is Isentropic Expansion in the turbine');
fprintf('process 2-3 is Const Pressure Heat Rejection by the Condenser');
fprintf('process 3-4 is Isentropic Compression in the Pump');
fprintf('Process 4-1 is Const Pressure Heat Addition by the Boiler');
% Inputs
p1 = input('Enter the Pressure at the Turbine Inlet(in bar): ');
t1 = input('Enter the temperature at the turbine inlet (in degree celcius): ');
p2 = input('Enter the pressure at the Condenser (in bar): ');
%Inlte of the condenser
s2 = s1;
sf2=XSteam('sL_p',p2);
sg2=XSteam('sV_p',p2);
hf2=XStream('hL_p',p2);
hf2=XSteam('hV_p',p2);
x2=((s2-sf2)/(sg2-sf2));
h2=hf2+(x2*/(hg2-hf2));
%Exit of the condenser
p3 = p2;
t3 = XSteam('TSat_p',p3);
s3 = XSteam('sL_p',p3);
h3 = XStream('hL_p',p3);
v3 = XStream('vL_p',p3);
t2 = t3;
%Inlet to the boiler
p4 = p1;
s4 = s3;
h4 = XSteam('h_ps',p4,s4);
cp4 = XSteam('Cp_ps',p4,s4);
cv4 = XSteam('Cv_ps',p4,s4);
g4 = (cp4/cv4);
o = (1-g4)/g4;
% To Calculate the t4
% p4^(1-gamma)*t4^gamma = p3^(1-gamma)*t3^gamma
t4 = (t3*((p3/p4)^((1-g4)/g4)));
% Calculation
%Work done by turbine
wt = h1 - h2;
%Work done by pump
wp= h4 - h2;
%Net Work done
w_net = wt - wp;
%Heat injected in boiler
q_in = h1 - h4;
%Heat rejected in condenser
q_out = h2 - h3;
%Thermal Efficiency
n = w_net/q_in;
np =n*100;
%Plot for Temperature Vs Entropy
figure(1)
%plot for liquid and vapour saturation curves
t = linspace(0,550,600);
for i = 1:length(t)
s_1(i) = XSteam('sV_T',t(i));
end
for i = 1:length(t)
s_v(i) = XSteam('sV_T',t(i));
end
plot(s_1,t,'linewidth',2,'color','r')
hold on
plot(s_v,t,'linewidth',2,'color','r')
grid on
%plot for work done by turbine
plot[(s1,s2],[t1,t2],'linewidth',2,'color','k')
hold on
title('T-s DIAGRAM OR IDEAL RANKINE CYCLE')
xlabel('Entropy(KJ/kgK)')
ylabel('Teperature(K)')
%plot for heat rejected in condenser
plot([s2,s3],[t2,t3],'linewidth',2,'color','k')
hold on
%plot for work done by pump
plot([s3,s4],[t3,t4],'linewdith',2,'color','k')
hold on
%plot for heat injected by boiler
tp = XSteam('TSat_p',p4);
sp = XSteam('sL_T',tp);
plot([s4,sp],[t4,tp],'linewidth',2,'color','k')
hold on
tq = tp
sq = XStream('sV_T',tq);
plot([sp,sq],[tp,tq],'linewidth',2,'color','k')
hold on
plot([sq,s1],[tq,t1],'linewidth',2,'color','k')
hold on
%Indicate states with numbers
text(s1,t1,' 1');
text(s2,t2,' 2');
text(s3,t3,' 3');
text(s4,t4,' 4');
%Plot for enthalpy vs entropy
figure(2)
plot([s1,s2],[h1,h2],'linewidth',2,'color','k')
grid on
title('h-s DIAGRAM')
xlabel('Entropy(KJ/kgK)')
ylabel('Enthaly(KJ/kg)')
hold on
plot([s2,s3],[h2,h3],'linewidth',2,'color','k')
hold on
plot([s3,s4],[h3,h4],'linewidth',2,'color','k')
hold on
plot([s4,s1],[h4,h1],'linewidth',2,'color','k')
hold on
%plot for liquid and vapour saturation curve
t = linspace(0,550,600);
for j = 1:length(t)
h_1(j)= XSteam('hL_T',t(j));
end
for j = 1:length(t)
h_v(j) = XSteam('hV_T',t(j));
end
plot(s_1,h_1,'linewidth'2,'color','r')
hold on
plot(s_v,h_v,'linewidth',2,'color','r')
%Indicate states with numbers
text(s1,h1,'1');
text(s2,h2,'2');
text(s3,h3,'3');
text(s4,h4,'4');
%Results output
fprintf('n %40s nn','RESULT');
fprintf('%10s %54s n','At State Point 1','At State Point 2');
fprintf('%s %.2f%s %44s %.2f%s n','P1:',p1,'bar','P2:',p2,' bar');
fprintf('%s %.2f%s %35s %.2f%s n','T1:',t1,' Deg Celcius','T2:',t2,' Deg Celcius');
fprintf('%s %.2f%s %40s %.2f%s n','H1:',h1,' KJ/kg','H2:',h2,' KJ/kg');
fprintf('%s %.2f%s %42s %.2f%s n','S1:',s1,' KJ/kgK','S2:',s2,' KJ/kgK');
fprintf('%58s %.2f n n','X2:',x2);
fprintf('%10s %54s n','At State Point 3','At State Point 4');
fprintf('%s %.2f%s %45s %.2f%s n','P3:',p3,' bar','P4:',p4,'bar');
fprintf('%s %.2f%s %35s %.2f%s n','T3:',t3,' Deg Celcius','T4:',t4,' Deg Celcius');
fprintf('%s %.2f%s %41s %.2f%s n','H3:',h3,' KJ/kg','H4:',h4,' KJ/kg');
fprintf('%s %.2f%s %42s %.2f%s n n','S3:',s3,' KJ/kgK','S4:',s4,' KJ/kgK');
fprintf('%40s %.2f %s n','Work output by Turbine(wt): ',wt,' KJ/kg');
fprintf('%40s %.2f %s n','Work input by Pump(Wp): ',wp,' KJ/kg');
fprintf('%40s %.2f %s n','Net Work(Wnet): ',w_net,' KJ/kg');
fprintf('%40s %.2f %s n','Thermodynamic Efficiency(Ntherm): ',np,'Percent');
fprintf('%40s %.2f %s n','Heat input in Boiler: ',q_in,' KJ/kg');
fprintf('%40s %.2f %s n','Heat rejected in condenser: ',q_out,' KJ/kg');
fprintf('%40s %.2f %s n','S.S.C.: ',p3,' kg/kwh');
fprintf('%40s %.2f %s n','
Output