All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
Aim: To simulate the Rankine Cycle and plot the corresponding T-S and H-S plots using MATLAB. Objective: Calculate the state points of the Rankine Cycle based on given inputs. Plot the corresponding T-S and H-S plots for the given set of inputs. Given: Input Values: Turbine Inlet temperature = 400° C Turbine…
Palukury Bereshith Jacob Alapan
updated on 10 May 2020
Aim: To simulate the Rankine Cycle and plot the corresponding T-S and H-S plots using MATLAB.
Objective:
Given:
Input Values:
Required Output Values:
\"Note: The standard Xsteam library is used to get the steam table data for water is given, which is used to calculate the points in between the state variables.\"
Introduction:
Procedure:
MATLAB Program:
% Rankine Cycle Simulator
clear all
close all
clc
% Printing Introduction
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 Inputs
P1 = input(\'\\nEnter the Pressure at the Turbine Inlet (in bar): \');
T1 = input(\'Enter the Temprature at the Turbine Inlet (in Degree Celcius): \');
P2 = input(\'Enter the Pressure at the Turbine Outlet (in bar): \');
% 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); %Enthaply of saturated vapour
Ts1 = XSteam(\'Tsat_p\',P1); %Saturation Temprature
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);
x = (S2-Sf2)/(Sg2-Sf2); % Dryness fraction
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); % temp space for plotting saturation cutves
%Plot T-S Diagram
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(l)
plot(XSteam(\'s_pT\',P1,l(i)),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 S1],[H1 H2 H3 H4 H1],\'linewidth\',2,\'color\',\'r\')
xlabel(\'Entropy[KJ/Kg-K]\')
ylabel(\'Enthalpy[KJ/Kg]\')
title(\'H-S Diagram\')
% calculations
% 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;
% Print Results
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(\'\\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(\'\\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)
Steps:
1) Start the program with \'clear all\',\'close all\', and \'clc\' command.
2) As our task is to take user input, to facilitate users to continue or end the program, we have introduced a while statement at the start of the script. While statement, the first step is to make provision for MatLab to accept user input. \'input()\' is used to provide the user input. The user input includes temperature and pressure before entry to the turbine and pressure after exiting to the turbine.
3) Now based on user inputs parameters at 4 state points are calculated. Thermodynamic parameters include enthalpy H, entropy S, temperature T, pressure P, and dryness factor X at state point 2. For calculating these parameters XSteam() i.e. steam table MatLab program is used. This program consists of functions for all thermodynamic properties. After calling these functions in the main script gives us thermodynamic properties based on other properties like temperature and pressure.
4) After calculating all parameters, the next objective is to calculate pump work, turbine work, net work output, back ratio, and thermal efficiency.
5) Now, we need to display all these results in the command window which is done by using command \'fprintf()\'.
6) The next objective is to plot the graph for H-S and T-S. The first step in plotting this graph is to plot the saturation curve which is calculated using \'for\' loop. Under \'for\' loop, values for entropy and enthalpy are calculated over a temperature range. Plotting these calculated values, the plot of a saturation curve can is obtained. Other processes are plotted by plotting respective values of H, S, T.
7) Now, when the program is run it asks the user to input Turbine Inlet temperature, Turbine Inlet Pressure, Turbine Outlet Pressure which is Condenser Inlet Pressure.
8) After the input parameters are given, all the results are displayed in the command window.
Results:
Turbine Inlet temperature = 400° C
Turbine Inlet Pressure = 30 bars
Turbine Outlet Pressure = 0.05 bars = Condenser Inlet Pressure
Command Window:
T-S Plot:
H-S Plot:
Workspace Values:
Errors:
No complicated errors occurred while running the MATLAB program.
Conclusion:
References:
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...
Powertrain for aircraft in runways
1) Search and list out the total weight of various types of aircraft. Weight is the force generated by the gravitational attraction of the earth on the airplane. Each part of the aircraft has a unique weight and mass, and for some problems, it is important to know the distribution.…
18 Feb 2021 11:35 AM IST
Braking
1) For a defined driving cycle, calculate the energy required for braking. We have to create a drive cycle excel file with random data of velocity concerning that time and plotted them to see the drive cycle Then import that file into Matlab. Then to create an array into the command window by entering code braking_energy…
15 Feb 2021 02:33 PM IST
Duty Cycle
1) Why power electronics circuits are efficient? In practice, which types of losses occur in power electronics circuits? Power Electronics: Power electronics involves the study of electronic circuits intended to control the flow of electrical energy. These circuits handle power flow at levels much higher than the individual…
14 Feb 2021 01:28 PM IST
Induction Motor Characteristics - II
1) Discuss the equivalent circuit network of the induction motor MATLAB model. Equivalent circuit of an Induction motor: In the equivalent circuit, R1 represents the resistance of the stator winding and X1 the stator leakage reactance (flux that does not link with the air gap and rotor). Magnetizing reactance required…
14 Feb 2021 09:26 AM 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.