Challenge

Project 2 - Rankine cycle Simulator

clear all
close all
clc
%printing intro
fprintf('RANKINE CYCLE SIMULATOR \n')
fprintf('\n1-2 is isentropic expansion in the turbine\n')
fprintf('2-3 is constant pressure heat rejection by the condenser \n')
fprintf('3-4 is isentropic compression in pump \n')
fprintf('4-1 is constant pressure heat addition by the boiler\n')
%user input

P1 = input('\enter the pressure at the turbine inlet (in bar):')
T1 = input('enter the temperature at the turbine inlet( in degree C):');
P2 = input('enter the pressure at the turbine outlet( in bar):');

%state point 1
H1 = XSteam('h_pt',P1,T1);
S1 = XSteam('s_pt',P1,T1);
Hf1 = XSteam('hl_p',P1);
Hg1 = XSteam('hV_p',P1);
Ts1 = XSteam('Tsat_p',P1);
Sf1 = XSteam('sL_p',P1');
Sg1 = XSteam('sV_p',P1);

%state point 2
S2 = S1;
Sf2 = XSteam('sL_p',P2);
Sg2 = XSteam('sV_p',P2);
x = (S2-Sf2)/(Sg2-Sf2);
Hf2 = XSteam('hl_p',P2);
Hg2 = XSteam('hV_p',P2);
H2 = Hf2 + x*(Hg2-Hf2);
T2 = XSteam('T_ph',P2,H2);
Ts2 = XSteam('Tsat_p',P2);

% state point 3
H3 = Hf2;
S3 = Sf2;
T3 = T2;
P3 = P2;
% state point 4
P4 = P1;
S4 = S3;
H4 = XSteam('h_ps',P4,S4);
T4 = XSteam('T_ps',P4,S4);

t = linspace(0,374,500);
%plot T-S dia
figure(1)
hold on
% plot saturation Curve
for i = 1:length(t)
plot(XSteam('sL_T',t(i)),t(i),'.','color','b')
plot(XSteam('sV_T',t(i)),t(i),'.','color','b')
end

%plot cycle
plot([S1 S2],[T1 T2],'linewidth',2,'color','r')
if x>1
T3 = Ts2;
plot([S2 Sg2 S3 S4],[T2 Ts2 T3 T4],'linewidth',2,'color','r')
T2 = Ts2;
else
plot([S2 S3 S4],[T2 T3 T4],'linewidth',2,'color','r')
end

l= linspace(T1,T2,1000);
for i=1 : length(1)
plot(XSteam('s_pT',P1,l(i)),l(i),'.','color','r')
end
plot([S1 S2],[T1 T2],'linewidth',2,'color','r')
xlabel('Entropy[kj/kg-k]')
ylabel('Temperature[k]')
title('T-S diagram')

%plot H-s diagram
figure(2)

hold on
% plot saturation Curve
for i = 1:length(t)
plot(XSteam('sL_T',t(i)),XSteam('hl_T',t(i)),'.','color','b')
plot(XSteam('sV_T',t(i)),XSteam('hV_T',t(i)),'.','color','b')
end

%plot cycle
plot([S1 S2 S3 S4 S1],[H1 H2 H3 H4 H1],'linewidth',2,'color','r')

xlabel('Entropy[kj/kg-k]')
ylabel('Enthalpy[kj/kg]')
title('H-S diagram')

%calculation
%turbine work
Wt = H1-H2;
%pump work
Wp = H4-H3;
%heat addition

Qin = H1-H4;
%heat rejection
Qout = H2-H3;
%net work
Wnet = Wt - Wp;
%efficiency
Ntherm = (Wnet/Qin)*100;
%specific steam consumption
SSC = 3600/Wnet;
%back work ratio
BWR = Wp/Wt;

fprintf('\n\nResults\n')
fprintf('At state point 1:\n')
fprintf('P1 is : %.2f bar\n',P1)
fprintf('T1 is : %.2f deg celcius\n',T1)
fprintf('H1 is : %.2f kj/kg\n',H1)
fprintf('S1 is : %.2f kj/kg-k\n',S1)

fprintf('At state point 2:\n')
fprintf('P2 is : %.2f bar\n',P2)
fprintf('T2 is : %.2f deg celcius\n',T2)
fprintf('H2 is : %.2f kj/kg\n',H2)
fprintf('S2 is : %.2f kj/kg-k\n',S2)

fprintf('At state point 3:\n')
fprintf('P3 is : %.2f bar\n',P3)
fprintf('T3 is : %.2f deg celcius\n',T3)
fprintf('H3 is : %.2f kj/kg\n',H3)
fprintf('S3 is : %.2f kj/kg-k\n',S3)

fprintf('At state point 4:\n')
fprintf('P4 is : %.2f bar\n',P4)
fprintf('T4 is : %.2f deg celcius\n',T4)
fprintf('H4 is : %.2f kj/kg\n',H4)
fprintf('S4 is : %.2f kj/kg-k\n',S4)

fprintf('\nWt is :%.2f kj/kg\n',Wt)
fprintf('Wp is : %.2f kj/kg\n',Wp)
fprintf('Wnet is : %.2f kj/kg\n',Wnet)
fprintf('Thermal efficirncy is : %.2f percent\n',Ntherm)
fprintf('S.S.C. is : %.2f kg/kwh\n',SSC)
fprintf('back work ratio is : %.3f \n',BWR)

%error were mostly syntax

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.