Project 2 - Rankine cycle Simulator
- Understand the concept of Rankine cycle by referring to standard thermal engineering text book.
- Create a Rankine Cycle Simulator using OCTAVE/MATLAB.
-
1. To Simulate a Rankine cycle using matlab. 2. Extracting Steam and water properties from XSteam data (IAPWS IF-97
standard)
3. Calculating all the state points of the cycle based on User inputs. 4. Plotting the T vs s and H vs s plot for the given input.
Rankine Cycle:
• Rankine cycle is an idealized thermodynamic cycle or heat engine in which a fuel is used to produce heat within a boiler, converting water into steam which then expands through a turbine producing useful wok. This process was developed in 1859 by scottish engineer william J.m Rankine. It is a cycle which converts heat into mechanical energy which usually is converted into electrical energy.
-
I. In this project an idealized cycle is simulated. Hence neglecting losses.
ill. Rankine cycle is derived out of camot cycle, its power depends on the temperature difference between the heat source and a cold source. The more the difference the more mechanical power can be efficiently extracted out of heat energy.
iv. Since ideal cycles are only in theory, Efficiency of rankine cycle is limited by high heat of vaporization of the working fluid, friction losses etc.
v. Water is usually the fluid of choice due to its favorable properties, such as its non
toxic and unreactive chemistry, abundance, and low cost, as well as its thermodynamic properties. By condensing the working steam vapor to a liquid the pressure at the turbine outlet is lowered and the energy required by the feed pump consumes only 1% to 3% of the turbine output power and these factors contribute to a higher efficiency for the cycle. The benefit of this is offset by the low temperatures of steam admitted to the turbine
Processes and Working:
There are four processes in the rankine cycle (order maybe varied):
1. Process 1-2: Isentropic Expansion in the turbine.
2. Process 2-3: Constant pressure Heat rejection in condenser
3. Process 3-4: isentropic compression in the pump 4. Process 4-1:Constant pressure heat addition in the boiler
The rankine cycle is shown below

fig rankine cycle
fig=T S diagram
THE CODE OF RANKINE CYCLE IS SHOWN BELOW
clear all
close all
clc
% Process Information
fprintf('Rankine Cycle Simulator \n')
fprintf('process 1-2:Isentropic Expansion \n')
fprintf('process 2-3:Isobaric Heat Rejection \n')
fprintf('process 3-4:Isentropic compression \n')
fprintf('process 4-1:Isobaric heat addition process \n')
% Initial Inputs
P1 = input('Enter the inlet pressure of Turbine:');
P2 = input('Enter the outlet pressure from Turbine:');
T1 = input('Enter the steam inlet Temperature:');
% State point 1
H1 = XSteam('h_pT',P1,T1); % Enthalpy
S1 = XSteam('s_pT',P1,T1); % Entropy
Hf1= XSteam('hl_p',P1); % Enthalpy of saturated liquid
Hg1= XSteam('hV_p',P1); % Enthalpy of saturated vapour
Ts1= XSteam('Tsat_P',P1); % Saturation Temp
Sf1= XSteam('sL_p',P1); % Entropy of saturated liquid
Sg1= XSteam('sv_p',P1); % Entropy of saturated vapour
% State point 2
S2 = S1;
Sf2 = XSteam('sL_p',P2);
Sg2 = XSteam('sV_p',P2);
Hf2 = XSteam('hL_p',P2);
Hg2 = XSteam('hV_p',P2);
x =(S2-Sf2)/(Sg2-Sf2); % Dryness Fraction
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);
% State point 5
S5 = XSteam ('sL_p',P1);
H5 = XSteam('hL_p',P1);
T5 = XSteam('Tsat_p',P1);
% State point 6
S6 = XSteam ('sV_p',P1);
H6 = XSteam('hV_p',P1);
T6 = T5;
t = linspace(0,374,500);
% Plot T-S Diagram
figure(1)
hold on
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 S5 S6 S1],[T2 TS2 T3 T4 T5 T6 T1],'linewidth',2,'color','r')
T2 = Ts2 ;
else
plot([S2 S3 S4 S5 S6 S1],[T2 T3 T4 T5 T6 T1],'linewidth',2,'color','r');
end
l = linspace(T1,T2,1000);
text(S1,T1,'1')
text(S2,T2,'2')
text(S3,T3,'3')
text(S4,T4,'4')
text(S5,T5,'5')
text(S6,T6,'6')
for i = 1:length(1)
plot(XSteam('s_pT',P1,l(i)),'.','color','r')
end
plot([Sf1 Sg1],[Ts1 Ts1],'linewidth',2,'color','r')
xlabel('Entropy[KJ/kg-K]')
ylabel('Temprature[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 S5 S6 S1],[H1 H2 H3 H4 H5 H6 H1],'linewidth',2,'color','r')
xlabel('Entropy[kJ/kg-k]')
ylabel('Enthalpy[kJ/kg]')
title ('H-S Diagram')
% calcualtion
% Turbine Work
wt = H1 - H2 ;
% Pump Work
wp = H4 - H3 ;
% Heat Addistion
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 power Ratio
BWR = wp / wt ;
% Print Result
fprintf('\nResults \n')
fprintf('At State Point 1:\n') ;
fprintf('P1 is : %.2f bar \n',P1)
fprintf('T1 is : %.2f Deg Celcius \n',T1)
fprintf('HI is : %.2f KJ/Kg \n',H1)
fprintf('S1 is : %.2f KJ/kg-K \n',S1)
fprintf('\nAt 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('\nAt 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('\nAt 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('nAt State Point 5 : \n');
fprintf('T5 is : %.2f Deg Celcius \n',T5)
fprintf('H5 is : %.2f KJ/Kg \n',H5)
fprintf('S5 is : %.2f KJ/Kg-K \n',S5)
fprintf('\nAt State Point 6 :\n') ;
fprintf('T6 is : %.2f Deg Celcius \n',T6)
fprintf('H6 is : %.2f KJ/Kg \n',H6)
fprintf('S6 is : %.2f KJ/Kg-K \n',S6)
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 Efficiency is : % .2f percent \n',Ntherm)
fprintf('S.S.C. is : % .2f Kg/KWh \n',SSC)
fprintf('Back Work Ratio is : % .3f \n', BWR )
• Working of the rankine cycle simulator
I. In process 1-2, The dry saturated vapour expands through a turbine, generating
power. This decreases the temperature and pressure of the vapour, and some
condensation may occur.
II. Process 2-3, The vapor-liquid mixture leaving the turbine (2) is condensed at low
pressure, usually in a surface condenser using cooling water. In well designed and
maintained condensers, the pressure of the vapor is well below atmospheric
pressure, approaching the saturation pressure of the operating fluid at the cooling
water temperature.
iii. Process 3-4. The pressure of the condensate is raised in the feed pump. Because
of the low specific volume of liquids, the pump work is relatively small and often neglected in thermodynamic calculations. IV. Process 4-1, High pressure liquid enters the boller from the feed pump (4) and is heated to the saturation temperature (on the saturation curve). Further addition
of energy causes evaporation of the liquid until it is fully converted to saturated,
steam (1) or superheated (1).
Required Inputs:
Turbine Inlet temperature = 400° C
Turbine Inlet Pressure = 30 bars
Turbine Outlet Pressure = 0.05 bars = Condenser Inlet Pressure