Challenge

Project 2 - Rankine cycle Simulator

AIM: Create a Rankine Cycle Simulator using MATLAB.

OBJECTIVE:

  • Calculate each state points of the Rankine Cycle (any type of your choice) based on user inputs.
  • Plot the corresponding T-s and h-s plots for the given set of inputs.
  • Calculate Efficiency.

Theory:-

Rankine cycle is a model used to predict the performance of steam turbine systems.Rankine cycle consits of an operating fluid which continuously gets evaporated and condensed in a close loop.

Components used:-

Theory:-

The Rankine cycle is a model used to predict the performance of steam turbine systems.Rankine cycle consits of an operating fluid which continuously gets evaporated and condensed in a close loop.

Boiler

Turbine

Condenser

Pump

# Boiler for generating steam at constant pressure.

# turbine or engine in which steam will expand isentropically and work is done.

#condenser in which heat is removed from the exhaust steam and it is completely converted into water at constant pressure.

# pump which raises the pressure of liquid water to boiler pressure and pumps it in to the boiler for converting into steam.

Sample output of a Basic Rankine cycle simulator:

Process:

1-2: Isentropic compression in pump

2-3: Constant pressure heat addition in boiler

3-4: Isentropic expansion in turbine

4-1: Constant pressure heat rejection in condenser

code:

clear all 
close all
clc

disp('RANKINE CYCLE SIMULATOR');
disp('1-2 = isentropic expansion in the turbine');
disp('2-3 = constant pressure heat rejection by the condensor');
disp('3-4 = isentropic compression in the pump');
disp('4-1 = constant pressure heat addition by the boiler');

%To type the inputs and getting the text as given in the problem

t1 = input('enter the temperature at the turbine inlet (in degree celsius):');                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

p1=input('enter the pressure at the turbine inlet (in bar):');
p2=input('enter the pressure at the condensor (in bar)');

fprintf('\rRESULTS\r\n')

%stage 1 (turbine inlet)
s1= XSteam('s_pT',p1,t1);
h1=XSteam('h_pT',p1,t1);

%stage 2 condenser inlet
sf2 = XSteam('sL_p',p2);
sg2 = XSteam('sV_p',p2);
hf2 = XSteam('hL_p',p2);
hg2 = XSteam('hV_p',p2);

s2 = s1;
t2 = XSteam('Tsat_p',p2);

%splitting the formulae

x2=((s2-sf2)/(sg2-sf2));
h2=hf2+(x2*(hg2-hf2));

%stage3 (pump inlet)
p3=p2;
t3=XSteam('Tsat_p',p2);
s3=XSteam('sL_p',p3);
h3=XSteam('hL_p',p3);

cp4 = XSteam('cpL_p',p3);
cv4 = XSteam('cvL_p',p3);
gamma = (cp4/cv4);
g = (gamma-1)/gamma;

%stage 4(boiler inlet)

p4=p1;
s4=s3;
h4 = XSteam('h_ps',p4,s4);
t4=t3*((p4/p3)^g);

%turbine work
wt=h1-h2;
%pump work
wp=h4-h3;
%network
w_net=wt-wp;

%Heat in and out of the system
q_in=h1-h4;
q_out=h2-h3;

q_in=h1-h4;
q_out=h2-h3;

n=w_net/q_in;
np=n*100;

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

%plot figure 1
figure(1)
hold on
temp=linspace(0,400,1000);
for i=1:length(temp)
    aa(i) =XSteam('sL_T',temp(i));
    
end

for j=1:length(temp)
    bb(j)=XSteam('sV_T',temp(j));
end

plot(aa,temp,'color','b')
plot(bb,temp,'color','b')

temp=(XSteam('Tsat_p',p1));
t0=linspace(temp,t1,300);
for i=1:length(t0)
    c11(i)=XSteam('s_pt',p1,t0(i));
end

t5=XSteam('Tsat_p',p4);
s5=XSteam('sL_T',t5);

plot([s1 s2],[t1 t2],'color','r')
plot([s2 s3],[t2 t3],'color','r')
plot([s3 s4],[t3 t4],'color','r')
plot([s4 s5],[t4 t5],'color','r')
plot([sf_sat sg_sat],[tf_sat tf_sat],'color','r')
plot(c11,t0,'color','r')

title('T-S diagram')
xlabel('entropy(KJ/kgK)')
ylabel('Temperature(K)')

text(s1,t1,'1');
text(s2,t2,'2');
text(s3,t3,'3');
text(s4,t4,'4');
text(s5,t5,'4s');
text(sg_sat,tf_sat,'1s');

%plotting figure 2
figure(2)
hold on

temp1=linspace(0,400,1000);
for i=1:length(temp1)
    cc(i)=XSteam('hL_T',temp1(i));
end

for j=1:length(temp1)
    dd(j)=XSteam('hV_T',temp1(j));
   
end

plot(aa,cc,'color','b')
plot(bb,dd,'color','b')

plot([s1 s2],[h1 h2],'color','r')
plot([s2 s3],[h2 h3],'color','r')
plot([s3 s4],[h3 h4],'color','r')
plot([s4 s1],[h4 h1],'color','r')


title('H-S diagram')
xlabel('entropy(KJ/KgK)')
ylabel('enthalpy(KJ/Kg)')

text(s1,h1,'1');
text(s2,h2,'2');
text(s3,h3,'3');
text(s4,h4,'4');

%printing the output

fprintf('at stage point 1:\n')
fprintf('P1 is : %f bar\n',p1)
fprintf('T1 is : %f deg celsius\n',p1)
fprintf('T1 is :%f KJ/kg\n',h1)
fprintf('S1 is: %f KJ/KgK\r\n',s1)

disp('at state point 2:')
fprintf('P2 is : %f Bar\n',p2)
fprintf('T2 is : %f deg celsius\n',t2)
fprintf('H2 is : %f KJ/Kg\n',h2)
fprintf('S2 is : %f KJ/KgK\n',s2)
fprintf('X is : %f \r\n',x2)


disp('at state point 3:')
fprintf('P3 is : %f Bar\n',p3)
fprintf('T3 is : %f deg celsius400\n',t3)
fprintf('H3 is : %f KJ/Kg\n',h3)
fprintf('S2 is : %f KJ/KgK\b\n',s3)


disp('at state point 4:')
fprintf('P4 is : %f Bar\n',p4)
fprintf('T4 is : %f deg celsius\n',t4)
fprintf('H4 is : %f KJ/Kg\n',h4)
fprintf('S4 is : %f KJ/KgK\b\n',s4)

fprintf('Wt : %f KJ/Kg\n',wt)
fprintf('Wp : %f KJ/Kg\n',wp)
fprintf('Wnet : %f KJ/Kg\n',w_net)
fprintf('Ntherm : %f %%\n',n*100)
fprintf('SSC : %f KJ/KWh\b\n',SSC)

Result:

T-S Diagram

H-S Diagram

The values for the state point in command windows are given as:

For Inlet pressure in Turbine as = 50 bar

Inlet temperature in Turbine = 500 deg.cel

Pressure in condenser = 5 bar

For Input given in challeng:

For Inlet pressure in Turbine as = 30 bar

Inlet temperature in Turbine = 400 deg.cel

Pressure in condenser = 0.05 bar

From the two different input value it is seen that increasing the pressure and temperature in turbine result in lowering the efficiency of Rankine cycle.

Conclusion:

I have created the Rankine cycle simulator for the given input, in which we have taken the data from XSteam function file.

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.