{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 7:Statistical Thermodynamics"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.1,Page number:193"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "N=20 \t\t\t\t#no, of particles\n",
      "N1=4 \t\t\t\t#no. of particles in E1 energy level\n",
      "N2=4 \t\t\t\t#no. of particles in E2 energy level\n",
      "N3=6 \t\t\t\t#no. of particles in E3 energy level\n",
      "N4=3 \t\t\t\t#no. of particles in E4 energy level\n",
      "N5=3 \t\t\t\t#no. of particles in E5 energy level\n",
      "import math\n",
      "\t\n",
      "Nf=math.factorial(N) \n",
      "N1f=math.factorial(N1) \n",
      "N2f=math.factorial(N2) \n",
      "N3f=math.factorial(N3) \n",
      "N4f=math.factorial(N4) \n",
      "N5f=math.factorial(N5) \n",
      "n=N1f*N2f*N3f*N4f*N5f \n",
      "W=Nf/n \t\t\t#no. of ways of distributing\n",
      "print\"The no. of ways of distributing the particles is\",W"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The no. of ways of distributing the particles is 162954792000\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.2,Page number:194"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "T=298.0 \t\t\t#Temperature [K]\n",
      "v=6.5*10**13 \t\t#Frequency in [sec-1]\n",
      "\t#Consider zero point energy = 0.\n",
      "h=6.627*10**-34 \t#planck's constant[J.s]\n",
      "k=1.381*10**-23 \t#Boltzmann constant \n",
      "N=1.0 \t\t\t#Since N=summation(gj*exp(-Ej/kT))\n",
      "\n",
      "E1=h*v \t\t\t#for energy level 1[J]\n",
      "E2=2*h*v \t\t#for energy level 2[J]\n",
      "x=k*T \n",
      "g1=1.0 \n",
      "g2=1.0 \n",
      "import math\n",
      "N1=(g1*math.exp(-E1/x)) #molecules present in energy level 1\n",
      "N2=(g2*math.exp(-E2/x)) #molecules present in energy level 2\n",
      "n1=N1/N \t\t#fraction of molecules present in energy level 1\n",
      "n2=N2/N \t\t#fraction of molecules present in energy level 2\n",
      "print\"The fraction of molecule  s present in energy level 1 is\",'{0:.7f}'.format(round(n1,7)) \n",
      "\n",
      "\n",
      "print\"The fraction of molecules present in energy level 2 is\",round(n2,10)   \n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The fraction of molecule  s present in energy level 1 is 0.0000285\n",
        "The fraction of molecules present in energy level 2 is 8e-10\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.3,Page number:194"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "dE=4.3*10**-20 \t\t\t#difference in energy levels[J]\n",
      "T1=0.000001 \t\t\t#Initial Temperature[K](approximately zero , needed for \t\t\t\texecution)\n",
      "T2=300 \t\t\t\t#Final Temperature[K]\n",
      "k=1.381*10**-23 \t\t#Boltzmann constant [J/K]\n",
      "import math\n",
      "\t\n",
      "x1=k*T1 \n",
      "r1=math.exp(-dE/x1) \n",
      "x2=k*T2 \n",
      "r2=math.exp(-dE/x2) \n",
      "print\"The ratio of no. of particles per state at 0K is\",r1 \n",
      "print\"The ratio of no. of particles per state at 300K is\",round(r2,6) "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The ratio of no. of particles per state at 0K is 0.0\n",
        "The ratio of no. of particles per state at 300K is 3.1e-05\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.4,Page number:195"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "T1=273.0 \t\t\t\t#[K]\n",
      "T2=14273.0 \t\t\t#[K]\n",
      "E1=-13.6 \t\t\t#Energy of ground state [eV]\n",
      "k=8.617*10.0**-5.0 \t\t\t#Boltzmann constant[eV/K]\n",
      "g2=8.0 \t\t\t\t#total no. of states with energy E2\n",
      "g1=2.0 \t\t\t\t#total no. of states with energy E1\n",
      "import math\n",
      "\t\n",
      "E2=E1/(2.0**2) \t\t#Energy for n=2 (i.e.E2=E1/n2)\n",
      "x1=k*T1 \n",
      "r1=(g2/g1)*math.exp(-(E2-E1)/x1) \n",
      "x2=k*T2 \n",
      "r2=(g2/g1)*math.exp(-(E2-E1)/x2) \n",
      "print\"The fraction of atoms present in level n=2 at 273K is\", round(r1,190)   \n",
      "print\"Therefore total 3*10**25 atoms we say   that all are present at ground state\" \n",
      "print\"\\n\\nThe fraction of atoms present in level n=2 at 14273 is\",round(r2,3) \n",
      "x=r2*3.0*10**25.0 \n",
      "print\"Therefore no. of atoms in level n=2 is\",x  \n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The fraction of atoms present in level n=2 at 273K is 1.97e-188\n",
        "Therefore total 3*10**25 atoms we say   that all are present at ground state\n",
        "\n",
        "\n",
        "The fraction of atoms present in level n=2 at 14273 is 0.001\n",
        "Therefore no. of atoms in level n=2 is 3.0021673634e+22\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.5,Page number:195"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "r1=0.001 \t\t\t#the population of the states at a higher energy to that at a \t\t\t\tlower energy \n",
      "dE=8*10**-20 \t\t\t#The difference in energy[J]\n",
      "k=1.381*10**-23 \t\t\t#Boltzmann constant [J/K]\n",
      "\n",
      "\n",
      "x=k*math.log(r1) \n",
      "T=-dE/x #[K]\n",
      "print\"The Temperature at this condition is\",round(T,1),\"K\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Temperature at this condition is 838.6 K\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.6,Page number:196"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "w=1 \t\t\t#no. of ways of distributing the molecules\n",
      "k=1.381*10**-23 \t#Boltzmann constant[J/K]\n",
      "import math\n",
      "\t\n",
      "S1=k*math.log(w) \t\t#Entropy of system at 0K\n",
      "print\"The Entropy of System at 0K and non-degenerate eng level is\",S1,\"J/K/mol\"\n",
      "\n",
      "n=2 \n",
      "R=8.314 #Universal gas constant[J/K/mol]\n",
      "\n",
      "S2=R*math.log(n) #Entropy of the system[J/K/mol]\n",
      "print\"\\nThe Entropy of system at 0K and degenerete eng level is\",round(S2,2),\"J/K/mol\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Entropy of System at 0K and non-degenerate eng level is 0.0 J/K/mol\n",
        "\n",
        "The Entropy of system at 0K and degenerete eng level is 5.76 J/K/mol\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.9,Page number:202"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "V=0.001 \t\t\t#Volume of vessel[m3]\n",
      "T=300 \t\t\t\t#Temperature [K]\n",
      "k=1.381*10**-23 \t\t#Boltzmann constant[J/K]\n",
      "mol_wt=32 \t\t\t#molecular mass of oxygen molecule\n",
      "h=6.626*10**-34 \t\t#planck's constant[J.s}\n",
      "\n",
      "\n",
      "\t\n",
      "m=32*1.66*(10**-27) \t\t#mass of oxygen molecule[Kg]\n",
      "x=((2*3.14*m*k*T)**(3.0/2.0))*V \n",
      "y=h**3 \n",
      "zt=x/y \t\t\t\t#Transitional partition function of an oxygen molecule\n",
      "print\"The Transitional partition function of an oxygen molecule confined in a 1-litre vessel at 300K is\",zt\n",
      "print\"Wrongly calculated in book as 5.328*10^33\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Transitional partition function of an oxygen molecule confined in a 1-litre vessel at 300K is 1.76621948031e+29\n",
        "Wrongly calculated in book as 5.328*10^33\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.12,Page number:204"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "R=1.99 \t\t\t#Universal gas constant [cal/K]\n",
      "e=2.718 \n",
      "V=22414 \t\t#volume[cm3]\n",
      "L=6.023*10**23 \n",
      "h=6.626*10**-27 \t#Planck's constant [erg.sec]\n",
      "m=6.63*10**-23 \t\t#mass[gm]\n",
      "k=1.381*10**-16 \t#Boltzmann constant[erg/K]\n",
      "T=273.2 \t\t#Temperature[K]\n",
      "import math\n",
      "\t\n",
      "x=V*(e**2.5) \n",
      "y=L*(h**3) \n",
      "z=(2*3.14*m*k*T)**1.5 \n",
      "S=R*math.log(x*z/y) #Entropy [cal/degree/mol]\n",
      "print\"The Entropy of argon at 273K and 1 atm is\",round(S,1),\"cal/degree/mol\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The Entropy of argon at 273K and 1 atm is 36.6 cal/degree/mol\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.14,Page number:207"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "T=298 \t\t\t\t#Temperature[K]\n",
      "I=1.9373*10**-46 \t\t#moment of inertia of O2 gas [Kg/m2]\n",
      "h=6.626*10**-34 \t\t\t#Planck's constant[J.s]\n",
      "k=1.381*10**-23 \t\t\t#Boltzmann constant[J/K]\n",
      "R=8.314 \t\t\t#Universal gas constant[J/K/mol]\n",
      "u=2 \t\t\t\t#Homonuclear diatomic molecule\n",
      "import math\n",
      "\t\n",
      "Sr=R+R*math.log(8*3.14*3.14*I*k*T/(u*h*h)) #[J/K/mol]\n",
      "Gr=-R*0.001*T*math.log(8*3.14*3.14*I*k*T/(u*h*h)) #[KJ/mol]\n",
      "print\"The rotational entropy for O2 gas is\",round(Sr,3),\"J/K/mol\"\n",
      "print\"The rotational free energy for O2 gas is\",round(Gr,3),\"KJ/mol\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The rotational entropy for O2 gas is 43.826 J/K/mol\n",
        "The rotational free energy for O2 gas is -10.583 KJ/mol\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.15,Page number:208"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "T=298 \t\t\t\t#Temperature[K]\n",
      "v=892.1*3*10**10 \t\t#frequency[sec-1]\n",
      "h=6.626*10**-27 \t\t#Planck's constant [J.s]\n",
      "k=1.381*10**-16 \t\t#Boltzmann constant[erg/K]\n",
      "e=2.718 \n",
      "R=1.998 \t\t\t#Universal gas constant[cal/K]\n",
      "\t\n",
      "import math\n",
      "x=h*v/(k*T) \n",
      "a=R*x*e**-x/(1-e**-x) \t\t#a=E-Eo/T\n",
      "b=R*math.log(1-e**-x) \t\t#b=G-Eo/T\n",
      "S=a-b \t\t\t\t#[cal/deg]\n",
      "print\"The vibrational contribution to the entropy of F2 is\",round(S,4),\"cal/deg APPROX\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The vibrational contribution to the entropy of F2 is 0.1445 cal/deg APPROX\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.16,Page number:211"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "T=1273 \t\t\t\t#Temperature[K]\n",
      "h=6.26*10**-27 \t\t\t#Planck's constant[J.s]\n",
      "k=1.381*10**-16 \t\t\t#Boltzmann constant[erg/K]\n",
      "T=1000 \t\t\t\t#Temperature[degrees]\n",
      "m=3.82*10**-23 \t\t\t#mass of Na [gm]\n",
      "I=(1.91*10**-23)*(3.078*10**-8)**2 \t#moment of inertia[gm.cm2]\n",
      "dE=0.73*1.602*10**-12 \t\t\t#[erg]\n",
      "v=159.23*(3*10**10)\t \t\t#frequency [s-1]\n",
      "R=82 \t\t\t\t\t#universal gas constant[cm3.atm/deg]\n",
      "u=2 \t\t\t\t\t#symmetry number\n",
      "L=6.023*10**23 \t\t\t\t#avogadro's number\n",
      "import math\n",
      "\t\n",
      "p=((3.14*m*k*T)**1.5)/h/h/h \n",
      "s=R*u*h*h/L/8/3.14/3.14/I/k \n",
      "q=1-(math.exp(-h*v/k/T)) \n",
      "r=math.exp(-dE/k/T) \n",
      "Kp=p*s*q*r \t\t\t\t#Equilibrium constant \n",
      "print\"The equilibrium constant is\",round(Kp,3) "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The equilibrium constant is 0.608\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 7.17,Page number:212"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "T=298.0 #Temperature[K]\n",
      "m1=32.0 \n",
      "m2=36.0 \n",
      "m3=34.0 \n",
      "u1=8.0 \n",
      "u2=9.0 \n",
      "u3=16.0*18.0/34.0 \n",
      "z1=0.99924 \n",
      "z2=0.99951 \n",
      "z3=0.99940 \n",
      "h=6.26*10**-27 #Planck's constant[J.s]\n",
      "c=3.0*10**10 #Speed of light[m/s]\n",
      "k=1.38*10**-16 #Boltzman's constant[erg/K]\n",
      "vo1=1535.8 #vibration frequency of 16O18O [cm-1]\n",
      "vo2=1580.4 #vibration frequency of 16O2 [cm-1]\n",
      "vo3=1490.0 #vibration frequency of 18O2 [cm-1]\n",
      "dE=0.5*h*c*(2*vo1-vo2-vo3) #[erg]\n",
      "r=dE/k/T \n",
      "import math\n",
      "\n",
      "a=m3**3/m2**1.5/m1**1.5 \n",
      "b=(u3**2)*4/u2/u1 \n",
      "c=z3**2/z2/z1 \n",
      "Kp=a*b*c*math.exp(-r) \n",
      "print\"The value of equilibrium constant for isotopic exchange reaction is\",round(Kp,3) "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The value of equilibrium constant for isotopic exchange reaction is 3.996\n"
       ]
      }
     ],
     "prompt_number": 14
    }
   ],
   "metadata": {}
  }
 ]
}