import math
# Variables
#At Temp T1 = 298.15K
T1 = 298.15; #[K]
P1 = 1.; #[bar]
P2 = 1000.; #[bar]
Cp_T1 = 75.305; #[KJ Kmol/K]
V1_T1 = 18.071*10**-3; #[m**3/Kmol]
V2_T1 = 18.012*10**-3; #[m**3/Kmol]
beta1_T1 = 256.*10**-6; #[1/K]
beta2_T1 = 366.*10**-6; #[1/K]
#At Temp T2 = 323.15K
T2 = 323.15; #[K]
P1 = 1.; #[bar]
P2 = 1000.; #[bar]
Cp_T2 = 75.314; #[KJ Kmol/K]
V1_T2 = 18.234*10**-3; #[m**3/Kmol]
V2_T2 = 18.174*10**-3; #[m**3/Kmol]
beta1_T2 = 458.*10**-6; #[1/K]
beta2_T2 = 568.*10**-6; #[1/K]
#Solution
#Formula to be used
#Eqn (6.28) del_H = ((Cp)(T2-T1))-((V)(1-(beta)(T2)(P2-P1))
#Eqn (6.29) del_S = ((Cp)ln(T2/T1)-((beta)(V)(P2-P1))
#For P = 1
Cp = (Cp_T1+Cp_T2)/2;
#For T = 323.15K
V = (V1_T2+V2_T2)/2;
beta_T = (beta1_T2+beta2_T2)/2;
del_H = round((Cp*(T2-T1))+(V*(1-(beta_T*T2))*(P2-P1)*10**5*10**-3),0);
del_S = round((Cp*(math.log(T2/T1)))-(beta_T*V*(P2-P1)*10**5*10**-3),2);
print 'Change In Enthalpy',del_H,'KJ/Kmol'
print 'Change In Entropy',del_S,'KJ/Kmol/K'
%matplotlib inline
import math
from matplotlib.pyplot import plot,suptitle,xlabel,ylabel
from numpy import array
def ICPS(T0,T,A,B,C,D):
t = T/T0;
return ((A)*math.log(t))+(((B*T0)+(((C*T0*T0)+(D/(t*t*T0*T0)))*(t+1)/2))*(t-1))
def ICPH(T0,T,A,B,C,D):
t = T/T0;
return (A+((B/2)*T0*(t+1))+((C/3)*T0*T0*((t**2)+t+1))+(D/(t*T0*T0)))*(T-T0)
# Variables
T0 = 300.; #[K]
T = 360.; #[K]
R = 8.314;
P = 15.14; #[bar]
A = 1.7765;
B = 33.037*10**-3;
C = 0;
D = 0;
H0 = 18115.; #J/mol
S0 = 295.976; #J/mol/K
#Graph
X = array([0,0.10,0.50,2,4,6,8,10,12,14,15.41]);
Y1 = array([1.780,1.700,1.514,1.293,1.290,1.395,1.560,1.777,2.073,2.432,2.720]); #[(dZ/dT)p/P]
Y2 = array([2.590,2.470,2.186,1.759,1.591,1.544,1.552,1.592,1.658,1.750,1.835]); #[-(Z-1)/P]
plot(Y1,X);
suptitle("(a)")
xlabel("P(bar)")
ylabel("[(dZ/dT)p/P]X10**4(K**-1 bar**-1)");
plot(Y2,X);
suptitle("(b)")
xlabel("P(bar)")
ylabel("[-(Z-1)/P]X10**2(bar**-1)");
#Area Under the Curve (a)
Y1 = Y1*10**-4;
A1 = 0;
for i in range(1,11):
A1 = A1+((X[i-1]-X[i])*Y1[i]);
print 'Area under the graph(a)',A1*10000,'(X 10**-4) K**-1'
#Area Under the Curve (b)
Y2 = Y2*10**-2;
A2 = 0;
for i in range(1,11):
A2 = A2+((X[i-1]-X[i])*Y2[i]);
print 'Area under the graph(b)',round(A2,4)
K = A1*T; #Hr/RT
#From Eqn(6.47)
Hr = R*T*(K); #[J/mol]
#From Eqn(6.48)
Sr = R*(K-(A2)); #[J/mol/K]
#From Eqn(6.49) and Eqn(6.50)
H1 = R*ICPH(T0,T,A,B,C,D);
S1 = R*ICPS(T0,T,A,B,C,D);
H = H0+H1+Hr;
S = round(S0+S1+Sr-(R*math.log(P)),3);
print 'Enthalpy',H,'J/mol'
print 'Entropy',S,'J/mol/K'
print ('Note: The Answer is different with that of the Book because the Method Used\
to find the Area under the Graph is done by finding the area of small Rectangles')
import math
# Variables
T = 500.; #[K]
R = 8.314;
Tc = 425.1; #[K]
P = 50.; #[bar]
Pc = 37.96; #[bar]
omega = 0.08664;
si = 0.4636;
Tr = T/Tc;
Pr = P/Pc;
alpha_Tr = Tr**(-0.5); #a(Tr)
#Using Eqn(3.50)
Beta = omega*(Pr/Tr);
#Using Eqn(3.51)
q = si*alpha_Tr/(omega*(Tr**1.5));
#using eqn(3.49)
#Z = 1+beta-q*beta*((Z-beta)/((Z+(epsilon*beta))*(Z+(sigma*beta)))
#calculation of Z
Z = 1; #Initial
a = Z;
for i in range(11):
b = 1+Beta-(q*Beta*((a-Beta)/(a*(a+Beta))));
if((b-a) == 0.0001):
break;
a = b;
i = i+1;
Z = round(b,3)
#Umath.sing Eqn(6.64) and eqn(6.65)
#(Hr/RT) = Z-1+[(d ln(alpha_Tr)/d ln Tr)-1]qI I = ln((Z+beta)/Z) d ln(alpha_Tr)/d ln Tr = -0.5
#Sr/R) = ln(Z-beta)+[d ln(alpha_Tr)/d ln Tr]qI I = ln((Z+beta)/Z) d ln(alpha_Tr)/d ln Tr = -0.5
I = math.log((Z+Beta)/Z);
Hr = round(R*T*(Z-1+((-0.5-1)*q*I)),0);
Sr = round(R*(math.log(Z-Beta)+(-0.5*q*I)),3);
print ('Using Redlich/Kwong Equation')
print 'Residual Enthalpy',Hr,'J/mol'
print 'Residual Entropy',Sr,'J/mol/K'
# Variables
P1 = 1000.; #[KPa]
T = 533.15; #[K]
P2 = 200.; #[KPa]
H1 = 2965.2; #[KJ/kg] from Steam tables
S1 = 6.9680; #[KJ/Kg/K] From steam tables
S2 = S1;
S_l = 1.5301; #[KJ/Kg/K] Entropy Of Saturated Liquid @ 200KPa
S_v = 7.1268; #[KJ/Kg/K] Entropy Of Saturated vapor @ 200KPa
H_l = 504.7; #[KJ/Kg] Enthalpy Of saturated liquid @ 200KPa
H_v = 2706.7; #[KJ/Kg] Enthalpy Of saturated vapor @ 200KPa
# Calculations
#find x_v from the eqn S = (1-x_v)S_l+x_c*S_v
x_v = round((S1-S_l)/(S_v-S_l),4);
#From Eqn(6.73a)
H2 = ((1-x_v)*H_l)+(x_v*H_v);
del_H = round(H2-H1,0); #[KJ/Kg]
# Results
print 'Percent vapor',x_v*100,'%'
print 'Percent Liquid',(1-x_v)*100,'%'
print 'Change In Enthalpy',del_H,'KJ/Kg'
import math
from numpy import array,linalg
# Variables(from steam tables)
H = 293.; #[KJ/Kg] at 343.15K
H_liquid = 419.1; #[KJ/Kg] at 373.15K
H_vapor = 2676; #[KJ/Kg] at 373.15K
V_vapor = 1.5; #[m**3]
m1_liquid = 500.; #[Kg]
rho_liquid = 0.001044; #[m**3/Kg]
rho_vapor = 1.673; #[m**3/Kg]
del_m = 750.; #[Kg]
# Calculations
#using the eqn Q = (m2H2)math.tank-(m1H1)math.tank-(H*del_m)math.tank
m1_vapor = (V_vapor-(m1_liquid*rho_liquid))/rho_vapor;
#Term2 = ((m1H1)math.tank
Term2 = (m1_liquid*H_liquid)+(m1_vapor*H_vapor);
mT = m1_liquid+del_m+m1_vapor;
#Solving Eqn By matrix Method
#m_vapor+m_liquid = mT and (rho_vapor*m_vapor)+(rho_liquid*rho_vapor) = V_vapor
A = array([[1,1],[rho_vapor,rho_liquid]]);
B = array([mT,V_vapor]);
X = linalg.solve(A,B);
m2_vapor = X[0]
m2_liquid = X[1]
Term1 = (m2_liquid*H_liquid)+(m2_vapor*H_vapor);
Q = round(Term1-Term2-del_m*H,0);
print 'Heat Required',Q,'KJ'
print ('Note: The Answer Varies With That of The Book because the calculations as \
in Book do not give the Answer the Book results')
import math
from numpy import array,linalg
def SRB(Tr,Pr,omega):
B0 = 0.083-(0.422/(Tr**1.6));
diffr_B0 = 0.675/(Tr**2.6); #dB0/dTr
B1 = 0.139-(0.172/(Tr**4.2));
diffr_B1 = 0.722/(Tr**5.2); #dB0/dTr
Q = -Pr*(diffr_B0+(omega*diffr_B1));
return Q
def HRB(Tr,Pr,omega):
B0 = 0.083-(0.422/(Tr**1.6));
diffr_B0 = 0.675/(Tr**2.6); #dB0/dTr
B1 = 0.139-(0.172/(Tr**4.2));
diffr_B1 = 0.722/(Tr**5.2); #dB0/dTr
H = Pr*(B0-(Tr*diffr_B0)+(omega*(B1-(Tr*diffr_B1))));
return H
def ICPS(T0,T,A,B,C,D):
t = T/T0;
return ((A)*math.log(t))+(((B*T0)+(((C*T0*T0)+(D/(t*t*T0*T0)))*(t+1)/2))*(t-1))
def ICPH(T0,T,A,B,C,D):
t = T/T0;
return (A+((B/2)*T0*(t+1))+((C/3)*T0*T0*((t**2)+t+1))+(D/(t*T0*T0)))*(T-T0)
# Variables(from steam tables)
Tc = 420.; #[K]
Pc = 40.43; #[bar]
omega = 0.191;
Tn = 266.9; #[K]
A0 = 1.967;
B0 = 31.630*10**-3;
C0 = -9.837*10**-6;
D0 = 0;
T1 = 473.15; #[K]
P = 70.; #[bar]
R = 8.314;
#From Table(E.3) And Table(E.4)
Z0 = 0.485;
Z1 = 0.142;
Tr = T1/Tc;
Pr = P/Pc;
Z = Z0+(omega*Z1);
V = round((Z*R*T1*10**-2)/P,4); #[m**3/Kmol]
#step(a) vaporization at T1 and P1 = P_saturated
#umath.sing eqn(6.70) lnP_sat = A-(B/T)
#Solving eqn ln(1.0133) = A-(B/266.9) and ln(40.43) = A-(B/420)
a = array([[1,(-1/266.9)],[1,(-1./420)]])
b = array([math.log(1.0133),math.log(40.43)]);
x = linalg.solve(a,b)
A = x[0]
B = x[1]
#umath.sing eqn(4.12) del_Hn/RTn = 1.092*(ln Pc-1.013)/(0.930-Tr_n)
Tr_n = Tn/Tc;
del_Hn = R*Tn*(1.092*(math.log(Pc)-1.013)/(0.93-Tr_n)); #[J/mol]
T2 = 273.15; #[K]
Tr = T2/Tc;
#Umath.sing Eqn(4.13) del_H/del_Hn = ((1-Tr)/(1-Tr_n))**0.38
del_H_a = del_Hn*((1-Tr)/(1-Tr_n))**0.38;
del_S_a = round(del_H_a/T2,2);
#Step(b)transition to ideal gas State at(T1,P1)
P_sat = math.exp(A-(B/273.15));
Pr = P_sat/Pc;
Tr = T2/Tc;
Hr_b = round(R*Tc*HRB(Tr,Pr,omega),0) #[J/mol]
Sr_b = round(R*SRB(Tr,Pr,omega),2) #[J/mol/K]
#Step(c) Change to (T2,P2) in ideal-gas state
H_c = round(R*ICPH(T2,T1,A0,B0,C0,D0),0); #[J/mol]
S = R*ICPS(T2,T1,A0,B0,C0,D0); #[J/mol/K]
del_S_c = round(S-(R*math.log(P/P_sat)),2); #[J/mol/K]
#Step(d) Transition to actual final state at(T2,P2)
#Umath.sing eqn(6.76) and eqn(6.77)
#Hr/RTc = Hr0/RTc+(omega*Hr1/RTc)
#Sr/R = Sr0/R+(omega*Sr1/R) Sr0,Sr1 from Tables(E.5)
Tr = T1/Tc;
Pr = P/Pc;
Hr_d = R*Tc*(-2.294+(omega*-0.713));
Sr_d = R*(-1.566+(omega*-0.726));
H = round(del_H_a-Hr_b+H_c+Hr_d,0);
S = round(del_S_a-Sr_b+del_S_c+Sr_d,2);
U = round(H-(P*V*10**2),0);
print 'Volume(V) = ',V,'m**3/Kmol'
print 'Internal energy(U) = ',U,'J/mol'
print 'Enthalpy(H) = ',H,'J/mol'
print 'Entropy(S) = ',S,'J/mol/K'
print ('Note: The Answer here Slightly Varies with That of Book because of the different approximation')
# Variables
T = 450.; #[K]
P = 140; #[bar]
#pseudo parameters
Tc1 = 304.2; #[K]
Tc2 = 369.8; #[K]
Pc1 = 73.83; #[bar]
Pc2 = 42.48; #[bar]
Tpc = (0.5*Tc1)+(0.5*Tc2);
Ppc = (0.5*Pc1)+(0.5*Pc2);
# Calculations
Tpr = T/Tpc;
Ppr = P/Ppc;
Z0 = 0.697;
Z1 = 0.205;
omega1 = 0.224;
omega2 = 0.152;
omega = (0.5*omega1)+(0.5*omega2);
Z = Z0+(omega*Z1);
V = round(Z*R*T*10/P,1); #[cm**3/mol]
#(H/RT)0 = -1.73 (H/RT)1 = -0.169
H = round(R*Tpc*(-1.73+(omega*-0.169)),0); #[J/mol]
S = round(R*(-0.967+(omega*-0.330)),2); #[J/mol/K]
# Results
print 'Volume(V) = ',V,'cm**3/mol'
print 'Residual Enthaply(H) = ',H,'J/mol'
print 'Residual Entropy(S) = ',S,'J/mol/K'