summaryrefslogtreecommitdiff
path: root/Chemical_Engineering_Thermodynamics___by_S._Sundaram/ch7_1.ipynb
blob: d75a5a289d5e2973676e32b7660962864dd081ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
{
 "metadata": {
  "name": "",
  "signature": "sha256:53f38691736e17bfc88c47ccfeb3fb1c72de31c9b0bf6a81cf8dd2ed8dca8405"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 7 : Ideal Gases"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.3  Page No : 125"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "from scipy.integrate import quad\n",
      "\n",
      "#Given\n",
      "P1 = 15.0;#initial pressure in Kgf/cm**2\n",
      "P2 = 1.0;#final pressure in Kgf/cm**2\n",
      "V1 = 0.012;#initial volume in m**3\n",
      "V2 = 0.06;#final volume in m**3\n",
      "T1 = 420.0;#initial temperature in K\n",
      "M = 28.0;#molecular weight of the gas\n",
      "Cp = 0.25;#specific heat at consmath.tant pressure in Kcal/Kg K\n",
      "R = 1.98;#gas consmath.tant in Kcal/Kg mole K\n",
      "R2 = 848.0;#gas consmath.tant in mKgf/Kgmole K\n",
      "#Cv = a+0.0005*T1; Specific heat at consmath.tant volume\n",
      "\n",
      "#To Calculate the final temperature of the ideal gas, work done in an open and closed system,internal energy change for the process\n",
      "#(a)Calculation of final temperature\n",
      "#Umath.sing ideal gas law:(P*V)/(R*T)\n",
      "T2 = (P2*V2*T1)/(P1*V1);\n",
      "print \"a)The final temperature is %d K\"%(T2);\n",
      "\n",
      "#(b)Calculation of work in an open and closed system\n",
      "#From equation 7.22(page no 147): P1*(V1**n)=P2*(V2**n)\n",
      "n = (math.log(P2/P1))/(math.log(V1/V2));\n",
      "#From equation 7.25(page no 149)\n",
      "W = ((P1*V1)-(P2*V2))/(n-1)*10**4;#work in mKgf\n",
      "W1 = W/427;#Work in Kcal\n",
      "print \" b)The work in a closed system is %f Kcal\"%(W1);\n",
      "Ws = n*W1;#from equation 7.28(page no 149)\n",
      "print \"    The work in an open system is %f Kcal\"%(Ws);\n",
      "\n",
      "#(c)Calculation of internal energy change\n",
      "R1 = R/M;#gas consmath.tant in Kcal/Kg\n",
      "Cv = Cp-R1;#specific heat at consmath.tant volume in Kcal/Kg K\n",
      "a = Cv-(0.0005*T1);\n",
      "m = (P1*10**4*V1*M)/(R2*T1);#mass of gas in Kg\n",
      "def y(T):\n",
      "    val = m*(a+(0.0005*T));\n",
      "    return val\n",
      "del_E = quad(y,T1,T2)[0];#internal energy change in Kcal/Kg\n",
      "del_E1 = M*del_E;#internal energy change in Kcal/Kgmole\n",
      "print \" c)The internal energy change for the process is %f Kcal/Kgmole\"%(del_E1);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "a)The final temperature is 140 K\n",
        " b)The work in a closed system is 4.117022 Kcal\n",
        "    The work in an open system is 6.927326 Kcal\n",
        " c)The internal energy change for the process is -121.245283 Kcal/Kgmole\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.5  Page No : 126"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "import numpy\n",
      "\n",
      "#Given\n",
      "P1 = 1.0;#Initial pressure of air in atm\n",
      "T1 = 15+273.0;#Initial temperature in K\n",
      "P2 = 5.0;#Final pressure of air in atm\n",
      "T2 = 15+273.0;#Final temperature in K\n",
      "Cv = 5.0;#specific heat of air at consmath.tant volume in Kcal/Kgmole K\n",
      "Cp = 7.0;#specific heat of air at consmath.tant pressure in Kcal/Kgmole K\n",
      "R = 0.082;#gas consmath.tant in atm-m**3/Kgmole K\n",
      "R1 = 2.0;#gas consmath.tant in Kcal/Kgmole K\n",
      "#From the P-V diagram given in page no 155:\n",
      "#Line 12 represents Isothermal process\n",
      "#Line b2,c2 & 1a represent Isometric process\n",
      "#Line a2 & 1c represent Isobaric process\n",
      "#Line 1b reprsent Adiabatic process\n",
      "\n",
      "#To find Approx Value\n",
      "def approx(V,n):\n",
      "    A=numpy.around([V*10**n])[0]/10**n;\n",
      "    return A\n",
      "\n",
      "#To Compute del_H, del_E, Q, W, del_S for the processes given above.\n",
      "#To indicate the quantities that are state functions \n",
      "#To verify that the work required in an isothermal process is less than that in an adiabatic process\n",
      "\n",
      "#Basis:1 Kgmole of air\n",
      "V1 = (R*T1)/P1;#Initial volume in cubic meter\n",
      "V2 = (R*T2)/P2;#Final volume in cubic meter\n",
      "\n",
      "#(i)Isothermal path 12\n",
      "#Equations 7.7 to 7.9 will be used (page no 145)\n",
      "del_E_12 = Cv*(T2-T1);\n",
      "del_H_12 = Cp*(T2-T1);\n",
      "W_12 = R1*T1*math.log(P1/P2);\n",
      "Q_12 = W_12;\n",
      "del_S_12 = approx((R1*math.log(P1/P2)),4);\n",
      "print \"i)For isothermal process or path 12 change in internal energy is %f\"%(del_E_12);\n",
      "print \"   For isothermal process or path 12 change in enthalpy is %f\"%(del_H_12);\n",
      "print \"   For isothermal process or path 12 heat released is %f Kcal\"%(Q_12);\n",
      "print \"   For isothermal process or path 12 work is %f Kcal\"%(W_12);\n",
      "print \"   For isothermal process or path 12 change in entropy is %f Kcal/Kgmole K\"%(del_S_12);\n",
      "\n",
      "#(ii)Path 1a2 = 1a(isometric)+a2(isobaric)\n",
      "#Equation 7.1 to 7.6 will be used (page no 144 & 145)\n",
      "Pa = P2;\n",
      "Ta = (Pa/P1)*T1;#in K\n",
      "Q_1a = Cv*(Ta-T1);\n",
      "del_E_1a = Q_1a;\n",
      "del_H_1a = Cp*(Ta-T1);\n",
      "W_1a = 0;# Consmath.tant volume process\n",
      "del_E_a2 = Cv*(T2-Ta);\n",
      "del_H_a2 = Cp*(T2-Ta);\n",
      "Q_a2 = del_H_a2;\n",
      "W_a2 = P2*(V2-V1)*((10**4*1.03)/427);\n",
      "del_H_1a2 = del_H_1a+del_H_a2;\n",
      "del_E_1a2 = del_E_1a+del_E_a2;\n",
      "Q_1a2 = Q_1a+Q_a2;\n",
      "W_1a2 = W_1a+W_a2;\n",
      "del_S_1a = Cv*math.log(Ta/T1);\n",
      "del_S_a2 = Cp*math.log(T2/Ta);\n",
      "del_S_1a2 = approx((del_S_1a+del_S_a2),4);\n",
      "print \"ii)For path 1a2 change in internal energy is %f\"%(del_E_1a2);\n",
      "print \"   For path 1a2 change in enthalpy is %f\"%(del_H_1a2);\n",
      "print \"   For path 1a2 heat released is %f Kcal\"%(Q_1a2);\n",
      "print \"   For path 1a2 work is %f Kcal\"%(W_1a2);\n",
      "print \"   For path 1a2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1a2);\n",
      "\n",
      "#(iii)Path 1b2 = 1b(adiabatic)+b2(isometric)\n",
      "#From equation 7.11 (page no 146)\n",
      "y = Cp/Cv;\n",
      "Tb = T1*((V1/V2))**(y-1);\n",
      "#From equation 7.1 to 7.3,7.10 & 7.21,(page no 144,146,147)\n",
      "Q_1b = 0;#adiabatic process\n",
      "del_E_1b = Cv*(Tb-T1);\n",
      "del_H_1b = Cp*(Tb-T1);\n",
      "W_1b = -1*del_E_1b;\n",
      "Q_b2 = Cv*(T1-Tb);\n",
      "del_H_b2 = Cp*(T1-Tb);\n",
      "W_b2 = 0;#consmath.tant volume prcess\n",
      "del_E_b2 = Cv*(T2-Tb);\n",
      "del_H_1b2 = del_H_1b+del_H_b2;\n",
      "del_E_1b2 = del_E_1b+del_E_b2;\n",
      "W_1b2 = W_1b+W_b2;\n",
      "Q_1b2 = Q_1b+Q_b2;\n",
      "del_S_1b2 = approx((Cv*math.log(T1/Tb)),4);\n",
      "print \"iii)For path 1b2 change in internal energy is %f\"%(del_E_1b2);\n",
      "print \"   For path 1b2 change in enthalpy is %f\"%(del_H_1b2);\n",
      "print \"   For path 1b2 heat released is %f Kcal\"%(Q_1b2);\n",
      "print \"   For path 1b2 work is %f Kcal\"%(W_1b2);\n",
      "print \"   For path 1b2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1b2);\n",
      "\n",
      "#(iv)Path 1c2 = 1c(isobaric)+c2(isometric);\n",
      "Pc = P1;\n",
      "Vc = V2;\n",
      "Tc = (Pc/P2)*T2;\n",
      "del_E_1c = Cv*(Tc-T1);\n",
      "Q_1c = Cp*(Tc-T1);\n",
      "del_H_1c = Q_1c;\n",
      "W_1c = P1*(Vc-V1)*((10**4*1.03)/427);\n",
      "del_E_c2 = Cv*(T2-Tc);\n",
      "Q_c2 = del_E_c2;\n",
      "del_H_c2 = Cp*(T2-Tc);\n",
      "W_c2 = 0.0;#consmath.tant volume process\n",
      "del_E_1c2 = del_E_1c+del_E_c2;\n",
      "del_H_1c2 = del_H_1c+del_H_c2;\n",
      "Q_1c2 = Q_1c+Q_c2;\n",
      "W_1c2 = W_1c+W_c2;\n",
      "del_S_1c = Cp*math.log(Tc/T1);\n",
      "del_S_c2 = Cv*math.log(T2/Tc);\n",
      "del_S_1c2 = approx((del_S_1c+del_S_c2),4);\n",
      "print \"iv)For path 1c2 change in internal energy is %f\"%(del_E_1c2);\n",
      "print \"   For path 1c2 change in enthalpy is %f\"%(del_H_1c2);\n",
      "print \"   For path 1c2 heat released is %f Kcal\"%(Q_1c2);\n",
      "print \"   For path 1c2 work is %f Kcal\"%(W_1c2);\n",
      "print \"   For path 1c2 change in entropy is %f Kcal/Kgmole K\"%(del_S_1c2);\n",
      "\n",
      "#Determination of state & path functions\n",
      "if((del_E_12 == del_E_1a2)&(del_E_12 == del_E_1b2)&(del_E_12 == del_E_1c2)):\n",
      "    print \" del_E is a state function\";\n",
      "else:\n",
      "    print \" del_E is a path function\";\n",
      "if((del_H_12 == del_H_1a2)&(del_H_12 == del_H_1b2)&(del_H_12 == del_H_1c2)):\n",
      "    print \" del_H is a state function\";\n",
      "else:\n",
      "    print \" del_H is a path function\";\n",
      "if(del_S_12 == del_S_1a2)&(del_S_12 == del_S_1b2)&(del_S_12 == del_S_1c2):\n",
      "    print \" del_S is a state function\";\n",
      "else:\n",
      "    print \" del_S is a path function\";\n",
      "if((Q_12 == Q_1a2)&(Q_12 == Q_1b2)&(Q_12 == Q_1c2)):\n",
      "    print \" Q is a state function\";\n",
      "else:\n",
      "    print \" Q is a path function\";\n",
      "if((W_12 == W_1a2)&(W_12 == W_1b2)&(W_12 == W_1c2)):\n",
      "    print \" W is a state function\";\n",
      "else:\n",
      "    print \" W is a path function\";\n",
      "\n",
      "#Comparison of work required by isothermal & adiabatic process\n",
      "if(-(W_12)<-(W_1b2)):\n",
      "    print \"  Work required by isothermal process is less than the work required by an adiabatic process\";\n",
      "else:\n",
      "    print \" Statement is incorrect\";\n",
      "#end\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "i)For isothermal process or path 12 change in internal energy is 0.000000\n",
        "   For isothermal process or path 12 change in enthalpy is 0.000000\n",
        "   For isothermal process or path 12 heat released is -927.036238 Kcal\n",
        "   For isothermal process or path 12 work is -927.036238 Kcal\n",
        "   For isothermal process or path 12 change in entropy is -3.218900 Kcal/Kgmole K\n",
        "ii)For path 1a2 change in internal energy is 0.000000\n",
        "   For path 1a2 change in enthalpy is 0.000000\n",
        "   For path 1a2 heat released is -2304.000000 Kcal\n",
        "   For path 1a2 work is -2278.639813 Kcal\n",
        "   For path 1a2 change in entropy is -3.218900 Kcal/Kgmole K\n",
        "iii)For path 1b2 change in internal energy is 0.000000\n",
        "   For path 1b2 change in enthalpy is 0.000000\n",
        "   For path 1b2 heat released is -1301.261672 Kcal\n",
        "   For path 1b2 work is -1301.261672 Kcal\n",
        "   For path 1b2 change in entropy is -3.218900 Kcal/Kgmole K\n",
        "iv)For path 1c2 change in internal energy is 0.000000\n",
        "   For path 1c2 change in enthalpy is 0.000000\n",
        "   For path 1c2 heat released is -460.800000 Kcal\n",
        "   For path 1c2 work is -455.727963 Kcal\n",
        "   For path 1c2 change in entropy is -3.218900 Kcal/Kgmole K\n",
        " del_E is a state function\n",
        " del_H is a state function\n",
        " del_S is a state function\n",
        " Q is a path function\n",
        " W is a path function\n",
        "  Work required by isothermal process is less than the work required by an adiabatic process\n"
       ]
      }
     ],
     "prompt_number": 3
    }
   ],
   "metadata": {}
  }
 ]
}