All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
AIM : To create a Rankine Cycle Simulator using MATLAB. OBJECTIVE : To calculate the state points of the Rankine Cycle based on user inputs. To plot the corresponding T-s and h-s plots for the given set of inputs. THEORY :- …
Sourabh Lakhera
updated on 16 Jun 2020
AIM : To create a Rankine Cycle Simulator using MATLAB.
OBJECTIVE :
THEORY :-
RANKINE CYCLE : THE IDEAL CYCLE FOR VAPOR POWER CYCLES
The Rankine cycle, which is the ideal cycle for vapor power plants. The ideal Rankine cycle does not involve any internal irreversibilities and consists of the following four processes:
1-2 Isentropic compression in a pump
2-3 Constant-pressure heat addition in a boiler
3-4 Isentropic expansion in a turbine
4-1 Constant-pressure heat rejection in a condenser
Water enters the pump at state 1 as saturated liquid and is compressed isentropically to the operating pressure of the boiler. The water temperature increases somewhat during this isentropic compression process due to a slight decrease in the specific volume of water. The vertical distance between states 1 and 2 on the T-s diagram is greatly exaggerated for clarity.
Water enters the boiler as a compressed liquid at state 2 and leaves as a superheated vapor at state 3. The boiler is basically a large heat exchanger where the heat originating from combustion gases, nuclear reactors, or other sources is transferred to the water essentially at constant pressure. The boiler, together with the section where the steam is superheated (the super-heater), is often called the steam generator.
The superheated vapor at state 3 enters the turbine, where it expands isentropically and produces work by rotating the shaft connected to an electric generator. The pressure and the temperature of steam drop during this process to the values at state 4, where steam enters the condenser. At this state, steam is usually a saturated liquid–vapor mixture with a high quality. Steam is condensed at constant pressure in the condenser, which is basically a large heat exchanger, by rejecting heat to a cooling medium such as a lake, a river, or the atmosphere. Steam leaves the condenser as saturated liquid and enters the pump, completing the cycle. In areas where water is precious, the power plants are cooled by air instead of water. This method of cooling, which is also used in car engines, is called dry cooling.
Remembering that the area under the process curve on a T-s diagram represents the heat transfer for internally reversible processes, we see that the area under process curve 2-3 represents the heat transferred to the water in the boiler and the area under the process curve 4-1 represents the heat rejected in the condenser. The difference between these two (the area enclosed by the cycle curve) is the net-work produced during the cycle.
Energy Analysis of the Ideal Rankine Cycle
All four components associated with the Rankine cycle (the pump, boiler, turbine, and condenser) are steady-flow devices, and thus all four processes that make up the Rankine cycle can be analyzed as steady-flow processes.
The kinetic and potential energy changes of the steam are usually small relative to the work and heat transfer terms and are therefore usually neglected. Then the steady-flow energy equation per unit mass of steam reduces to
The boiler and the condenser do not involve any work, and the pump and the turbine are assumed to be isentropic. Then the conservation of energy relation for each device can be expressed as follows:
The thermal efficiency of the Rankine cycle is determined from:-
SOLUTION STEPS :-
INPUT PARAMETERS
Turbine Inlet temperature = 400° C
Turbine Inlet Pressure = 30 bars
Turbine Outlet Pressure = 0.05 bars = Condenser Inlet Pressure
% A program for simulating Rankine cycle and plot required graphs.
close all
clear all
clc
% Subscript for different state points
% 1 = Turbine inlet or Boiler outlet, 2 = Condenser inlet or Turbine outlet,
% 3 = Pump inlet or Condenser outlet, 4 = Boiler inlet or Pump outlet
%% Input parameters -
% p1 = Turbine inlet pressure (bar),
% T1 = Temperature at turbine inlet(deg C),
% p2 = Turbine outlet pressure (bar),
% Description about four process,
fprintf('Process (1-2) - Isentropic Expansion in the Turbine\n')
fprintf('Process (2-3) - Isobaric Heat Rejection by the Condenser\n')
fprintf('Process (3-2) - Isentropic Compression in the Pump\n')
fprintf('Process (4-1) - Isobaric Heat Addition by the Boiler\n')
% For Inputting state variables at point 1,
p1 = input('Enter the Pressure at the Turbine Inlet (in bar): ');
t1 = input('Enter the Temperature at the Turbine inlet (in Degree celsius): ');
p2 = input('Enter the Pressure at the Turbine Outlet (in bar): ');
%% State variable at state point 1(i.e Turbine Inlet )
h1 = XSteam('h_pT',p1,t1); % Enthalpy in [kJ/kg]
s1 = XSteam('s_pT',p1,t1); % Specific entropy in [kJ/kg K]
v1 = XSteam('v_pT',p1,t1); % Specific volume in [m3/kg]
%% State variable at state point 2(i.e Conderser Inlet)
s2 = s1; % Specific entropy in [kJ/kg K]
h2 = XSteam('h_px',p2,XSteam('x_ps',p2,s2)); % Enthalpy in [kJ/kg]
t2 = XSteam('T_ps',p2,s2); % Temperature in [degree C]
v2 = XSteam('v_ps',p2,s2); % Specific volume in [m3/kg]
%% State variable at state point 3 (i.e Pump Inlet)
p3 = p2; % Pressure in [bar]
t3 = XSteam('Tsat_p',p3); % Temperature in [degree C]
h3 = XSteam('hL_p',p3); % Enthalpy in [kJ/kg]
s3 = XSteam('sL_p',p3); % Specific entropy in [kJ/kg K]
v3 = XSteam('vL_p',p3); % Inlet Specific volume in [m3/kg]
%% State variable at state point 4 (i.e Boiler Inlet)
s4 = s3; % Specific entropy in [kJ/kg K]
p4 = p1; % Pressure in [bar]
h4 = XSteam('h_ps',p4,s4); % Enthalpy in [kJ/kg]
t4 = XSteam('T_ps',p4,s4); % Temperature in [degree C]
v4 = XSteam('v_ps',p4,s4); % Specific volume in [m3/kg]
%% After defining all the states now lets process each of these state and in between data variables
%% Ploting Graph for Ideal Rankine cycle in "T" vs "s".
figure(1)
hold on
plot([s1 s2],[t1 t2],'color','r','linewidth',5);
plot([s2 s3],[t2 t3],'color','k','linewidth',5);
plot([s3 s4],[t3 t4],'color','c','linewidth',5);
Trange = linspace(t4,t1,500);
for i = 1:length(Trange)
s_range(i) = XSteam('s_pT',p1,Trange(i));
h_range23(i) = XSteam('h_ps',p1,s_range(i));
h_range41(i) = XSteam('h_ps',p2,s_range(i));
end
plot(s_range,Trange,'color','b','linewidth',5);
legend('ReversibleAdiabaticExpansion', 'ConstantPressureHeatRejection', 'ReversibleIsentropicCompression', 'ConstantPressureHeatAddtion');
%% Ploting Graph for Ideal Rankine cycle in 'h' vs 's'.
figure(2)
hold on
plot([s1 s2],[h1 h2],'color','r','linewidth',5);
plot(s_range,h_range23,'color','k','linewidth',5);
plot([s3 s4],[h3 h4],'color','c','linewidth',5);
plot(s_range,h_range41,'color','b','linewidth',5);
legend('ReversibleAdiabaticExpansion', 'ConstantPressureHeatRejection', 'ReversibleIsentropicCompression', 'ConstantPressureHeatAddtion');
%% Ploting graphs for 'T' vs 's'
t_range = linspace(0,374.15,500); % Temperature from 0 to critical point of water in [degree C]
figure(1)
hold on
for i = 1:length(t_range)
plot(XSteam('sL_t',t_range(i)),t_range(i),'.','color','g')
plot(XSteam('sV_t',t_range(i)),t_range(i),'.','color','g')
end
%% Ploting graphs for 'h' vs 's'
figure(2)
hold on
for i = 1:length(t_range)
plot(XSteam('sL_t',t_range(i)),XSteam('hL_t',t_range(i)),'.','color','g')
plot(XSteam('sV_t',t_range(i)),XSteam('hV_t',t_range(i)),'.','color','g')
end
%% Ploting Diagram for All state points for Ideal Rankine cycle in 'T' vs 's'
figure(1)
hold on
plot(s1,t1,'ko')
plot(s2,t2,'ko')
plot(s3,t3,'ko')
plot(s4,t4,'ko')
grid on
title('T-s Diagram of RANKINE CYCLE')
xlabel('Temperature in [degree C]')
ylabel('Specific entropy in [kJ/kg K]')
%% Ploting Diagram for All state points for Ideal Rankine cycle in 'h' vs 's'
figure(2)
hold on
plot(s1,h1,'ko')
plot(s2,h2,'ko')
plot(s3,h3,'ko')
plot(s4,h4,'ko')
grid on
title('h-s Diagram of RANKINE CYCLE')
xlabel('Enthalpy in [kJ/kg]')
ylabel('Specific entropy in [kJ/kg K]')
%% Finally Calculating Work and Efficiency
Work_turbine = h1 - h2; % work transferred from the working fluid (kJ/kg)
Q_taken_out_condenser = h2 - h3; % heat rejected from the working fluid (kJ/kg)
Work_pump = h4 - h3; % work transferred into the working fluid (kJ/kg)
Q_given_boiler = h1 - h4; % heat transferred to the working fluid (kJ/kg)
Back_Work_Ratio = Work_turbine / Work_pump; % Back Work Ratio
SSE = 3600/(Work_turbine - Work_pump); % Specific Steam Consumption [kg/kWh]
Work_net = Work_turbine - Work_pump; % Net work on the working fluid (kJ/kg)
Effi_rankine = Work_net/Q_given_boiler; % Rankine Cycle Efficiency
clc
%% Printing Results to the USER GIVING input
fprintf('**********RANKINE CYCLE:IDEAL CYCLE FOR VAPOUR POWER CYCLE**********\n\n');
fprintf('Process 1-2: Reversible adiabatic expansion process in the steam turbine\n');
fprintf('Process 2-3: Constant pressure heat transfer process in the condenser\n');
fprintf('Process 3-4: Reversible adiabatic compression process in the pump\n');
fprintf('Process 4-1: Constant pressure heat transfer process in the boiler\n\n');
fprintf('----------State variable at state point 1----------\n');
fprintf('Turbine Inlet Temperature T1 = %.5f in [degree C]\n',t1);
fprintf('Turbine Inlet Pressure p1 = %.5f in [bar]\n',p1);
fprintf('Turbine Inlet Enthalpy h1 = %.5f in [kJ/kg]\n',h1);
fprintf('Turbine Inlet Specific entropy s1 = %.5f in [kJ/kg K]\n',s1);
fprintf('Turbine Inlet Specific volume v1 = %.5f in [m3/kg]\n\n',v1);
fprintf('----------State variable at state point 2----------\n');
fprintf('Conderser Inlet Temperature T1 = %.3f in [degree C]\n',t2);
fprintf('Conderser Inlet Pressure p1 = %.3f in [bar]\n',p2);
fprintf('Conderser Inlet Enthalpy h1 = %.3f in [kJ/kg]\n',h2);
fprintf('Conderser Inlet Specific entropy s1 = %.3f in [kJ/kg K]\n',s2);
fprintf('Conderser Inlet Specific volume v1 = %.3f in [m3/kg]\n \n',v2);
fprintf('----------State variable at state point 3----------\n');
fprintf('Pump Inlet Temperature T1 = %.3f in [degree C]\n',t3);
fprintf('Pump Inlet Pressure p1 = %.3f in [bar]\n',p3);
fprintf('Pump Inlet Enthalpy h1 = %.3f in [kJ/kg]\n',h3);
fprintf('Pump Inlet Specific entropy s1 = %.3f in [kJ/kg K]\n',s3);
fprintf('Pump Inlet Specific volume v1 = %.3f in [m3/kg]\n\n',v3);
fprintf('----------State variable at state point 4----------\n');
fprintf('Boiler Inlet Temperature T1 = %.4f in [degree C]\n',t4);
fprintf('Boiler Inlet Pressure p1 = %.4f in [bar]\n',p4);
fprintf('Boiler Inlet Enthalpy h1 = %.4f in [kJ/kg]\n',h4);
fprintf('Boiler Inlet Specific entropy s1 = %.4f in [kJ/kg K]\n',s4);
fprintf('Boiler Inlet Specific volume v1 = %.4f in [m3/kg]\n \n',v4);
fprintf('----------Work and Efficiency----------\n');
fprintf('Work transferred from the working fluid Wturbine = %.4f in [kJ/kg]\n',Work_turbine);
fprintf('Heat rejected from the working fluid Qcondenser = %.4f in [kJ/kg]\n',Q_taken_out_condenser);
fprintf('Work transferred into the working fluid Wpump = %.4f in [kJ/kg]\n',Work_pump);
fprintf('Heat transferred to the working fluid Qboiler = %.4f in [kJ/kg]\n \n',Q_given_boiler);
fprintf('Back Work Ratio BWR = %.4f \n',Back_Work_Ratio);
fprintf('Specific Steam Consumption SSE = %.4f in [kg/kWh] \n',SSE);
fprintf('Net work on the working fluid Wnet = %.4f in [kJ/kg] \n',Work_net);
fprintf('Rankine Cycle Efficiency ETArankine = %.4f %% \n\n',Effi_rankine*100);
fprintf(' \n ..................SUCESSFULLY DONE THE CALCULATIONS............... \n');
%% END
RESULT :-
**********RANKINE CYCLE:IDEAL CYCLE FOR VAPOUR POWER CYCLE**********
Process 1-2: Reversible adiabatic expansion process in the steam turbine
Process 2-3: Constant pressure heat transfer process in the condenser
Process 3-4: Reversible adiabatic compression process in the pump
Process 4-1: Constant pressure heat transfer process in the boiler
----------State variable at state point 1----------
Turbine Inlet Temperature T1 = 400.00000 in [degree C]
Turbine Inlet Pressure p1 = 30.00000 in [bar]
Turbine Inlet Enthalpy h1 = 3231.57103 in [kJ/kg]
Turbine Inlet Specific entropy s1 = 6.92326 in [kJ/kg K]
Turbine Inlet Specific volume v1 = 0.09938 in [m3/kg]
----------State variable at state point 2----------
Conderser Inlet Temperature T1 = 32.875 in [degree C]
Conderser Inlet Pressure p1 = 0.050 in [bar]
Conderser Inlet Enthalpy h1 = 2110.708 in [kJ/kg]
Conderser Inlet Specific entropy s1 = 6.923 in [kJ/kg K]
Conderser Inlet Specific volume v1 = 22.951 in [m3/kg]
----------State variable at state point 3----------
Pump Inlet Temperature T1 = 32.875 in [degree C]
Pump Inlet Pressure p1 = 0.050 in [bar]
Pump Inlet Enthalpy h1 = 137.765 in [kJ/kg]
Pump Inlet Specific entropy s1 = 0.476 in [kJ/kg K]
Pump Inlet Specific volume v1 = 0.001 in [m3/kg]
----------State variable at state point 4----------
Boiler Inlet Temperature T1 = 32.9452 in [degree C]
Boiler Inlet Pressure p1 = 30.0000 in [bar]
Boiler Inlet Enthalpy h1 = 140.7622 in [kJ/kg]
Boiler Inlet Specific entropy s1 = 0.4763 in [kJ/kg K]
Boiler Inlet Specific volume v1 = 0.0010 in [m3/kg]
----------Work and Efficiency----------
Work transferred from the working fluid Wturbine = 1120.8628 in [kJ/kg]
Heat rejected from the working fluid Qcondenser = 1972.9431 in [kJ/kg]
Work transferred into the working fluid Wpump = 2.9971 in [kJ/kg]
Heat transferred to the working fluid Qboiler = 3090.8088 in [kJ/kg]
Back Work Ratio BWR = 373.9816
Specific Steam Consumption SSE = 3.2204 in [kg/kWh]
Net work on the working fluid Wnet = 1117.8657 in [kJ/kg]
Rankine Cycle Efficiency ETArankine = 36.1674 %
..................SUCESSFULLY DONE THE CALCULATIONS...............
CONCLUSION :-
REFERENCES :-
Thermodynamic Properties of Water (Steam Tables)
THERMODYNAMICS : AN ENGINEERING APPROACH : CENGEL;BOLES;KANOGLU
Leave a comment
Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.
Other comments...
Project 1 - Data Cleaning and Transformation using Pivot table and Charts for the Report on requirement of Team Hiring
Project Documentation: Optimizing Team Hiring Insights through Data Cleaning and TransformationIntroductionIn today's data-driven environment, businesses thrive on informed decision-making. At ABC Private Limited, a manufacturer and seller of diverse products ranging from Classic Cars to Trucks and Buses, understanding…
26 Sep 2024 02:54 PM IST
Project 2
Project Documentation: Alumni Career Choices AnalysisAimThe aim of this project is to analyze the career choices of alumni from two universities with respect to their passing year and the courses they completed. This analysis helps in understanding the career growth of alumni, which plays a crucial role in the institute's…
10 Jul 2024 08:03 AM IST
Project 1
From the series of queries and actions conducted on the ecommerce database, several insights can be derived regarding the user demographics and their activities on the platform. Firstly, the database contains information about users' demographics, such as their gender, country, language, and usage of applications like…
28 Feb 2024 07:45 PM IST
Project 2 - EDA on Vehicle Insurance Customer Data
EDA on Vehicle Insurance Customer Data Aim: The aim of this project is to perform exploratory data analysis (EDA) and data cleaning on two datasets containing customer details and policy details. The objective is to prepare the data for future analysis and modeling, identify patterns, and derive insights to aid business…
19 Feb 2024 08:36 PM IST
Related Courses
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.