{
 "metadata": {
  "name": "",
  "signature": "sha256:de4c224e2d9bad9e810e24de23e4ee016e17fa0ec4d45805b35802744f1cd3b7"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "10: Crystal structure and bonding"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.5, Page number 213"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "h1=1;\n",
      "k1=0;\n",
      "l1=0;    #for (100) plane\n",
      "h2=1;\n",
      "k2=1;\n",
      "l2=1;    #for (111) plane\n",
      "a=1;   #assume\n",
      "\n",
      "#Calculation\n",
      "d100=a/math.sqrt(h1**2+k1**2+l1**2);   #spacing between (100) plane\n",
      "d111=a/math.sqrt(h2**2+k2**2+l2**2);   #spacing between (111) plane\n",
      "\n",
      "#Result\n",
      "print \"spacing between (100) plane is\",d100,\"a\"\n",
      "print \"spacing between (111) plane is\",round(d111,3),\"a\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "spacing between (100) plane is 1.0 a\n",
        "spacing between (111) plane is 0.577 a\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.6, Page number 213"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "r=0.152;    #atomic radius(nm)\n",
      "h1=2;\n",
      "k1=3;\n",
      "l1=1;   #for plane (231)\n",
      "h2=1;\n",
      "k2=1;\n",
      "l2=0;    #for plane (110)\n",
      "\n",
      "#Calculation\n",
      "a=4*r/math.sqrt(2);\n",
      "d231=a/math.sqrt(h1**2+k1**2+l1**2);   #spacing between (231) plane(nm) \n",
      "d110=a/math.sqrt(h2**2+k2**2+l2**2);   #spacing between (110) plane(nm)\n",
      "\n",
      "#Result\n",
      "print \"spacing between (231) plane is\",round(d231,4),\"nm\"\n",
      "print \"spacing between (110) plane is\",d110,\"nm\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "spacing between (231) plane is 0.1149 nm\n",
        "spacing between (110) plane is 0.304 nm\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.7, Page number 213"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "h=1;\n",
      "k=0;\n",
      "l=2;    #for plane (102)\n",
      "a=0.424;   #edge(nm)\n",
      "\n",
      "#Calculation\n",
      "d102=a/math.sqrt(h**2+k**2+l**2);   #interplanar spacing(nm)\n",
      "\n",
      "#Result\n",
      "print \"interplanar spacing is\",round(d102,4),\"nm\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "interplanar spacing is 0.1896 nm\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.8, Page number 214"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "a=3.2*10**-10;   #edge(m)\n",
      "rho=11.36*10**3;   #density(kg/m**3)\n",
      "N=6.023*10**26;    #avagadro number(per k mol)\n",
      "M=207.2;   #atomic weight\n",
      "\n",
      "#Calculation\n",
      "n=a**3*rho*N/M;    #number of atoms per unit cell\n",
      "\n",
      "#Result\n",
      "print \"number of atoms per unit cell is\",int(n)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "number of atoms per unit cell is 1\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.9, Page number 220"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "d=2.51*10**-10;    #spacing between planes(m)\n",
      "theta=9;   #glancing angle(degrees)\n",
      "\n",
      "#Calculation\n",
      "theta=theta*math.pi/180;   #glancing angle(radian)\n",
      "lamda=2*d*math.sin(theta);  #wavelength(m)\n",
      "a=lamda/2.51;\n",
      "theta2=math.asin(a);   #glancing angle for 2nd order diffraction(radian)\n",
      "theta2=2*theta*180/math.pi;   #glancing angle for 2nd order diffraction(degrees)\n",
      "\n",
      "#Result\n",
      "print \"wavelength of X ray is\",round(lamda*10**10,4),\"angstrom\"\n",
      "print \"glancing angle for 2nd order diffraction is\",theta2,\"degrees\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "wavelength of X ray is 0.7853 angstrom\n",
        "glancing angle for 2nd order diffraction is 18.0 degrees\n"
       ]
      }
     ],
     "prompt_number": 28
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.10, Page number 220"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "a=5*10**-10;   #lattice parameter(m)\n",
      "n=1;\n",
      "lamda=1.4*10**-10;   #wavelength(m)\n",
      "h=1;\n",
      "k=1;\n",
      "l=1;      #for plane (111)\n",
      "\n",
      "#Calculation\n",
      "d111=a/math.sqrt(h**2+k**2+l**2);\n",
      "b=n*lamda/(2*d111);\n",
      "theta111=math.asin(b);   #incident angle(radian)\n",
      "theta111=theta111*180/math.pi;    #incident angle(degrees)\n",
      "\n",
      "#Result\n",
      "print \"incident angle is\",int(theta111),\"degrees\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "incident angle is 14 degrees\n"
       ]
      }
     ],
     "prompt_number": 30
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.11, Page number 221"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "H=6.626*10**-34;    #planck's constant(Js)\n",
      "m=9.1*10**-31;    #mass of electron(kg)\n",
      "e=1.6*10**-19;   #conversion factor from J to eV\n",
      "V=120;   #potential(V)\n",
      "theta=22;   #angle(degrees)\n",
      "theta=theta*math.pi/180;   #angle(radian)\n",
      "h=1;\n",
      "k=1;\n",
      "l=1;      #for plane (111)\n",
      "\n",
      "#Calculation\n",
      "x=(2*m*e*V)**(1/2);    \n",
      "lamda=H/x;      #wavelength(m)\n",
      "d111=lamda*10**10/(2*math.sin(theta));\n",
      "a=math.sqrt(h**2+k**2+l**2)*d111;   #lattice parameter(angstrom)\n",
      "\n",
      "#Result\n",
      "print \"lattice parameter is\",round(a,2),\"angstrom\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "lattice parameter is 2.59 angstrom\n"
       ]
      }
     ],
     "prompt_number": 49
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.12, Page number 224"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "e=1.6*10**-19;   #conversion factor from J to eV\n",
      "epsilon0=8.85*10**-12;\n",
      "r0=0.32*10**-9;   #distance(m)\n",
      "\n",
      "#Calculation\n",
      "V=-e/(4*math.pi*epsilon0*r0);   #potential energy(eV)\n",
      "\n",
      "#Result\n",
      "print \"potential energy is\",round(V,3),\"eV\"\n",
      "print \"answer varies due to rounding off errors\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "potential energy is -4.496 eV\n",
        "answer varies due to rounding off errors\n"
       ]
      }
     ],
     "prompt_number": 52
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example number 10.13, Page number 224"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#importing modules\n",
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#Variable declaration\n",
      "e=1.6*10**-19;   #conversion factor from J to eV\n",
      "epsilon0=8.85*10**-12;\n",
      "r0=0.31*10**-9;   #distance(m)\n",
      "n=9;\n",
      "alpha=1.748;  \n",
      "Ie=5;   #ionisation energy(eV)\n",
      "ea=-3.61;   #electron affinity(eV)\n",
      "\n",
      "#Calculation\n",
      "a=1-(1/n);\n",
      "Vr0=-alpha*e**2*a/(4*math.pi*epsilon0*r0);   #energy(J)\n",
      "Vr0=Vr0/e;     #cohesive energy(eV)\n",
      "Vr0i=Vr0/2;    #contribution per ion to cohesive energy(eV)\n",
      "Ee=Ie+ea;   #electron transfer energy(eV)\n",
      "Vr0i2=Ee/2;    #contribution per ion to cohesive energy(eV)\n",
      "CE=Vr0i+Vr0i2;   #cohesive energy per atom(eV)\n",
      "\n",
      "#Result\n",
      "print \"cohesive energy per atom is\",round(CE,4),\"eV\"\n",
      "print \"answer varies due to rounding off errors\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "cohesive energy per atom is -2.9105 eV\n",
        "answer varies due to rounding off errors\n"
       ]
      }
     ],
     "prompt_number": 58
    }
   ],
   "metadata": {}
  }
 ]
}