Challenge

Project 2 - Rankine cycle Simulator

AIM: TO CREATE A RANKINE CYCLE SIMULATOR USING OCTAVE/MATLAB

THEORY: The Rankine cycle is the fundamental operating cycle of all power plants where an operating fluid is continuously evaporated and condensed. The selection of operating fluid depends mainly on the available temperature range.

The Rankine cycle operates in the following steps:

  • ‘1-2’ Isentropic Expansion. The vapor is expanded in the turbine, thus producing work which may be converted to electricity. In practice, the expansion is limited by the temperature of the cooling medium and by the erosion of the turbine blades by liquid entrainment in the vapor stream as the process moves further into the two-phase region. Exit vapor qualities should be greater than 90%.
  • ‘2-3’ Isobaric Heat Rejection. The vapor-liquid mixture leaving the turbine 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.
  • ‘3-4’ Isentropic Compression. 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.
  • ‘4-1’ Isobaric Heat Transfer. High pressure liquid enters the boiler from the feed pump and is heated to the saturation temperature. Further addition of energy causes evaporation of the liquid until it is fully converted to saturated steam.

The equations used are

1)Turbine Work (WT):

WT = H1 - H2

2)Pump Work (WP):

WP = H4 - H3

3)Net Work (WNET):

WNET = WT - WP

4)Thermal Efficiency (ηη):

ηη = WNET/(H1 - H4)

5)Back Work Ratio (BWR):

BWR = WP /WT

6)Specific Steam Conductivity(S.S.C):

S.S.C = 3600/WT

Where,

H1,H2,H3,H4 are the enthalpy at the state points 1,2,3,and 4 respectively.

The link for the standard XSteam 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.

https://drive.google.com/open?id=1RK_fvrOj38CIaQvmLT1S3daqHnxKCGU-

OBJECTIVE:

  1. Calculating the state points of the Rankine Cycle.
  2. Plotting T-s and h-s Diagrams for given set of inputs.

PROGRAM:

clear all

close all

clc

disp(' RANKINE CYCLE SIMULATOR ');

disp('1-2 is Isentropic Expansion in the Turbine');

disp('2-3 is Constant Pressure Heat Rejection by the Condenser');

disp('3-4 is Isentropic Compression in the Pump');

disp('4-1 is Constant Pressure Heat Addition by the Boiler');

fprintf('\n');


%Taking inputs from user

P1 = input('Enter the Pressure at the Turbine Inlet(in bar): ');

T1 = input('Enter the Temperature at the Turbine Inlet(in Degree Celcius): ');
P2 = input('Enter the Pressure at the Condenser (in bar): ');

%calculating state values

%At state point 1

H1 = XSteam('h_pT',P1,T1);

S1 = XSteam('s_pT',P1,T1);

H_L1 = XSteam('hL_p',P1);

H_G1 = XSteam('hV_p',P1);

S_L1 = XSteam('sL_p',P1);

S_G1 = XSteam('sV_p',P1);

T_sat1 = XSteam('Tsat_p',P1);

%At state point 2

S2 = S1;

S_L2 = XSteam('sL_p',P2);

S_G2 = XSteam('sV_p',P2);

D = (S2-S_L2)/(S_G2-S_L2); %Calculating the dryness fraction

H_L2 = XSteam('hL_p',P2);

H_G2 = XSteam('hV_p',P2);

H2 = H_L2 + D*(H_G2 - H_L2); %Calculating the enthalpy at point 2

T2 = XSteam('T_ph',P2,H2);

T_sat2 = XSteam('Tsat_p',P2);

%At state point 3

P3 = P2;

T3 = T2;

H3 = H_L2;

S3 = S_L2;

%At state point 4

P4 = P1;

S4 = S3;

T4 = XSteam('T_ps',P4,S4);

H4 = XSteam('H_ps',P4,S4);

%Calculating Work, Back Work Ratio, Specific Steam Conductivity and Efficiency

%Turbine Work

W_T = H1 - H2;

%Pump Work

W_P = H4 - H3;

%Net Work

W_NET = W_T - W_P;

%Thermal Efficiency of the Rankine Cycle

