Challenge

Project 2 - Rankine cycle Simulator

AIM :- To create a rankine cycle simulator and plot t-s and h-s diagrams for the same.

EXPLANATAION :- The Rankine cycle is an idealized thermodynamic cycle describing the process by which certain heat engines, such as steam turbines or reciprocating steam engines, allow mechanical work to be extracted from a fluid as it moves between a heat source and heat sink.
The Rankine cycle is named after William John Macquorn Rankine, a Scottish polymath professor at Glasgow University.
Heat energy is supplied to the system via a boiler where the working fluid (typically water) is converted to a high pressure gaseous state (steam) in order to turn a turbine.
After passing over the turbine the fluid is allowed to condense back into a liquid state as waste heat energy is rejected before being returned to boiler, completing the cycle.
Friction losses throughout the system are often neglected for the purpose of simplifying calculations as such losses are usually much less significant than thermodynamic losses, especially in larger systems.
There are four processes in the Rankine cycle. The states are identified by numbers (in brown) in the T–s diagram.

Process 1–2: The working fluid is pumped from low to high pressure. As the fluid is a liquid at this stage, the pump requires little input energy. This process is isentropic compression.
Process 2–3: The high-pressure liquid enters a boiler, where it is heated at constant pressure by an external heat source to become a dry saturated vapour. The input energy required can be easily calculated graphically, using an enthalpy–entropy chart (h–s chart, or Mollier diagram), or numerically, using steam tables or software. This process is constant pressure heat addition in boiler.
Process 3–4: The dry saturated vapour expands through a turbine, generating power. This decreases the temperature and pressure of the vapour, and some condensation may occur. The output in this process can be easily calculated using the chart or tables noted above. This process is isentropic expansion.
Process 4–1: The wet vapour then enters a condenser, where it is condensed at a constant pressure to become a saturated liquid. This process is constant pressure heat rejection in condenser.

Step by step explanation of the code :-
-We start by using the disp command to display the rankine cycle simulator.
-Now we write down all the different processes that is there in rankine cycle using the fprintf command.
-We have been given values for turbine inlet temperature(t_1)=400 deg clecius, turbine inlet pressure(p_1)=30 bar and turbine outlet pressure(p_2)=0.05 bar. Assign the following values to their specific parameters.
-The XSteam file has to be added in the same directory as the code we are writting.
-XSteam function has to be called with suitable arguments to get the values of enthalpy and entropy.
-Use the command fprintf to print the vlaues we find.
-Repeating the same process for the other unknown states.
-Use for loop command to find the values of enthalpy and entroy at saturated temperatures.
-The net work output and the back work ratio can be found out using suitable formulaes.
-Plot the t-s and h-s for all the values that we have found outin different states.
-Give X and Y label
-Using the values we found we can plot the saturation line.

Main Code :-

clear all
close all
clc

%displaying rankine cycle simulator and its processess
disp("      rankine cycle simulator")
fprintf('n 1-2 is the isentropic expansion process')
fprintf('n 2-3 is the constant pressure heat rejection process')
fprintf('n 3-4 is the isentropic compression process')
fprintf('n 4-1 is the constant pressure heat addition process')

%variables for stage 1
p1=30;
t1=400;
h1=XSteam('h_pT',30,400);
s1=XSteam('s_ph',30,h1);
fprintf('nn       Results')
fprintf('nn At state point 1')
fprintf('n P1 is:%f bar',p1)
fprintf('n T1 is:%f deg celcius',t1)
fprintf('n H1 is:%f KJ/Kg',h1)
fprintf('n S1 is:%f KJ/KgK',s1)

%variables for stage 2
p2=0.05;
s2=s1;
t2=XSteam('T_ps',0.05,6.1858);
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));
h2 = hf2 + (x*(hg2 - hf2));
v2 = XSteam('v_ph',p2,h2);
fprintf('nn At state point 2')
fprintf('n P2 is:%f bar',p2)
fprintf('n T2 is:%f deg clecius',t2)
fprintf('n H2 is:%f KJ/Kg',h2)
fprintf('n S2 is:%f KJ/KgK',s2)

