Challenge

Project 2 - Rankine cycle Simulator

Question:- To understand the concept of Rankine cycle by referring to standard thermal engineering text book?

Answer:-

Theory:- A rankine cycle is a modle which is used to give different properties of a steam turbine systems,such as efficiency,point wise properties at different locations of the model,etc. By using rankine cycle,approximate analysis can be done on an steam turbine systems.

Rankine cycle mainly consist of four processes:-

1>>Isentropic compression(1-2)

2>>Constant pressure heat addition(2-3)

3>>Isentropic expansion(3-4)

4>>Constant pressure heat rejection(4-1)

>>Given Details:-

Turbine Inlet temperature = 400° C

Turbine Inlet Pressure = 30 bars

Turbine Outlet Pressure = 0.05 bars = Condenser Inlet Pressure.

>>THE MAIN PROGRAM:-

close all
clear all
clc

% Creating Rankine Cycle Simulator
disp('RANKINE CYCLE SIMULATOR')
disp('1-2 : IsentropicExpansion in the Turbine')
disp('2-3 : Isobaric Heat Rejection by the Condenser')
disp('3-4 : Isentropic Compression in the Pump')
disp('4-1 : Isobaric Heat Addition by the Boiler')
disp(' ')
t = linspace(0,373.15,300);
% Input to be specified
P1 = input('Enter the Turbine Inlet Pressure (in bar):');
T1 = input('Enter the Turbine Inlet Temperature (in Degree Celsius):');
P2 = input('Enter the Condenser pressure (in bar):');
disp(' ')

%State Variable 1
h1 = XSteam('h_pT',P1,T1);
s1 = XSteam('s_pT',P1,T1);
h_l1 = XSteam('hL_p',P1);
h_g1 = XSteam('hV_p',P1);
s_l1 = XSteam('sL_p',P1);
s_g1 = XSteam('sV_p',P1);
T_sat1 = XSteam('Tsat_p',P1);

%State Variable 2
s2 = s1;
s_l2 = XSteam('sL_p',P2);
s_g2 = XSteam('sV_p',P2);

%Dryness Fraction
x = (s2-s_l2)/(s_g2-s_l2);

h_l2 = XSteam('hV_p',P2);
h_g2 = XSteam('hV_p',P2);
h2 = h_l2+x*(h_g2-h_l2);
T2 = XSteam('T_ph',P2,h2);
T_sat2 = XSteam('Tsat_p',P2);

%State Variable 3
h3 = h_l2;
s3 = s_l2;
P3 = P2;
T3 = T2;

%State Variable 4
s4 = s3;
P4 = P1;
h4 = XSteam('h_ps',P4,s4);
T4 = XSteam('T_ps',P4,s4);

%Plotting
%T-s Diagram
figure(1),clf
hold on

% Saturation curve
for i = 1:length(t)
plot(XSteam('sL_T',t(i)),t(i),'b.')
plot(XSteam('sV_T',t(i)),t(i),'b.')
end
% Rankine Cycle
plot([s1 s2],[T1 T2],'LineWidth',2,'Color','r')
text(s1,T1,'1','FontSize',15)
% Beyond saturation curve
if x>1
T3 = T_sat2;
plot([s2 s_g2 s3 s4],[T2 T_sat2 T3 T4],'LineWidth',2,'Color','r')
text(s1,T2,'2','FontSize',15)
text(s3,T3,'3','FontSize',15,'HorizontalAlignment','left','VerticalAlignment','top')
% Beneath saturation curve
else
plot([s2 s3 s4],[T2 T3 T4],'LineWidth',2,'Color','r')
text(s1,T2,'2','FontSize',15)
text(s3,T3,'3','FontSize',15,'HorizontalAlignment','left','VerticalAlignment','top')
end

n = linespace(T1,T2,500);
for i = 1:length(n)
plot(XSteam('s_pT',P1,n(i)),'.','linewidth',2,'color','r')
end
plot([s_l1 s_gl1],[T_sat1 T_sat1],'LineWidth',2,'Color','r')
text(sl1,T_sat1,'4','FontSize',15,'VerticalAlignment','bottom')
xlabel('Enntropy(kj/kg-K)')
ylabel('Temperature(K)')
title('T-s Diagram')
%h-s Diagram
figure(2),clf
hold on
%Sturation curve
for i = 1:length(t)
plot(XSteam('sL_T',t(i)),XSteam('hL_T',t(i)),'b.')
plot(XSteam('sV_T',t(i)),XSteam('hV_T',t(i)),'b.')
end

%Rankine Cycle
plot([s1 s2 s3 s4 s1],[h1 h2 hh3 h4 h1],'LineWidth',2,'Color','r')
text(s1,h1,'1','FontSize',15)
text(s2,h2,'2','FontSize',15)
text(s3,h3,'3','FontSize',15)
text(s4,h4+90,'4','FontSize',15)
xlabel('Entropy(kj/kg-K)')
ylabel('Enthalpy(kj/kg)')
title('h-s Diagram')

%Calculation of desired quantities
%Work done by turbine
W_t = h1-h2;
%Work done by pump
W_p = h4-h3;
%Net work done
W_net = W_t-W_p;
%Thermal efficiency
n_thermal = (1-((h2-h3)/(h1-h4)))*100;
%Back wprk ratio
BWR = W_p/W_t;
%Specific Steam Conductivity
SSC = 3600/W_t;
%Displaying result in command window
disp('Result:')
disp('At state point 1:')
fprintf('P1 = %.2f barn',P1)
fprintf(('T1 = %.2f' char(176)'Cn'),T1)
fprintf('h1 = %.2f kj/kgn',h1)
fprintf('s1 = %.2f kj/kgKn',s1)
disp(' ')

disp('At state point 2:')
fprintf('P2 = %.2f barn',P2)
fprintf(['T2 = %.2f' char(176)'Cn'],T2)
fprintf('h2 = %.2f kj/kgn',h2)
fprintf('s2 = %.2f kj/kgKn',s2)
disp(' ')

disp('At state point 3:')
fprintf('P3 = %.2f barn',P3)
fprintf(['T3 = %.2f' char(176)'Cn'],T3)
fprintf('h3 = %.2f kj/kgn',h3)
fprintf('s3 = %.2f kj/kgKn',s3)
disp(' ')

disp('At state point 4:')
fprintf('P4 = %.2f barn',P4)
fprintf(['T4 = %.2f' char(176)'Cn'],T4)
fprintf('h4 = %.2f kj/kgn',h4)
fprintf('s4 = %.2f kj/kgKn',s4)
disp(' ')

fprintf('Work done by turbine = %.2f kj/kgn',W_t)
fprintf('Work done by pump = %2f. kj/kgn',W_p)
fprintf('Net work done = %.2f kj/kgn',W_net)
fprintf('Thermal efficiency = %.2f %%n',n_thermal)
fprintf('Back-work ratio = %fn',BWR)
fprintf('Specific Steam Conductivity = %.2f kg/kWhn',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.