EFF = (W_NET/(H1 - H4))*100 ;

%Back Work Ratio

BWR = W_P/W_T;

%Specific Steam Conductivity

SSC = 3600/W_T;

%Displaying results

%state point 1

disp(' RESULTS ');

disp('At State point 1');

fprintf('\nP1 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/kgK \n\n',S1);

%Values of state point 2

disp('At State point 2');

fprintf('\nP2 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/kgK \n\n',S2);

%Values of state point 3

disp('At State point 3');

fprintf('\nP3 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/kgK \n\n',S3);

%Values of state point 4

disp('At State point 4');

fprintf('\nP4 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/kgK \n',S4);

%Turbine Work

fprintf('\nTurbine Work : %.2f KJ/kg \n',W_T);

%Pump Work

fprintf('Pump Work : %.2f KJ/kg \n',W_P);

%Net Work

fprintf('Net Work : %.2f KJ/kg \n',W_NET);

%Thermal Efficiency

fprintf('thermal efficiency : %.2f %',EFF);

%Specific Steam Conductivity

fprintf('\nSpecific Steam Conductivity : %.2f kg/KWh \n',SSC);

%Back Work ratio

fprintf('Back Work Ratio is : %f \n',BWR);

%plotting of T-S curve

t = linspace(0,373.5,200);

figure(1)

hold on

for i = 1:length(t)

plot(XSteam('sL_T',t(i)),t(i),'g.')

plot(XSteam('sV_T',t(i)),t(i),'g.')

end

plot([S1 S2],[T1 T2],'linewidth',2,'color','k')

text(S1,T1,'1','FontSize',10)

if D>1

T3 = T_sat2;

plot([S2 S_G2 S3 S4],[T2 T_sat2 T3 T4],'linewidth',2,'color','k')

T2 = T_sat2;

text(S2,T2,'2','FontSize',10)

text(S3,T3,'3','FontSize',10)

else

plot([S2 S3 S4],[T2 T3 T4],'linewidth',2,'color','k')

text(S2,T2,'2','FontSize',10)

text(S3,T3,'3','FontSize',10)

end

n = linspace(T1,T2,500);

for i = 1:length(n)

plot(XSteam('s_pT',P1,n(i)),n(i),'.','linewidth',2,'color','k')

end

plot([S_L1 S_G1],[T_sat1 T_sat1],'linewidth',2,'color','k')

text(S_L1,T_sat1,'4','FontSize',10)

xlabel('Entropy(kJ/kg-K)')

ylabel('Temperature(k)')

title('T-S Graph')

%Plotting of H-S Curve

figure(2)

hold on

for i = 1:length(t)

plot(XSteam('sL_T',t(i)),XSteam('hL_T',t(i)),'b.')

plot(XSteam('sV_T',t(i)),XSteam('hV_T',t(i)),'b.')

end

plot([S1 S2 S3 S4 S1],[H1 H2 H3 H4 H1],'linewidth',2,'color','k')

text(S1,H1,'1','FontSize',10)

text(S2,H2,'2','FontSize',10)

text(S3,H3,'3','FontSize',10)

text(S4,H4,'4','FontSize',10)

xlabel('Entropy(kJ/kg-K)')

ylabel('Enthalpy(kJ/kg)')

title('H-S Graph')

EXPLANATION OF PROGRAM:

  • Initially, a platform for filling required inputs is established.
  • It is followed by specifying all state point variables from the XSteam library.
  • The T-s and h-s Diagrams are plotted containing the Rankine Cycle and the Saturation Curve.
  • Now, the work done by individual equipments and the net work done is calculated.
  • Adding to the other desired variables, back work ratio is calculated.
  • The values of state point variables is printed on the command window with the work output values.

OUTPUT: (Command Window)

RESULTS:

  1. Net Work Output = 603.81 kJ/kg
  1. Back Work Ratio = 0.006911

PLOTS:

  • T-S DIAGRAM:

  • H-S DIAGRAM:

CONCLUSION: The Rankine Cycle Simulator has been established with required inputs fed. The required variables have been calculated and respective plots have been set up. It is possible to modify the Rankine Cycle by adding desired equipment based on our preference of functionality.

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.