%variable for stage 3
t3 = t2;
p3 = p2;
s3 = XSteam('sL_p',p3);
h3 = XSteam('hL_T',32.875);
v3 = XSteam('v_ph',p3,h3);
fprintf('nn At state point 3')
fprintf('n P3 is:%f bar',p3)
fprintf('n T3 is:%f deg clecius',t3)
fprintf('n H3 is:%f KJ/Kg',h3)
fprintf('n S3 is:%f KJ/KgK',s3)

%variables for stage 4
s4 = s3;
v4 = v3;
p4 = p1;
h4 = XSteam('h_ps',p4,s4);
t4 = XSteam('T_hs',h4,s4);
fprintf('nn At state point 4')
fprintf('n P4 is:%f bar',p4)
fprintf('n T4 is:%f deg celcius',t4)
fprintf('n H4 is:%f KJ/Kg',h4)
fprintf('n S4 is:%f KJ/KgK',s4)

%variables for stage 5
p5 = p4;
t5 = XSteam('Tsat_p',p5);
h5 = XSteam('hL_T',t5);
s5 = XSteam('sL_p',p5);
fprintf('nn At state point 5')
fprintf('n P5 is:%f bar',p5)
fprintf('n T5 is:%f deg celcius',t5)
fprintf('n H5 is:%f KJ/Kg',h5)
fprintf('n S5 is:%f KJ/KgK',s5)

%variables for stage 6
t6 = t5;
p6 = XSteam('psat_T',t5);
s6 = XSteam('sV_T',t6);
h6 = XSteam('hV_T',t6);
fprintf('nn At state point 6')
fprintf('n P6 is:%f bar',p6)
fprintf('n T6 is:%f deg celcius',t6)
fprintf('n H6 is:%f KJ/Kg',h6)
fprintf('n S6 is:%f KJ/KgK',s6)

% loop to find variables on saturated lines
t = linspace(0,400,1000);
for i=1:length(t)
s_line1(i)=XSteam('sL_T',t(i));
end

for j=1:length(t)
s_line2(j)=XSteam('sV_T',t(j));
end

for i=1:length(t)
h_line1(i)=XSteam('hL_T',t(i));
end

for j=1:length(t)
h_line2(j)=XSteam('hV_T',t(j));
end

%Net work output calculations
w_turbine = h1 - h2; 
w_pump = h4 - h3;
work = w_turbine - w_pump;
q_in = h1 - h4;
q_out = h2 - h3;

%Thermal Efficiency
n = work/q_in;

%back work ration
BWR = w_pump/w_turbine;

%specific steam consumption
ssc = 3600/work;

%plotting T-S graph
figure(1)
hold on
plot([s_line1 s_line2],[t t])
plot([s1 s2 s3 s4 s5 s6 s1],[t1 t2 t3 t4 t5 t6 t1])
text(s1,t1,'1')
text(s2,t2,'2')
text(s3,t3,'3')
text(s4,t4,'4')
text(s5,t5,'5')
text(s6,t6,'6')
title('rankine cycle T-S diagram')
xlabel('Entropy(Kj/KgK)')
ylabel('Temperature(K)')
axis([0,8,0,450])
%plotting h-s graph

figure(2)
hold on
plot([s_line1 s_line2],[h_line1 h_line2])
plot([s1 s2 s3 s4 s5 s6 s1],[h1 h2 h3 h4 h5 h6 h1])
text(s1,h1,'1')
text(s2,h2,'2')
text(s3,h3,'3')
text(s4,h4,'4')
text(s5,h5,'5')
text(s6,h6,'6')
title('rankine cycle H-S diagram')
xlabel('Entropy(Kj/KgK)')
ylabel('Enthalpy(Kj/Kg)')
axis([0,8,0,3500])

https://www.nuclear-power.com/nuclear-engineering/thermodynamics/thermodynamic-cycles/rankine-cycle-steam-turbine-cycle/theory-of-rankine-cycle-equations-and-calculation/#:~:text=The%20steam%20works%20on%20the,%3D%20H4%20–%20H3.

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.