Challenge

Project 2 - Rankine cycle Simulator

Objective :-
1) Creating a Rankine Cycle Simulator & Calculating the state points of the Rankine Cycle based on user inputs.
2) Plotting the corresponding T-S and H-S plots for the given set of inputs
Rankine Cycle :-
The Rankine cycle is a model used to predict the performance of steam turbine systems. It was also used to study the performance of reciprocating steam engines. The Rankine cycle is an idealized thermodynamic cycle of a heat engine that converts heat into mechanical work while undergoing phase change. It is an idealized cycle in which friction losses in each of the four components are neglected. The heat is supplied externally to a closed loop, which usually uses water as the working fluid.
Processes in Rankine Cycle :-
There are four processes in the Rankine cycle. These states are identified by numbers (in brown) in the above 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.
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 enthalphy-entropy chart, or Mollier Diagram, or numerically, using steam tables
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.
Process 4-1: The wet vapour then enters a condenser, where it is condensed at a constant pressure to become a saturated liquid.
Procedure :-
1.We will use standard steam library to get the steam table data for water, is given below. It must be used to calculate the points in between the state variables.
2. Clearing workspace, command window & closing all plots
3. The user inputs that have to be entered by the user are:
Pressure at the turbine inlet (in bar)
Temperature at the turbine inlet (in Degree C)
Pressure at the Condenser(in bar)
4. Based on the inputs we will calculate state variables by using equation of state and X_steam library which is a steam table and we can directly read values of state variables using it.
5.After calculating the state variables at each state point we have calculated the turbine and pump work done
6. At the end we plotted the corresponding T-s and h-s plots for the given set of inputs.

Main Code :-

clear all 
close all
clc


% Simulatig Rankine Cycle
% Process Description
fprintf('1-2 Isobaric heat Transfer\n')
fprintf('2-3 Isentropis Expansion\n')
fprintf('3-4 Isobaric heat Rejection\n')
fprintf('4-1 Isentropic Compression')

% Inputs
p1 = input('Enter the Pressure at turbine inlet(in bar):');
t1 = input('Enter the Temperature at the Inlet(in Degree Celcious):');
p2 = input('Enter the Pressure at the Condenser(in bar):');

% Input Conditions
t = XSteam('Tsat_p',p1);
if t >= t
h1 = XSteam('h_pT',p1,t1);
s1 = XSteam('s_pT',p1,t1);
% State points Evaluation
p4 = p1;
p3 = p2;
h3 = XSteam('hL_p',p3);
s3 = XSteam('sL_p',p3);
t3 = XSteam('Tsat_p',p3);
s2 = s1;
t2 = t3;
sf2 = XSteam('sL_p',p2);
sg2 = XSteam('sV_p',p2);
x2 = (s2 - sf2)/(sg2 - sf2);
hf2 = XSteam('hL_p',p2);
hg2 = XSteam('hV_p',p2);
h2 = hf2 + x2*(hg2 - hf2);
s4 = s3;
h4 = XSteam('h_ps',p4,s4);
cp4 = XSteam('Cp_ps',p4,s4);
cv4 = XSteam('Cv_ps',p4,s4);
g4 = cp4/cv4;
o = (g4 - 1)/g4;
t4 = t3*((p4/p3)^o);

% Turbine & Pump Work
wt = h1 - h2;
wp = h4 - h3;
% net work
wnet = wt - wp;
% heat supplied
qs = h1 - h4;
% Efficiency
n_per = (wnet/qs)*100;
% Steam rate per second
stm_rate = 3600/(wt - wp);

% For process 4-1, which is isobaric we use the expression dH = Cp*dT
t5 = XSteam('Tsat_p',p1);
s5 = XSteam('sL_p',p1);
s6 = XSteam('sV_p',p1);

