{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 3: Statistical Mechanics" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.1, Page 132" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from math import *\n", "\n", "#Variable Declaration\n", "m = 5.32e-26; # Mass of one oxygen molecule, kg\n", "k_B = 1.38e-23; # Boltzmann constant, J/K\n", "T = 200; # Temperature of the system, K\n", "v = 100; # Speed of the oxygen molecules, m/s\n", "dv = 1; # Increase in speed of the oxygen molecules, m/s\n", "\n", "#Calculations\n", "P = 4*pi*(m/(2*pi*k_B*T))**(3./2)*exp((-m*v**2)/(2*k_B*T))*v**2*dv;\n", "\n", "#Result\n", "print \"The probability that the speed of oxygen molecule is %4.2e\"%P\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The probability that the speed of oxygen molecule is 6.13e-04\n" ] } ], "prompt_number": 19 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.2, Page 132" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "A = 32; # Gram atomic mass of oxygen, g/mol\n", "N_A = 6.023e+026; # Avogadro's number, per kmol\n", "m = A/N_A; #mass of the molecule, kg\n", "k_B = 1.38e-23; # Boltzmann constant, J/K \n", "T = 273; # Temperature of the gas, K\n", "\n", "#Calculations&Results\n", "v_av = 1.59*sqrt(k_B*T/m); # Average speed of oxygen molecule, m/s\n", "print \"The average speed of oxygen molecule is = %3d m/s\"%v_av\n", "v_rms = 1.73*sqrt(k_B*T/m); # The mean square speed of oxygen molecule, m/s \n", "print \"The root mean square speed of oxygen gas molecule is = %3d m/s\"%(ceil(v_rms))\n", "v_mp = 1.41*sqrt(k_B*T/m); # The most probable speed of oxygen molecule, m/s \n", "print \"The most probable speed of oxygen molecule is = %3d m/s\"%(ceil(v_mp)) #incorrect answer in the textbook\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The average speed of oxygen molecule is = 423 m/s\n", "The root mean square speed of oxygen gas molecule is = 461 m/s\n", "The most probable speed of oxygen molecule is = 376 m/s\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.3, Page 133" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "m_H = 2; # Gram molecular mass of hydrogen, g\n", "m_O = 32.; # Gram molecular mass of oxygen, g\n", "k_B = 1.38e-23; # Boltzmann constant, J/K \n", "v_avO = 1.; # For simplicity average speed of oxygen gas molecule is assumed to be unity, m/s\n", "v_avH = 2*v_avO; # The average speed of hydrrogen gas molecule, m/s\n", "T_O = 300.; # Temperature of oxygen gas, K\n", "\n", "#Calculations\n", "# As v_avO/v_av_H = sqrt(T_O/T_H)*sqrt(m_H/m_O), solving for T_H\n", "T_H = (v_avH/v_avO*sqrt(m_H/m_O)*sqrt(T_O))**2; # Temperature at which the average speed of hydrogen gas molecules is the same as that of oxygen gas molecules, K\n", "\n", "#Result\n", "print \"Temperature at which the average speed of hydrogen gas molecules is the same as that of oxygen gas molecules at 300 K = %2d\"%T_H\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Temperature at which the average speed of hydrogen gas molecules is the same as that of oxygen gas molecules at 300 K = 75\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.4, Page 133" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "v_mp = 1; # Most probable speed of gas molecules, m/s\n", "dv = 1.01*v_mp-0.99*v_mp; # Change in most probable speed, m/s\n", "v = v_mp; # Speed of the gas molecules, m/s\n", "\n", "#Calculations\n", "Frac = 4/sqrt(pi)*1/v_mp**3*exp(-v**2/v_mp**2)*v**2*dv; \n", "\n", "#Result\n", "print \"The fraction of oxygen gas molecules within one percent of most probable speed = %5.3f\"%Frac\n", "#rounding-off error" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The fraction of oxygen gas molecules within one percent of most probable speed = 0.017\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.5, Page 134" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "#Variable Declaration\n", "n = 5.; # Number of distinguishable particles which are to be distributed among cells\n", "n1 = [5, 4, 3, 3, 2]; # Possible occupancy of particles in first cell\n", "n2 = [0 ,1, 2, 1, 2]; # Possible occupancy of particles in second cell\n", "n3 = [0 ,0, 0, 1, 1]; # Possible occupancy of particles in third cell\n", "BIG_W = 0.;\n", "\n", "\n", "print(\"_____________________________________\");\n", "print(\"n1 n2 n3 5/(n1!n2!n3!)\");\n", "print(\"_____________________________________\");\n", "for i in range(5):\n", " W = math.factorial(n)/(math.factorial(n1[i])*math.factorial(n2[i])*math.factorial(n3[i]));\n", " if BIG_W < W:\n", " BIG_W = W;\n", " ms = [n1[i], n2[i] ,n3[i]];\n", "\n", " print \"%d %d %d %d\"%(n1[i], n2[i], n3[i], W);\n", "\n", "print \"_____________________________________\";\n", "print \"The macrostates of most probable distribution with thermodynamic probability %d are:\"%(BIG_W);\n", "print \"(%d, %d, %d), (%d, %d, %d) and (%d, %d, %d)\"%(ms[0], ms[1], ms[2], ms[1], ms[2], ms[0],ms[2], ms[0], ms[1]);\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "_____________________________________\n", "n1 n2 n3 5/(n1!n2!n3!)\n", "_____________________________________\n", "5 0 0 1\n", "4 1 0 5\n", "3 2 0 10\n", "3 1 1 20\n", "2 2 1 30\n", "_____________________________________\n", "The macrostates of most probable distribution with thermodynamic probability 30 are:\n", "(2, 2, 1), (2, 1, 2) and (1, 2, 2)\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.6, Page 135" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "g1 = 4; # Intrinsic probability of first cell\n", "g2 = 2; # Intrinsic probability of second cell\n", "k = 2; # Number of cells \n", "n = 8; # Number of distinguishable particles\n", "n1 = 8; # Number of cells in first compartment\n", "n2 = n - n1; # Number of cells in second compartment\n", "\n", "#Calculations\n", "W = factorial(n)*1/factorial(n1)*1/factorial(n2)*(g1)**n1*(g2)**n2;\n", "\n", "#Result\n", "print \"The thermodynamic probability of the macrostate (8,0) = %5d\"%W\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The thermodynamic probability of the macrostate (8,0) = 65536\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.7, Page 135" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math \n", "#Variable Declaration\n", "def st(val):\n", " str1 = \"\"\n", " if val == 3 :\n", " str1 = 'aaa';\n", " elif val == 2 :\n", " str1 = 'aa'; \n", " elif val == 1 :\n", " str1 = 'a';\n", " elif val == 0:\n", " str1 = '0'; \n", " return str1\n", "\n", "g = 3; # Number of cells in first compartment\n", "n = 3; # Number of bosons\n", "p = 3;\n", "r = 1; # Index for number of rows\n", "print(\"All possible meaningful arrangements of three particles in three cells are:\")\n", "print(\"__________________________\");\n", "print(\"Cell 1 Cell 2 Cell 3\");\n", "print(\"__________________________\");\n", "\n", "for i in range(0,g+1):\n", " for j in range(0,n+1):\n", " for k in range(0,p+1):\n", " if (i+j+k == 3):\n", " print \"%4s %4s %4s\"%(st(i), st(j), st(k)); \n", " print \"__________________________\";\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "All possible meaningful arrangements of three particles in three cells are:\n", "__________________________\n", "Cell 1 Cell 2 Cell 3\n", "__________________________\n", " 0 0 aaa\n", " 0 a aa\n", " 0 aa a\n", " 0 aaa 0\n", "__________________________\n", " a 0 aa\n", " a a a\n", " a aa 0\n", "__________________________\n", " aa 0 a\n", " aa a 0\n", "__________________________\n", " aaa 0 0\n", "__________________________\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.8, Page 136" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "g1 = 3; # Number of cells in first compartment\n", "g2 = 4; # Number of cells in second compartment\n", "k = 2; # Number of compartments\n", "n1 = 5; # Number of bosons\n", "n2 = 0; # Number of with no bosons\n", "\n", "#Calculations\n", "W_50 = factorial(g1+n1-1)*factorial(g2+n2-1)/(factorial(n1)*factorial(g1-1)*factorial(n2)*factorial(g2-1));\n", "\n", "#Result\n", "print \"The probability for the macrostate (5,0) is = %2d\"%W_50\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The probability for the macrostate (5,0) is = 21\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.11, Page 138" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "r = 1.86e-10; # Radius of Na, angstrom\n", "m = 9.1e-31; # Mass of electron,in kg\n", "h = 6.62e-34; # Planck's constant, J-s\n", "N = 2; # Number of free electrons in a unit cell of Na\n", "\n", "#Calculations\n", "a = 4*r/sqrt(3); # Volume of Na, m\n", "V = a**3; # Volume of the unit cell of Na, meter cube\n", "E = h**2/(2*m)*(3*N/(8*pi*V))**(2./3);\n", "\n", "#Result\n", "print \"The fermi energy of the Na at absolute zero is = %4.2e J\"%E\n", "#rounding-off error" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The fermi energy of the Na at absolute zero is = 5.02e-19 J\n" ] } ], "prompt_number": 25 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.12, Page 13" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "m = 9.1e-31; # mass of electron, kg\n", "h = 6.62e-34; # Planck's constant, J-s\n", "V = 108/10.5*1e-06; # Volume of 1 gm mole of silver, metre-cube\n", "N = 6.023e+023; # Avogadro's number\n", "\n", "#Calculations\n", "E_F = h**2/(2*m)*(3*N/(8*pi*V))**(2./3); # Fermi energy at absolute zero, J\n", "\n", "#Result\n", "print \"The fermi energy of the silver at absolute zero = %4.2e J\"%E_F\n", "#rounding-off error" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The fermi energy of the silver at absolute zero = 8.80e-19 J\n" ] } ], "prompt_number": 26 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.13, Page 13" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "pbe = 24.2e22 #electrons/cm^3\n", "pcs = 0.91e22 #electrons/cm^3\n", "efbe = 14.44 #ev\n", "\n", "#Calculations\n", "Efcs = efbe*((pcs/pbe)**(2./3))\n", "\n", "#Result\n", "print \"Fermi energy of free electrons in cesium = %.3f eV\"%Efcs\n", "#rounding-off error" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Fermi energy of free electrons in cesium = 1.621 eV\n" ] } ], "prompt_number": 46 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.14, Page 140" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "e = 1.6e-019; # Energy equivalent of 1 eV, J/eV\n", "m = 9.1e-31; # Mass of the elecron, kg \n", "h = 6.63e-34; # Planck's constant, Js\n", "EF = 4.72*e; # Fermi energy of free electrons in Li, J\n", "\n", "#Calculations\n", "rho = 8*pi/3*(2*m*EF/h**2)**(3./2); # Electron density at absolute zero, electrons/metre-cube\n", "\n", "#Result\n", "print \"The electron density in lithium at absolute zero = %4.2e electrons/metre-cube\"%rho\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The electron density in lithium at absolute zero = 4.63e+28 electrons/metre-cube\n" ] } ], "prompt_number": 47 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 3.15, Page 140" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Variable Declaration\n", "e = 1.6e-019; # Energy equivalent of 1 eV, J/eV\n", "k_B = 1.38e-023; # Boltzmann constant, J/K\n", "f_E = 0.01; # Probability that a state with energy 0.5 eV above the Fermi energy is occupied by an electron, eV \n", "delta_E = 0.5; # Energy difference (E-Ef)of fermi energy, eV\n", "\n", "#Calculations\n", "# Since f_E = 1/(exp((E-Ef)/(k_B*T))+1), solvinf for T \n", "T = delta_E/(log((1-f_E)/f_E)*k_B/e); # Temperature at which the level above the fermi level is occupied by the electron, K\n", "\n", "#Result\n", "print \"The temperature at which the level above the fermi level is occupied by the electron = %4d K\"%ceil(T)\n", "#rounding-off error" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The temperature at which the level above the fermi level is occupied by the electron = 1262 K\n" ] } ], "prompt_number": 49 } ], "metadata": {} } ] }