{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3: X-ray Diffraction" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Example number 3.1, Page number 80" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength is 0.97938 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=2.82*10**-10; #lattice spacing(m)\n", "theta=10; #glancing angle(degree)\n", "n=1; #order\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "lamda=2*d*math.sin(theta)/n; #wavelength(m)\n", "\n", "#Result\n", "print \"wavelength is\",round(lamda*10**10,5),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.2, Page number 80" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength is 1.262 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=3.035*10**-10; #lattice spacing(m)\n", "theta=12; #glancing angle(degree)\n", "n=1; #order\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "lamda=2*d*math.sin(theta)/n; #wavelength(m)\n", "\n", "#Result\n", "print \"wavelength is\",round(lamda*10**10,3),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.3, Page number 81" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelengths are 1.464 angstrom and 1.6525 angstrom\n", "answer varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=2.81; #lattice spacing(angstrom)\n", "theta1=15.1; #glancing angle(degree)\n", "theta2=17.1; #glancing angle(degree)\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "lamda1=2*d*math.sin(theta1); #wavelength(angstrom)\n", "theta2=theta2*math.pi/180; #angle(radian)\n", "lamda2=2*d*math.sin(theta2); #wavelength(angstrom)\n", "\n", "#Result\n", "print \"wavelengths are\",round(lamda1,3),\"angstrom and\",round(lamda2,4),\"angstrom\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.4, Page number 81" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "separation between lattice planes is 4.035 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "lamda=1.54; #wavelength(angstrom)\n", "theta=11; #glancing angle(degree)\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "d=lamda/(2*math.sin(theta)); #separation between lattice planes(angstrom)\n", "\n", "#Result\n", "print \"separation between lattice planes is\",round(d,3),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.5, Page number 81" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength is 1.84 angstrom\n", "answer in the book is wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "lamdaB=0.92; #wavelength(angstrom)\n", "theta1=30; #glancing angle(degree)\n", "theta2=60; #glancing angle(degree)\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "theta2=theta2*math.pi/180; #angle(radian)\n", "lamdaA=2*lamdaB*math.sin(theta1)/math.sin(theta1); #wavelength of line A(angstrom)\n", "\n", "#Result\n", "print \"wavelength is\",lamdaA,\"angstrom\"\n", "print \"answer in the book is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.6, Page number 81" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "debroglie wavelength is 0.7406 *10**-10 metre\n", "velocity is 9.793 *10**6 m/sec\n", "answer in the book is wrong\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=0.4086*10**-10; #lattice spacing(m)\n", "theta=65; #glancing angle(degree)\n", "h=6.6*10**-34; #plank's constant(Js)\n", "m=9.1*10**-31; #mass(kg)\n", "n=1;\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "lamda=2*d*math.sin(theta)/n; #debroglie wavelength(m)\n", "v=h/(m*lamda); #velocity(m/sec)\n", "\n", "#Result\n", "print \"debroglie wavelength is\",round(lamda*10**10,4),\"*10**-10 metre\"\n", "print \"velocity is\",round(v/10**6,3),\"*10**6 m/sec\"\n", "print \"answer in the book is wrong\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.7, Page number 82" ] }, { "cell_type": "code", "execution_count": 6, "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", "d=2.82*10**-10; #lattice spacing(m)\n", "sintheta=1; \n", "n=1;\n", "\n", "#Calculation\n", "lamda_max=2*d*sintheta/n; #longest wavelength(m)\n", "\n", "#Result\n", "print \"longest wavelength is\",lamda_max*10**10,\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.8, Page number 82" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "glancing angle is 26.599 degree\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "d=0.842*10**-10; #lattice spacing(m)\n", "theta1=8+(35/60); #glancing angle(degree)\n", "n1=1; #order\n", "n2=3; #order\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "theta3=math.asin(n2*math.sin(theta1)); #glancing angle(radian)\n", "theta3=theta3*180/math.pi; #glancing angle(degree)\n", "\n", "#Result\n", "print \"glancing angle is\",round(theta3,3),\"degree\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.9, Page number 82" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "interplanar spacing is 1.804 angstrom\n", "answer varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "lamda=0.58; #wavelength(angstrom)\n", "theta1=6+(45/60); #glancing angle(degree)\n", "theta2=9+(15/60); #glancing angle(degree)\n", "theta3=13; #glancing angle(degree)\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "theta2=theta2*math.pi/180; #angle(radian)\n", "theta3=theta3*math.pi/180; #angle(radian)\n", "x1=lamda/(2*math.sin(theta1));\n", "x2=lamda/(2*math.sin(theta2));\n", "\n", "#Result\n", "print \"interplanar spacing is\",round(x2,3),\"angstrom\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.10, Page number 83" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lattice spacing is 2.7882 angstrom\n", "avagadro number is 6.2337 *10**26 mol/k-mole\n", "answer varies due to rounding off errors\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "lamda=1.3922; #wavelength(angstrom)\n", "n=1;\n", "theta=14+(27/60)+(26/(60*60)); #glancing angle(degree)\n", "M=58.454; #molecular weight\n", "rho=2163; #density(kg/m**3)\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "d=n*lamda/(2*math.sin(theta)); #lattice spacing(angstrom)\n", "d_m=d*10**-10; #lattice spacing(m)\n", "N=M/(2*rho*d_m**3); #avagadro number(mol/k-mole)\n", "\n", "#Result\n", "print \"lattice spacing is\",round(d,4),\"angstrom\"\n", "print \"avagadro number is\",round(N/10**26,4),\"*10**26 mol/k-mole\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.11, Page number 84" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ratio of angles of incidence are 0.104 : 0.2108 : 0.3123 which is nothing but 1.0 : 2.0 : 3.0\n", "angles of incidence should be 1st, 2nd and 3rd orders\n", "spacing is 2.804 *10**-10 m\n", "answer varies 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); #glancing angle(degree)\n", "theta2=12+(10/60); #glancing angle(degree)\n", "theta3=18+(12/60); #glancing angle(degree)\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "theta2=theta2*math.pi/180; #angle(radian)\n", "theta3=theta3*math.pi/180; #angle(radian)\n", "x1=math.sin(theta1);\n", "x2=math.sin(theta2);\n", "x3=math.sin(theta3);\n", "d1=lamda/(2*math.sin(theta1)); #spacing for 1st order(m)\n", "d2=2*lamda/(2*math.sin(theta2)); #spacing for 2nd order(m)\n", "d3=3*lamda/(2*math.sin(theta3)); #spacing for 3rd order(m)\n", "d=(d1+d2+d3)/3; #spacing(m)\n", "\n", "#Result\n", "print \"ratio of angles of incidence are\",round(x1,3),\":\",round(x2,4),\":\",round(x3,4),\"which is nothing but\",round(x1,1)*10,\":\",round(x2,1)*10,\":\",round(x3,1)*10\n", "print \"angles of incidence should be 1st, 2nd and 3rd orders\"\n", "print \"spacing is\",round(d*10**10,3),\"*10**-10 m\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.12, Page number 84" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ratio of angles of incidence are 0 : 1.413 : 1.744\n", "the crystal is a simple cubic crystal\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "theta1=5+(23/60); #glancing angle(degree)\n", "theta2=7+(37/60); #glancing angle(degree)\n", "theta3=9+(25/60); #glancing angle(degree)\n", "\n", "#Calculation\n", "theta1=theta1*math.pi/180; #angle(radian)\n", "theta2=theta2*math.pi/180; #angle(radian)\n", "theta3=theta3*math.pi/180; #angle(radian)\n", "x1=math.sin(theta1);\n", "X1=1/(10*x1);\n", "x2=math.sin(theta2)/x1;\n", "x3=math.sin(theta3)/x1;\n", "\n", "#Result\n", "print \"ratio of angles of incidence are\",int(x1),\":\",round(x2,3),\":\",round(x3,3)\n", "print \"the crystal is a simple cubic crystal\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.13, Page number 85" ] }, { "cell_type": "code", "execution_count": 13, "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", "h=6.62*10**-34; #planck's constant(J sec)\n", "e=1.6*10**-19; #charge(coulomb)\n", "m=9*10**-31; #mass(kg) \n", "E=344; #energy(volts)\n", "n=1;\n", "theta=60; #angle(degrees)\n", "\n", "#Calculation\n", "lamda=h/math.sqrt(2*m*e*E); #wavelength(m)\n", "theta=theta*math.pi/180; #angle(radian)\n", "d=n*lamda*10**10/(2*math.sin(theta)); #spacing of crystal(angstrom)\n", "\n", "#Result\n", "print \"spacing of crystal is\",round(d,2),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example number 3.14, Page number 85" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lattice parameter is 4.1 angstrom\n", "radius of atom is 1.45 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "h=2;\n", "k=2;\n", "l=0;\n", "n=1;\n", "theta=32; #angle(degrees)\n", "lamda=1.54*10**-10; #wavelength(m)\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "d=n*lamda*10**10/(2*math.sin(theta)); #spacing of crystal(angstrom)\n", "a=d*math.sqrt(h**2+k**2+l**2); #lattice parameter(angstrom)\n", "r=a/(2*math.sqrt(2)); #radius of atom(angstrom)\n", "\n", "#Result\n", "print \"lattice parameter is\",round(a,1),\"angstrom\"\n", "print \"radius of atom is\",round(r,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 }