Challenge

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:-

  1. A Turbine or engine in which steam will expand isentropic and work is done.
  2. Pumo which raises the pressure of liquid water to boiler pressure and pumps it to th boiler for converting into steam.
  3. Boiler for generating a steam in constant pressure.
  4. 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

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.