import math
from __future__ import division
#Variable declaration
h = 2000 ; #W/m^2 K
#From Table 7.1
Uf = 0.0001 ; #fouling factor, m^2K/W
#calculations
hf = 1/(1/ h+ Uf );
p = (h-hf)/h *100;
#result
print"Heat transfer coefficient including the effect of foulung =",round(hf,4),"W/m^2 K";
print"Percentage reduction =",round(p,4);
import math
from __future__ import division
#Variable declaration
m = 1000 ; #kg/h
Thi = 50 ; #C
The = 40 ; #C
Tci = 35 ; #C
Tce = 40 ; #C
U = 1000 ; #OHTC, W/m^2 K
#From fig 7.15,
F =0.91 ;
#Again from fig 7.15,
F =0.91 ;
#calculations
#Using Eqn 7.5.25
q = m /3600*4174*( Thi - The ) ; #W
deltaT = (( Thi - Tce ) -(The - Tci ))/math.log (( Thi -Tce)/( The -Tci )); #C
#T1 = Th and T2 = Tc
R = (Thi - The )/( Tce - Tci ) ;
S = (Tce - Tci )/( Thi - Tci ) ;
#Alternatively, taking T1 = Tc and T2 = Th
R2 = (Tci - Tce )/( The - Thi );
S2 = (The - Thi )/( Tci - Thi );
A = q/(U*F* deltaT );
#result
print"delta T =",round(deltaT,4);
print"\nTaking T1 = Th and T2 = Tc";
print"R=",round(R,4), "S=",round(S,4);
print"Hence, F =",round(F,4);
print"\nTaking T1 = Tc and T2 = Th";
print"R2=",round(R2,4),"S2=",round(S2,4);
print"Hence, F =",round(F,4);
print"\nArea =",round(A,4),"m^2";
import math
from __future__ import division
#Variable declaration
#Because of change of phase , Thi = The
Thi = 100 ; #[C], Saturated steam
The = 100 ; #[C], Condensed steam
Tci = 30 ; #[C], Cooling water inlet
Tce = 70 ; #[C], cooling water outlet
#From fig 7.16
F = 1;
#calculations
R = (Thi - The )/( Tce - Tci ) ;
S = (Tce - Tci )/( Thi - Tci ) ;
#For counter flow arrangement
Tmcounter = (( Thi - Tce ) -(The - Tci ))/math.log (( Thi - Tce )/(The - Tci )); #For counter flow arrangement
#Therefore
Tm = F* Tmcounter ;
#result
print"Mean Temperaature Difference =",round(Tm,4),"C";
import math
from __future__ import division
#Variable declaration
#Using Mean Temperature Difference approach
mhot = 10 ; #kg/min
mcold = 25 ; #kg/min
hh = 1600 ; #[W/m^2 K], Heat transfer coefficient on hot side
hc = 1600 ; #[W/m^2 K], Heat transfer coefficient on cold side
Thi = 70 ; #C
Tci = 25 ; #C
The = 50 ; #C
#calculations
#Heat Transfer Rate, q
q = mhot /60*4179*( Thi - The ); #W
#Heat gained by cold water = heat lost by the hot water
Tce = 25 + q *1/( mcold /60*4174) ; #C
#Using equation 7.5.13
Tm = (( Thi - Tci ) -(The - Tce ))/math.log (( Thi -Tci)/( The -Tce)); #C
U = 1/(1/ hh + 1/ hc); #W/m^2 K
A = q/(U*Tm); #Area, [m^2]
#result
print"(a)";
print"Mean Temperature Difference =",round(Tm,4),"C";
print"Area of Heat Exchanger =",round(A,4),"m^2";
import math
from __future__ import division
#Variable declaration
#Using Mean Temperature Difference approach
mhot = 10 ; #kg/min
mcold = 25 ; #kg/min
hh = 1600 ; #[W/m^2 K], Heat transfer coefficient on hot side
hc = 1600 ; #[W/m^2 K], Heat transfer coefficient on cold side
Thi = 70 ; #C
Tci = 25 ; #C
The = 50 ; #C
mhot1 = 20 ; #kg/min
#calculations
#Heat Transfer Rate, q
q = mhot/60*4179*( Thi - The ); #W
#Heat gained by cold water = heat lost by the hot water
Tce = 25 + q *1/( mcold /60*4174) ;
# Using equation 7.5.13
Tm = ((( Thi - Tci ) -(The - Tce ))/math.log (( Thi -Tci)/( The -Tce))); #C
U = 1/(1/ hh + 1/ hc); #W/m^2 K
A = q/(U*Tm); #Area, [m^2]
#Flow rate on hot side i.e. 'hh' is doubled
hh1 = 1600*2**0.8 ; #W/m^2 K
U1 = 1/(1/ hh1 + 1/ hc); #W/m^2 K
mhCph = mhot1 /60*4179 ; #W/K
mcCpc = mcold /60*4174 ; #W/K
#Therefore
C = mhCph / mcCpc ;
ntu = U1*A/ mhCph ;
e = (1 - math.exp ( -(1+C)*ntu) )/(1+ C) ;
#Therefore (Thi - The)/(Thi - Tci) = e , we get
The = Thi - e*( Thi - Tci );
#Equating the heat lost by water to heat gained by cold water , we get
Tce = Tci + ( mhCph *( Thi - The ))/ mcCpc ;
#result
print"(b)\nNTU =",round(ntu,4);
print"Exit temperature of cold and hot stream are",round(Tce,4),"C and",round(The,4),"C respectively.";
import math
from __future__ import division
#Variable declaration
mc = 2000 ; # [kg/h]
Tce = 40 ; # [C]
Tci = 15 ; # [C]
Thi = 80 ; # [C]
U = 50 ; # OHTC, [W/m**2 K]
A = 10 ; # Area, [m**2]
#Calculations
# Using effective NTU method
# Assuming m_c*C_pc = (m*C_p)s
NTU = U*A/(mc*1005/3600);
e = (Tce-Tci)/(Thi-Tci);
# From fig 7.23, no value of C is found corresponding to the above values, hence assumption was wrong.
# So, m_h*C_ph must be equal to (m*C_p)s, proceeding by trail and error method
mh_1 = 200
NTU_1 = U*A/(mh_1*1.161);
#Corresponding Values of C and e from fig 7.23
C = .416;
e = .78;
#From Equation 7.6.2 Page 297
The_1 = Thi - e*(Thi-Tci)
#From Heat Balance
The2_1 = Thi - mc*1005/3600*(Tce-Tci)/(mh_1*1.161);
mh_2 = 250
NTU_2 = U*A/(mh_2*1.161);
#Corresponding Values of C and e from fig 7.23
C = .520;
e = .69;
#From Equation 7.6.2 Page 297
The_2 = Thi - e*(Thi-Tci)
#From Heat Balance
The2_2 = Thi - mc*1005/3600*(Tce-Tci)/(mh_2*1.161);
mh_3 = 300
NTU_3 = U*A/(mh_3*1.161);
#Corresponding Values of C and e from fig 7.23
C = .624;
e = .625;
#From Equation 7.6.2 Page 297
The_3 = Thi - e*(Thi-Tci)
#From Heat Balance
The2_3 = Thi - mc*1005/3600*(Tce-Tci)/(mh_3*1.161);
mh_4 = 350
NTU_4 = U*A/(mh_4*1.161);#Corresponding Values of C and e from fig 7.23
C = .728;
e = .57;
#From Equation 7.6.2 Page 297
The_4 = Thi - e*(Thi-Tci)
#From Heat Balance
The2_4 = Thi - mc*1005/3600*(Tce-Tci)/(mh_4*1.161);
mh_5 = 400
NTU_5 = U*A/(mh_5*1.161);
#Corresponding Values of C and e from fig 7.23
C = .832;
e = .51;
#From Equation 7.6.2 Page 297
The_5 = Thi - e*(Thi-Tci)
#From Heat Balance
The2_5 = Thi - mc*1005/3600*(Tce-Tci)/(mh_5*1.161);
#Results
print ("m_h(kg/h) \t NTU \t\t C \t\t e \t T_he(C) \t\t T_he(C)(Heat Balance)");
print mh_1,"\t\t",round(NTU_1,3),"\t\t",round(C,3),"\t\t",round(e,2),"\t\t ",round(The_1,1),"\t\t\t",round(The2_1,1);
print mh_2,"\t\t",round(NTU_2,3),"\t\t",round(C,3),"\t\t",round(e,2),"\t\t ",round(The_2,1),"\t\t\t",round(The2_2,1);
print mh_3,"\t\t",round(NTU_3,3),"\t\t",round(C,3),"\t\t",round(e,2),"\t\t ",round(The_3,1),"\t\t\t",round(The2_3,1);
print mh_4,"\t\t",round(NTU_4,3),"\t\t",round(C,3),"\t\t",round(e,2),"\t\t ",round(The_4,1),"\t\t\t",round(The2_4,1);
print mh_5,"\t\t",round(NTU_5,3),"\t\t",round(C,3),"\t\t",round(e,2),"\t\t ",round(The_5,1),"\t\t\t",round(The2_5,1);
#Graph
mh=[200,250,300,350,400];
The=[29.3,35.2,39.4,43,46.9];
The2=[19.9,31.9,39.9,45.7,50];
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
plt.plot (mh,The,'b',mh,The2,'r',[295,295,200],[0,39.2,39.2],'k');
plt.title ("mh vs The");
plt.xlabel(" mh ");
plt.ylabel(" The ");