{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 12: X-ray Diffraction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 1, Page number 323" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of X-rays is 0.97938 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "d=2.82*10**-10; #spacing(m)\n", "theta=10*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "lamda=2*d*math.sin(theta)/n; #wavelength of X-rays(m)\n", "\n", "#Result\n", "print \"wavelength of X-rays is\",round(lamda*10**10,5),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 2, Page number 323" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of X-rays is 1.262 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "d=3.035*10**-10; #spacing(m)\n", "theta=12*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "lamda=2*d*math.sin(theta)/n; #wavelength of X-rays(m)\n", "\n", "#Result\n", "print \"wavelength of X-rays is\",round(lamda*10**10,3),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 3, Page number 323" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "their wavelengths are 1.464 angstrom and 1.6525 angstrom\n", "answer in the book varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "d=2.81; #spacing(angstrom)\n", "theta1=15.1*math.pi/180; #angle of diffraction(radian)\n", "theta2=17.1*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "lamda1=2*d*math.sin(theta1)/n; #wavelength(angstrom)\n", "lamda2=2*d*math.sin(theta2)/n; #wavelength(angstrom)\n", "\n", "#Result\n", "print \"their wavelengths are\",round(lamda1,3),\"angstrom and\",round(lamda2,4),\"angstrom\"\n", "print \"answer in the book varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 4, Page number 324" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "spacing is 4.035 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "lamda=1.54; #wavelength of X-rays(angstrom)\n", "theta=11*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "d=lamda/(2*math.sin(theta)); #spacing(angstrom)\n", "\n", "#Result\n", "print \"spacing is\",round(d,3),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 5, Page number 324" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of line A is 1.593 angstrom\n", "answer given in the book is wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n1=1; #order\n", "n2=3; #order\n", "theta1=30*math.pi/180; #angle of diffraction(radian)\n", "theta2=60*math.pi/180; #angle of diffraction(radian)\n", "lamdaB=0.92; #wavelength(angstrom)\n", "\n", "#Calculations\n", "lamdaA=n2*lamdaB*math.sin(theta1)/math.sin(theta2); #wavelength of line A(angstrom)\n", "\n", "#Result\n", "print \"wavelength of line A is\",round(lamdaA,3),\"angstrom\"\n", "print \"answer given in the book is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 6, Page number 324" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of electrons is 0.7406 *10**-10 m\n", "velocity of electrons is 9.793 *10**6 m/sec\n", "answers given in the book are wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "d=0.4086*10**-10; #spacing(m)\n", "theta=65*math.pi/180; #angle of diffraction(radian)\n", "m=9.1*10**-31; #mass(kg)\n", "h=6.6*10**-34; #planks constant(Js)\n", "\n", "#Calculations\n", "lamda=2*d*math.sin(theta)/n; #wavelength of electrons(m)\n", "v=h/(m*lamda); #velocity of electrons(m/sec)\n", "\n", "#Result\n", "print \"wavelength of electrons is\",round(lamda*10**10,4),\"*10**-10 m\"\n", "print \"velocity of electrons is\",round(v/10**6,3),\"*10**6 m/sec\"\n", "print \"answers given in the book are wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 7, Page number 325" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "longest wavelength is 5.64 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "d=2.82*10**-10; #spacing(m)\n", "sintheta=1; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "lamdamax=2*d*sintheta/n; #longest wavelength(m)\n", "\n", "#Result\n", "print \"longest wavelength is\",lamdamax*10**10,\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 8, Page number 325" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "glancing order is 26.599 degrees\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n1=1; #order\n", "n2=3; #order\n", "lamda=0.842*10**-10; #wavelength(m)\n", "theta1=(8+(35/60))*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "theta3=math.asin(n2*math.sin(theta1)); #glancing order(radian)\n", "\n", "#Result\n", "print \"glancing order is\",round(theta3*180/math.pi,3),\"degrees\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 9, Page number 325" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "spacing in 1st case is 1.289 angstrom\n", "spacing in 2nd case is 1.824 angstrom\n", "spacing in 3rd case is 0.648 angstrom\n", "answers given in the book are wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "n=1; #order\n", "lamda=0.58; #wavelength of X-rays(angstrom)\n", "theta1=6.45*math.pi/180; #angle of diffraction(radian)\n", "theta2=9.15*math.pi/180; #angle of diffraction(radian)\n", "theta1=13*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "d1=lamda/(2*math.sin(theta1)); #spacing in 1st case(angstrom)\n", "d2=lamda/(2*math.sin(theta2)); #spacing in 2nd case(angstrom)\n", "d3=lamda/(2*math.sin(theta3)); #spacing in 3rd case(angstrom)\n", "\n", "#Result\"\n", "print \"spacing in 1st case is\",round(d1,3),\"angstrom\"\n", "print \"spacing in 2nd case is\",round(d2,3),\"angstrom\"\n", "print \"spacing in 3rd case is\",round(d3,3),\"angstrom\"\n", "print \"answers given in the book are wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 10, Page number 326" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "seperation of adjacent atoms is 2.823 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "M=58.5; #molecular weight(kg/k-mole)\n", "N=6.02*10**26; #avagadro number(mol/k-mole)\n", "rho=2.16*10**3; #density(kg/m**3)\n", "\n", "#Calculations\n", "d=(M/(2*N*rho))**(1/3); #seperation of adjacent atoms(m)\n", "\n", "#Result\n", "print \"seperation of adjacent atoms is\",round(d*10**10,3),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 11, Page number 327" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lattice spacing is 2.7882 angstrom\n", "avagadro number is 6.234 *10**26 mol/k-mole\n", "answer in the book varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "M=58.454; #molecular weight(kg/k-mole)\n", "n=1; #order\n", "rho=2163; #density(kg/m**3)\n", "lamda=1.3922*10**-10; #wavelength(m)\n", "theta=(14+(27/60)+(26/3600))*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "d=n*lamda/(2*math.sin(theta)); #lattice spacing(m)\n", "N=M/(2*rho*d**3); #avagadro number(mol/k-mole)\n", "\n", "#Result\n", "print \"lattice spacing is\",round(d*10**10,4),\"angstrom\"\n", "print \"avagadro number is\",round(N/10**26,3),\"*10**26 mol/k-mole\"\n", "print \"answer in the book varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 12, Page number 327" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "orders of reflection is 1 : 2 : 3\n", "spacing at first order is 2.8187 *10**-10 m\n", "spacing at second order is 2.7805 *10**10 m\n", "spacing at third order is 2.8143 *10**-10 m\n", "mean value of crystal lattice spacing is 2.804 *10**-10 m\n", "answers given in the book vary due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "lamda=0.586*10**-10; #wavelength(m)\n", "theta1=(5+(58/60))*math.pi/180; #angle of diffraction(radian)\n", "theta2=(12+(10/60))*math.pi/180; #angle of diffraction(radian)\n", "theta3=(18+(12/60))*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "a=int(10*math.sin(theta1)); \n", "b=int(10*math.sin(theta2)); \n", "c=int(10*math.sin(theta3)); \n", "d1=a*lamda/(2*math.sin(theta1)); #spacing at first order(m)\n", "d2=b*lamda/(2*math.sin(theta2)); #spacing at second order(m)\n", "d3=c*lamda/(2*math.sin(theta3)); #spacing at third order(m)\n", "d=(d1+d2+d3)/3; #mean value of crystal lattice spacing(m)\n", "\n", "#Result\n", "print \"orders of reflection is\",a,\":\",b,\":\",c\n", "print \"spacing at first order is\",round(d1*10**10,4),\"*10**-10 m\"\n", "print \"spacing at second order is\",round(d2*10**10,4),\"*10**10 m\"\n", "print \"spacing at third order is\",round(d3*10**10,4),\"*10**-10 m\"\n", "print \"mean value of crystal lattice spacing is\",round(d*10**10,3),\"*10**-10 m\"\n", "print \"answers given in the book vary due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 13, Page number 328" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ratio of spacing is 1 : 1 *math.sqrt(2) : 1 *math.sqrt(3)\n", "the crystal is simple cubic crystal\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "theta1=(5+(23/60))*math.pi/180; #angle of diffraction(radian)\n", "theta2=(7+(37/60))*math.pi/180; #angle of diffraction(radian)\n", "theta3=(9+(25/60))*math.pi/180; #angle of diffraction(radian)\n", "\n", "#Calculations\n", "d1=math.sin(theta1); #spacing at first order(m)\n", "d2=math.sin(theta2); #spacing at second order(m)\n", "d3=math.sin(theta3); #spacing at third order(m)\n", "x=d1/d1;\n", "y=round(d2/(d1*math.sqrt(2)));\n", "z=round(d3/(math.sqrt(3)*d1));\n", "\n", "#Result\n", "print \"ratio of spacing is\",int(x),\":\",int(y),\"*math.sqrt(2) :\",int(z),\"*math.sqrt(3)\"\n", "print \"the crystal is simple cubic crystal\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 14, Page number 328" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of Kalpha is 0.589 angstrom\n", "answer given in the book is wrong due to printing mistake\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "M=58.46; #molecular weight(kg/k-mole)\n", "N=6.02*10**26; #avagadro number(mol/k-mole)\n", "rho=2170; #density(kg/m**3)\n", "theta=6*math.pi/180; #angle of diffraction(radian)\n", "n=1; #order\n", "\n", "#Calculations\n", "d=(M/(2*N*rho))**(1/3); #seperation of adjacent atoms(m)\n", "lamda=2*d*math.sin(theta)/n; #wavelength of Kalpha(m)\n", "\n", "#Result\n", "print \"wavelength of Kalpha is\",round(lamda*10**10,3),\"angstrom\"\n", "print \"answer given in the book is wrong due to printing mistake\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 15, Page number 329" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "spacing of crystal is 0.38 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration \n", "e=1.6*10**-19; #charge(coulomb)\n", "E=344; #energy(V) \n", "theta=60*math.pi/180; #angle of diffraction(radian)\n", "n=1; #order\n", "m=9*10**-31; #mass(kg)\n", "h=6.62*10**-34; #planks constant(Js)\n", "\n", "#Calculations\n", "lamda=h/math.sqrt(2*m*e*E); #wavelength(m)\n", "d=n*lamda/(2*math.sin(theta)); #spacing of crystal(m)\n", "\n", "#Result\n", "print \"spacing of crystal is\",round(d*10**10,2),\"angstrom\"" ] } ], "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.11" } }, "nbformat": 4, "nbformat_minor": 0 }