summaryrefslogtreecommitdiff
path: root/Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb')
-rw-r--r--Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb543
1 files changed, 543 insertions, 0 deletions
diff --git a/Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb b/Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb
new file mode 100644
index 00000000..ef7c1588
--- /dev/null
+++ b/Introduction_To_Chemical_Engineering_Thermodynamics_by_G._Halder/Ch3.ipynb
@@ -0,0 +1,543 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 - Properties of pure substances"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.1 Page: 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.1 - Page: 88\n",
+ "\n",
+ "\n",
+ "Molar Volume of the gas is 1.29e-02 cubic metres\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "print \"Example: 3.1 - Page: 88\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "P = 2*10**5## [Pa]\n",
+ "T = 273 + 37## [K]\n",
+ "R = 8.314## [J/mol K]\n",
+ "#****************\n",
+ "# Since the gas behaves ideally:\n",
+ "V = R*T/P## [cubic metres]\n",
+ "print \"Molar Volume of the gas is %.2e cubic metres\"%(V)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.2 Page: 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.2 - Page: 89\n",
+ "\n",
+ "\n",
+ "The pressure of air after compression is 1200 kPa\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print \"Example: 3.2 - Page: 89\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "V1 = 8## [cubic m]\n",
+ "P1 = 300## [kPa]\n",
+ "V2 = 2## [cubic m]\n",
+ "#**************\n",
+ "# Apptying the ideal gas Eqn. & since the Temperature remains constant:\n",
+ "P2 = P1*V1/V2## [kPa]\n",
+ "print \"The pressure of air after compression is %d kPa\\n\"%(P2)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.3 Page: 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.3 - Page: 89\n",
+ "\n",
+ "\n",
+ "The pressure of the remaining air is 400 kPa\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print \"Example: 3.3 - Page: 89\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "V1 = 6## [cubic m]\n",
+ "P1 = 500## [kPa]\n",
+ "R = 0.287## [kJ/kg K]\n",
+ "#*************\n",
+ "# Applying the charectarstic equation to the gas initially:\n",
+ "# P1*V1 = m1*R*T1.......................................(i)\n",
+ "# Applying the charectarstic equation to the gas which was left in the vessel after one-fifth of the gas has been removed:\n",
+ "# P2*V2 = m2*R*T2.......................................(ii)\n",
+ "# V2 = V1# T2 = T1# m2 = (4/5)*m1# Eqn (ii) becomes:\n",
+ "# P2*V1 = (4/5)*m1*R*T1..................................(iii)\n",
+ "# Dividing eqn (i) by eqn (iii), we get:\n",
+ "P2 = (4/5)*P1## [kPa]\n",
+ "print \"The pressure of the remaining air is %d kPa\\n\"%(P2)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.4 Page: 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.4 - Page: 90\n",
+ "\n",
+ "\n",
+ "Final Temperature of the air when the piston reaches stop is 361.5 K\n",
+ "\n",
+ "Pressure of air inside the cylinder is 2.51 bar\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print \"Example: 3.4 - Page: 90\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "T1 = 450 + 273## [K]\n",
+ "P1 = 3## [bar]\n",
+ "#***************\n",
+ "# Soluton(a)\n",
+ "# From Fig. 3.7, (Page 90)\n",
+ "# Since the weight remains the same, therefore, the final pressure is equal to the initial pressure.\n",
+ "# Therefore it is a constant pressure process.\n",
+ "P2 = P1## [bar]\n",
+ "# Volumetric Ratio:\n",
+ "V2_by_V1 = 2.5/(2.5 + 2.5)# Applying ideal gas law & P1 = P2\n",
+ "T2 = T1*V2_by_V1## [K]\n",
+ "print \"Final Temperature of the air when the piston reaches stop is %.1f K\\n\"%(T2)\n",
+ "# Solution (b)\n",
+ "# When the piston rests ot the stops, the pressure exerted by the weight, air & the atmosphere will be different. But there will beno further decrease in volume.\n",
+ "# This is a constant volume process.\n",
+ "T3 = 273 + 30## [K]\n",
+ "# Applying ideal gas law & V2 = V3\n",
+ "P3 = T3*P2/T2## [bar]\n",
+ "print \"Pressure of air inside the cylinder is %.2f bar\\n\"%(P3)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.5 Page: 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.5 - Page: 95\n",
+ "\n",
+ "\n",
+ "The temperature at which ammonia exists in the cylinder is 321.5 K\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print \"Example: 3.5 - Page: 95\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "m = 1.373## [kg]\n",
+ "P = 1.95*10**(6)## [Pa]\n",
+ "V = 0.1## [cubic m]\n",
+ "a = 422.546*10**(-3)## [cubic m/square mol]\n",
+ "b = 37*10**(-6)## [cubic m/mol]\n",
+ "M = 17*10**(-3)## [kg/mol]\n",
+ "R = 8.314## [J/mol K]\n",
+ "#****************\n",
+ "n = m/M## [moles]\n",
+ "Vm = V/n## [molar volume, cubic m]\n",
+ "# Applying Van der Waals equation of state:\n",
+ "T = (P + (a/Vm**2))*((Vm - b)/R)## [K]\n",
+ "print \"The temperature at which ammonia exists in the cylinder is %.1f K\\n\"%(T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.6 Page: 96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.6 - Page: 96\n",
+ "\n",
+ "\n",
+ "Ideal Equation of State\n",
+ "\n",
+ "Molar Volume of the gas is 4.284e-03 cubic m/mol\n",
+ "\n",
+ "\n",
+ "\n",
+ "Van der Wall Equation of State\n",
+ "\n",
+ "Molar Volume of the gas is 4.292e-03 cubic m/mol\n",
+ "\n",
+ "\n",
+ "\n",
+ "Virial Equation of State\n",
+ "\n",
+ "Molar Volume of the gas is 7.000e+00 cubic m/mol\n",
+ "\n",
+ "\n",
+ "\n",
+ "Redlich Kwong Equation of State\n",
+ "\n",
+ "Molar Volume of the gas is 7.000e+00 cubic m/mol\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from scipy.optimize import fsolve\n",
+ "print \"Example: 3.6 - Page: 96\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "P = 15*10**5## [Pa]\n",
+ "T = 773## [K]\n",
+ "R = 8.314## [J/mol K]\n",
+ "#**************\n",
+ "# Solution (a)\n",
+ "print \"Ideal Equation of State\\n\"\n",
+ "# Applying ideal Eqn. of State:\n",
+ "Vm = R*T/P## [cubic m/mol]\n",
+ "print \"Molar Volume of the gas is %.3e cubic m/mol\\n\"%(Vm)\n",
+ "print \"\\n\"\n",
+ "\n",
+ "# Solution (b)\n",
+ "print \"Van der Wall Equation of State\\n\"\n",
+ "a = 0.2303## [Nm**4/square mol]\n",
+ "b = 4.3073*10**(-5)## [cubic m/mol]\n",
+ "#deff('[y] = f1(Vm)','y = P - (R*T/(Vm-b)) + (a/Vm**2)')\n",
+ "def f1(Vm):\n",
+ " y = P - (R*T/(Vm-b)) + (a/Vm**2)\n",
+ " return y\n",
+ "Vm = fsolve(f1,Vm)## [cubic m/mol]\n",
+ "print \"Molar Volume of the gas is %.3e cubic m/mol\\n\"%(Vm)\n",
+ "print \"\\n\"\n",
+ "\n",
+ "#Solution (c)\n",
+ "print \"Virial Equation of State\\n\"\n",
+ "# Z = 1 + B/V\n",
+ "# (P*V/(R*T)) = (1 + B/V)\n",
+ "# V**2 - V*R*T/P - B*R*T/P = 0\n",
+ "B = 1.3697*10**(-5)## [cubic m/mol]\n",
+ "#deff('[y] f2(Vm)','y = Vm**2 - (Vm*R*T/P) - (B*R*T/P)')\n",
+ "def f2(vm):\n",
+ " y = Vm**2 - (Vm*R*T/P) - (B*R*T/P)\n",
+ " return y\n",
+ "Vm = fsolve(f2,7)## [cubic m/mol]\n",
+ "print \"Molar Volume of the gas is %.3e cubic m/mol\\n\"%(Vm)\n",
+ "print \"\\n\"\n",
+ "\n",
+ "# Solution (d)\n",
+ "print \"Redlich Kwong Equation of State\\n\"\n",
+ "Tc = 190.6## [K]\n",
+ "Pc = 45.99*10**5## [Pa]\n",
+ "a = 0.4278*R**2*Tc**2.5/Pc## [N/m**4 square mol]\n",
+ "b = 0.0867*R*Tc/Pc## [cubic m/mol]\n",
+ "#deff('[y] = f3(Vm)','y = P - (R*T/(Vm - b)) + (a/((T**0.5)*Vm*(Vm+b)))')\n",
+ "def f3(vm):\n",
+ " y = P - (R*T/(Vm - b)) + (a/((T**0.5)*Vm*(Vm+b)))\n",
+ " return y\n",
+ "\n",
+ "Vm = fsolve(f3,Vm)## [cubic m/mol]\n",
+ "print \"Molar Volume of the gas is %.3e cubic m/mol\\n\"%(Vm)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.8 Page: 101"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.8 - Page: 101\n",
+ "\n",
+ "\n",
+ "Ideal Equation of State\n",
+ "\n",
+ "Molar Volume of gas is 5.196e-04 cubic m/mol\n",
+ "\n",
+ "\n",
+ "\n",
+ "Virial Equation of State\n",
+ "\n",
+ "Molar Volume of gas is 5.20e-04 cubic m/mol\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "print \"Example: 3.8 - Page: 101\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "T = 500## [K]\n",
+ "P = 8*10**6## [Pa]\n",
+ "R = 8.314## [J/mol K]\n",
+ "#*************\n",
+ "# Solution (a)\n",
+ "# By ideal gas equation of state:\n",
+ "print \"Ideal Equation of State\\n\"\n",
+ "Vm = R*T/P## [cubic m/mol]\n",
+ "print \"Molar Volume of gas is %.3e cubic m/mol\\n\"%(Vm)\n",
+ "print \"\\n\"\n",
+ "\n",
+ "# Solution (b)\n",
+ "# By Virial Equation of State:\n",
+ "print \"Virial Equation of State\\n\"\n",
+ "B = -0.265*10**(-3)## [cubic m/mol]\n",
+ "C = 0.3025*10**(-7)## [m**6/square mol]\n",
+ "#deff('[y] = f(Vm)','y = (P*Vm/(R*T)) - 1 -(B/Vm) - (C/Vm**2)')\n",
+ "def f(vm):\n",
+ " y = (P*Vm/(R*T)) - 1 -(B/Vm) - (C/Vm**2)\n",
+ " return y\n",
+ "Vm = fsolve(f,Vm)\n",
+ "print \"Molar Volume of gas is %.2e cubic m/mol\\n\"%(Vm)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.10 Page: 103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.10 - Page: 103\n",
+ "\n",
+ "\n",
+ "Value of derivative is 23.98 bar/OC\n",
+ "\n",
+ "The pressure generated by heating at constant Volume is 240.84 Pa\n",
+ "\n",
+ "The change in Volume is -0.038 cubic cm/g\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import exp\n",
+ "print \"Example: 3.10 - Page: 103\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "beeta = 1.487*10**(-3)## [1/OC]\n",
+ "alpha = 62*10**(-6)## [1/bar]\n",
+ "V1 = 1.287## [cubic cm /g]\n",
+ "#************\n",
+ "# Solution (a)\n",
+ "# The value of derivative (dP/dT) at constant V:\n",
+ "# dV/V = beeta*dT - alpha*dP\n",
+ "# dV = 0\n",
+ "# dP/dT = beeta/alpha\n",
+ "# Value = dP/dT\n",
+ "Value = beeta/alpha## [bar/OC]\n",
+ "print \"Value of derivative is %.2f bar/OC\\n\"%(Value)\n",
+ "# Solution (b)\n",
+ "P1 = 1## [bar]\n",
+ "T1 = 20## [OC]\n",
+ "T2 = 30## [OC]\n",
+ "# Applying the same equation:\n",
+ "P2 = P1 +(beeta/alpha)*(T2 - T1)## [bar]\n",
+ "print \"The pressure generated by heating at constant Volume is %.2f Pa\\n\"%(P2)\n",
+ "# Solution (c)\n",
+ "T2 = 0## [OC]\n",
+ "T1 = 20## [OC]\n",
+ "P2 = 10## [bar]\n",
+ "P1 = 1## [bar]\n",
+ "# The change in Volume can be obtained as:\n",
+ "V2 = V1*exp((beeta*(T2 - T1)) - alpha*(P2 - P1))## [cubic cm/g]\n",
+ "deltaV = V2 - V1## [cubic cm/g]\n",
+ "print \"The change in Volume is %.3f cubic cm/g\\n\"%(deltaV)#"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example: 3.11 Page: 107"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Example: 3.11 - Page: 107\n",
+ "\n",
+ "\n",
+ "Acentric factor is 0.6447\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log10\n",
+ "print \"Example: 3.11 - Page: 107\\n\\n\"\n",
+ "\n",
+ "# Solution\n",
+ "\n",
+ "#*****Data*****\n",
+ "Tc = 513.9## [K]\n",
+ "Pc = 61.48*10**5## [Pa]\n",
+ "#************\n",
+ "Tr = 0.7\n",
+ "T = Tr*Tc - 273.15## [OC]\n",
+ "P_sat = 10**(8.112 - (1592.864/(T + 226.184)))## [mm Hg]\n",
+ "P_sat = P_sat*101325/760## [Pa]\n",
+ "Pr_sat = P_sat/Pc## [Pa]\n",
+ "omega = -1 - log10(Pr_sat)## [Acentric factor]\n",
+ "print \"Acentric factor is %.4f\"%(omega)#"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}