Project 2 - Rankine cycle Simulator
CODE USED IN MATLAB:
1.OUTPUT HEADERS:
%RANKINE CYCLE SIMULATOR
clear all
close all
clc
%OUTPUT HEADERS
disp('\n RANKINE CYCLE SIMULATOR')
disp('\n1-2 is ISENTROPIC EXPANSION IN THE TURBINE ')
disp('\n2-3 is CONSTANT PRESSURE HEAT REJECTION BY THE CONDENSER ')
disp('\n3-4 is ISENTROPIC COMPRESSION IN THE PUMP ')
disp('\n4-1 is CONSTANT PRESSURE HEAT ADDITION BY THE BOILER ')
2.INPUTS
%INPUTS REQUIRED
p1 = input('\nEnter the Pressure at Turbine Inlet (in bar): ');
t1 = input('\nEnter the Temperature at Turbine Inlet (in degrees): ');
p2 = input('\nEnter the Pressure at Condenser Inlet (in bar): ');
3. EXTRACTING VALUES OF SPECIFIC HEAT FROM XSTEAM
%GETTING SPECIFIC HEAT VALUES FROM XSTEAM FUNCTION
cp1_l = XSteam('CpL_p',p1);
cp1_v = XSteam('CpV_p',p1);
cp2_l = XSteam('CpL_p',p2);
cp2_v = XSteam('CpV_p',p2);
4.TURBINE INLET INPUTS
%INPUTS TO THE TURBINE
s1 = XSteam('s_pT',p1,t1);
h1 = XSteam('h_pt',p1,t1);
5.CONDENSER INLET INPUTS
%CONDENSER INLET INPUTS
s2 = s1;
sf2 = XSteam('sL_p',p2);
sg2 = XSteam('sV_p',p2);
hf2 = XSteam('hL_p',p2);
hg2 = XSteam('hV_p',p2);
6.SATURATED TEMPERATURE
%SATURATED TEMPERATURE VALUES
Tsat_p1 = XSteam('Tsat_p',p1);
Tsat_p2 = XSteam('Tsat_p',p2);
7.DRYNESS FRACTION(x)
%DRYNESS FRACTION CALCULATION USING IF STATEMENT
if(s2<=sg2)
x2 = ((s2-sf2) / (sg2-sf2));
else
x2 =1;
end
if(x2<1)
t2 = Tsat_p2;
else
s2 = sg2 + cp2_v * (log(t2 / Tsat_p2));
t2 = (Tsat_p2 + 273.15) * exp((s2 - sg2) / cp2_v);
t2 = t2 - 273.15;
end
if(x2<1)
h2 = hf2 + (x2 * (hg2 - hf2));
else
h2 = XSteam('h_pT',p2,t2);
end
8.CONDENSER EXIT VALUES
%CONDENSER EXIT VALUES
p3 = p2;
t3 = XSteam('Tsat_p',p3);
s3 = XSteam('sL_p',p3);
h3 = XSteam('hL_p',p3);
v3 = XSteam('vL_p',p3);
t2 = t3;
9.BOILER INLET VALUES
%BOILER INLET VALUES
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);
%T4 CALCULATION
%p4^(1-gamma)*t4^gamma = p3^(1-gamma)*t3^gamma
t4 = (t3 * ((p3/p4)^((1-g4)/g4)));
10.CALCULATIONS
%CALCULATIONS
%WORK DONE BY THE TURBINE
Wt = h1 - h2;
%WORK DONE BY THE PUMP
Wp = h4 - h3;
%NET WORK DONE
W_net = Wt - Wp;
%HEAT ADDED IN THE BOILER
q_in = h1 - h4;
%HEAT REJECTED BY THE CONDENSER
q_out = h2 - h3;
%THERMAL EFFICIENCY
n = (W_net / q_in) * 100;
%BACK WORK RATIO
bwr = Wp / Wt;
%STEAM RATE
ssc = 3600/W_net;
11.PLOTTING T-S DIAGRAM
%PLOTTING
figure(1)
%PLOTTING LIQUID AND VAPOUR CURVES
t = linspace(1,t1,1000);
for i=1:length(t)
s_l(i) = XSteam('sL_T',t(i));
end
for i=1:length(t)
s_v(i) = XSteam('sV_T',t(i));
end
hold on
plot(s_l,t,'LineWidth',2,'linestyle','--','color','r')
plot(s_v,t,'LineWidth',2,'linestyle','--','color','r')
grid on
%PLOT FOR WORKDONE BY THE TURBINE IN THE PROCESS 1-2
plot([s1,s2],[t1,t2],'linewidth',2,'color','k')
hold on
title('T - S DIAGRAM OF IDEAL RANKINE CYCLE')
xlabel('ENTROPY IN KJ/KgK')
ylabel('TEMPERATURE IN K')
%PLOT FOR HEAT REJECTED BY THE CONDENSER IN THE PROCESS 2-3
plot([s2,s3],[t2,t3],'linewidth',2,'Color','k')
hold on
%PLOT FOR WORKDONE BY THE PUMP IN THE PROCESS 3-4
plot([s3,s4],[t3,t4],'linewidth',2,'Color','k')
hold on
%PLOT FOR THE HEAT ADDED BY THE BOILER IN THE PROCESS 4-1
tp = XSteam('TSat_p',p4);
sp = XSteam('sL_T',tp);
plot([s4,sp],[t4,tp],'LineWidth',2,'Color','k')
hold on
tq = tp;
sq = XSteam('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
%POINTS MAKING ON THE PLOT FOR STATES
text(s1,t1,' 1');
text(s2,t2,' 2');
text(s3,t3,' 3');
text(s4,t4,' 4');
12.PLOTTING H-S DIAGRAM
%PLOT FOR ENTHALPY VS ENTROPY
figure(2)
plot([s1,s2],[h1,h2],'LineWidth',2,'Color','k')
grid on
title('h-s DIAGRAM')
xlabel('ENTROPY IN KJ/KgK')
ylabel('ENTHALPY IN 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')
%PLOT FOR LIQUID AND VAPOUR SATURATION CURVE
t = linspace(1,t1,1000);
for j = 1:length(t)
h_l(j) = XSteam('hL_T',t(j));
end
for j = 1:length(t)
h_v(j) = XSteam('hV_T',t(j));
end
plot(s_l,h_l,'LineWidth',2,'Color','r')
hold on
plot(s_v,h_v,'LineWidth',2,'Color','r')
%POINTS MAKING ON THE PLOT FOR STATES
text(s1,h1,' 1');
text(s2,h2,' 2');
text(s3,h3,' 3');
text(s4,h4,' 4');
13.OUTPUTS
%OUTPUT
fprintf(' %40s \n \n \n', 'RESULT');
fprintf(' %10s %54s \n', 'AT STATE 1', 'AT STATE 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 Celsius', 'T2: ',t2, 'Deg Celsius');
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 3','At State 4');
fprintf(' %s %.2f%s %44s %.2f%s \n', 'P3: ', p3, 'bar','P4: ', p4, 'bar');
fprintf(' %s %.2f%s %35s %.2f%s \n', 'T3: ',t3, 'Deg Celsius', 'T4: ',t4, 'Deg Celsius');
fprintf(' %s %.2f%s %40s %.2f%s \n', 'H3: ',h3, 'KJ/Kg','H4: ',h4, 'KJ/Kg');
fprintf(' %s %.2f%s %42s %.2f%s \n', 'S3: ',s3, 'KJ/KgK','S2: ',s4, 'KJ/KgK');
fprintf(' %40s %.2f %s \n','WORK OUTPUT BY TURBINE(Wt): ',Wt, 'KJ/Kg');
fprintf(' %40s %.2f %s \n','WORK OUTPUT BY PUMP(Wp): ',Wp, 'KJ/Kg');
fprintf(' %40s %.2f %s \n','NET WORK(W_net): ',W_net, 'KJ/Kg');
fprintf(' %40s %.2f %s \n','THERMAL EFFICIENCY(Ntherm): ',n, 'percent');
fprintf(' %40s %.2f %s \n','HEAT INPUT BY BOILER: ',q_in, 'KJ/Kg');
fprintf(' %40s %.2f %s \n','HEAT REJECTED FROM CONDENSER: ',q_out, 'KJ/Kg');
fprintf(' %40s %.2f %s \n','STEAM RATE: ',ssc, 'Kg/KWh');
fprintf(' %40s %.2f %s \n','BACK WORK RATIO: ',bwr);
fprintf('\n');
OUTPUT SCREENSHOTS:
H-S DIAGRAM

T-S DIAGRAM

COMMAND WINDOW OUTPUTS:

REPORT:
WORKING OF THE RANKINE CYCLE SIMULATOR CODE:
STEP 1. CLEARING ALL THE WORKSPACE AND PLOTS
STEP 2: GETTING VALUES OF P1,T1 & P2 FROM THE USER
STEP 3: AT STATE 1, VALUES FOR ENTHALPY & ENTROPY ARE EXTRACTED AS A FUNCTION OF PRESSURE & TEMPERATURE
STEP 4: VALUES ARE TAKEN FROM XSTEAM LIBRARY
STEP 5: AT STATE 2, IN CONDENSER HIGH PRESSURE STEAM IS CONVERTED INTO LOW PRESSURE WATER AND HENCE DRYNESS FRACTION, ENTHALPY & ENTROPY FOR SATURATED VAPOUR & SATURATED WATER ARE CONSIDERED TO CALCULATE SPECIFIC ENTHALPY
STEP 6: AT STATE 3, THE WATER IS CONDENSED BACK INTO SATURATION TEMPERATURE AND FED TO THE PUMP. THE TEMPERATURE OF WATERR AT EXIT OF CONDENSER AND ENTRY OF PUMP IS THE SAME
STEP 7: AT STATE 4, CONSTANT PRESSURE HEAT ADDITION PROCESS, HENCE P=P1; BUT TEMPERATURE INCREASES ON HEATING, CP/CV = GAMMA IS CONSIDERED TO FIND T4
STEP 8: WORK DONE, HEAT TRANSFER AND STEAM RATE ARE CALCULATED BY BASIC FORMULAE
STEP 9: PLOTTING T-S AND H-S DIAGRAM
STEP 10: PRINTING THE RESULTS
NO ERRORS FACED