% output
fprintf('\n\tRESULT\n')
fprintf('At State point 1:\nP1 is :%4.2f Bar\nT1 is :%4.2f Degree Celcius\nH1 is :%4.2f kJ/kg\nS1 is :%4.2f kJ/kgk\n\n',p1,t1,h1,s1)
fprintf('At State point 2:\nP2 is :%4.2f Bar\nT2 is :%4.2f Degree Celcius\nH2 is :%4.2f kJ/kg\nS2 is :%4.2f kJ/kgk\n\n',p2,t2,h2,s2)
fprintf('At State point 3:\nP3 is :%4.2f Bar\nT3 is :%4.2f Degree Celcius\nH3 is :%4.2f kJ/kg\nS3 is :%4.2f kJ/kgk\n\n',p3,t3,h3,s3)
fprintf('At State point 4:\nP4 is :%4.2f Bar\nT4 is :%4.2f Degree Celcius\nH4 is :%4.2f kJ/kg\nS4 is :%4.2f kJ/kgk\n\n',p4,t4,h4,s4)
fprintf('Wt is :%4.2f kJ/kg\nWp is :%4.2f kJ/kg\nWnet is :%4.2f kJ/kg\nNtherm is :%4.2f percent\nS.S.C is :%4.2f kg/kWh',wt,wp,wnet,n_per,stm_rate)

% Vapour line
temp = linspace(1,400,100);
for i = 1:length(temp)
    ent_l(i) = XSteam('sL_T',temp(i));
    ent_v(i) = XSteam('sV_T',temp(i));
    enth_l(i) = XSteam('hL_T',temp(i));
    enth_v(i) = XSteam('hV_T',temp(i));
end

% Plotting
subplot(1,2,1)
plot([s1 s2 s3 s4 s5 s6 s1],[t1 t2 t3 t4 t5 t5 t1],'Color','k','linewidth',2,'marker','o','markersize',2,'markerfacecolor','b','markeredgecolor','b')
hold on
plot(ent_l,temp,'Color','g')
plot(ent_v,temp,'color','g')
axis([0 10 0 700])
text(s1,t1,'1','FontSize',15)
text(s2,t2,'2','FontSize',15)
text(s3,t3,'3','FontSize',15,'HorizontalAlignment','right')
text(s4,t4,'4','FontSize',15,'HorizontalAlignment','right')
xlabel('Entropy')
ylabel('Temperature')
subplot(1,2,2)
plot([s1 s2 s3 s4 s1],[h1 h2 h3 h4 h1],'Color','k','linewidth',2,'marker','o','markersize',2,'markerfacecolor','b','markeredgecolor','b')
axis([0 10 300 5000])
hold on
plot(ent_v,enth_v,'color','g')
plot(ent_l,enth_l,'color','g')
text(s1,h1,'1','FontSize',15)
text(s2,h2,'2','FontSize',15)
text(s3,h3,'3','FontSize',15,'HorizontalAlignment','right','VerticalAlignment','top')
text(s4,h4,'3','FontSize',15,'HorizontalAlignment','right','VerticalAlignment','bottom')
xlabel('Entropy')
ylabel('Enthalpy')    

else
    fprintf('Enter Temperature Greater or Equal to Saturation Temperature')
end    

Result :-

Output - figure

Command Window

1-2 Isobaric heat Transfer
2-3 Isentropis Expansion
3-4 Isobaric heat Rejection
4-1 Isentropic CompressionEnter the Pressure at turbine inlet(in bar):30
Enter the Temperature at the Inlet(in Degree Celcious):400
Enter the Pressure at the Condenser(in bar):0.05

	RESULT
At State point 1:
P1 is :30.00 Bar
T1 is :400.00 Degree Celcius
H1 is :3231.57 kJ/kg
S1 is :6.92 kJ/kgk

At State point 2:
P2 is :0.05 Bar
T2 is :32.88 Degree Celcius
H2 is :2110.71 kJ/kg
S2 is :6.92 kJ/kgk

At State point 3:
P3 is :0.05 Bar
T3 is :32.88 Degree Celcius
H3 is :137.77 kJ/kg
S3 is :0.48 kJ/kgk

At State point 4:
P4 is :30.00 Bar
T4 is :36.94 Degree Celcius
H4 is :140.76 kJ/kg
S4 is :0.48 kJ/kgk

Wt is :1120.86 kJ/kg
Wp is :3.00 kJ/kg
Wnet is :1117.87 kJ/kg
Ntherm is :36.17 percent
S.S.C is :3.22 kg/kWh

Workspace

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.