diff options
author | kinitrupti | 2017-05-12 18:53:46 +0530 |
---|---|---|
committer | kinitrupti | 2017-05-12 18:53:46 +0530 |
commit | 6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d (patch) | |
tree | 22789c9dbe468dae6697dcd12d8e97de4bcf94a2 /Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb | |
parent | d36fc3b8f88cc3108ffff6151e376b619b9abb01 (diff) | |
download | Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.gz Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.tar.bz2 Python-Textbook-Companions-6279fa19ac6e2a4087df2e6fe985430ecc2c2d5d.zip |
Removed duplicates
Diffstat (limited to 'Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb')
-rwxr-xr-x | Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb b/Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb new file mode 100755 index 00000000..d75a5a28 --- /dev/null +++ b/Chemical_Engineering_Thermodynamics_by_S._Sundaram/ch7_1.ipynb @@ -0,0 +1,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": {} + } + ] +}
\ No newline at end of file |