Challenge

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

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.