diff options
Diffstat (limited to 'sample_notebooks/SINDHUARROJU/Chapter3.ipynb')
-rwxr-xr-x | sample_notebooks/SINDHUARROJU/Chapter3.ipynb | 659 |
1 files changed, 659 insertions, 0 deletions
diff --git a/sample_notebooks/SINDHUARROJU/Chapter3.ipynb b/sample_notebooks/SINDHUARROJU/Chapter3.ipynb new file mode 100755 index 00000000..9f186c2a --- /dev/null +++ b/sample_notebooks/SINDHUARROJU/Chapter3.ipynb @@ -0,0 +1,659 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3: Crystal Planes,X-ray Diffraction and Defects in Solids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1, Page number 3-19" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "glancing angle is 21 degrees\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a=0.28; #lattice spacing(nm)\n", + "lamda=0.071; #wavelength of X-rays(nm)\n", + "h=1;\n", + "k=1;\n", + "l=0;\n", + "n=2;\n", + "\n", + "#Calculation\n", + "d=a/math.sqrt(h**2+k**2+l**2); \n", + "sintheta=n*lamda/(2*d);\n", + "theta=math.asin(sintheta)*180/math.pi; #glancing angle(degrees)\n", + "\n", + "#Result\n", + "print \"glancing angle is\",int(theta),\"degrees\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2, Page number 3-19" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "wavelength of X-rays is 0.0842 nm\n", + "maximum order of diffraction is 7\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d=0.282; #lattice spacing(nm)\n", + "theta=(8+(35/60))*math.pi/180; #glancing angle(radian)\n", + "n=1; #order\n", + "\n", + "#Calculation\n", + "lamda=2*d*math.sin(theta)/n; #wavelength of X-rays(nm)\n", + "n=2*d/lamda; #maximum order of diffraction\n", + "\n", + "#Result\n", + "print \"wavelength of X-rays is\",round(lamda,4),\"nm\"\n", + "print \"maximum order of diffraction is\",int(round(n))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3, Page number 3-20" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fraction of vacancy sites is 8.466 *10**-7\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "T1=773; #temperature(K)\n", + "T2=1273; #temperature(K)\n", + "f=10**-10; #fraction of vacant sites\n", + "\n", + "#Calculation\n", + "x=round(T1*math.log(f)/T2,3);\n", + "N=math.exp(x); #fraction of vacancy sites\n", + "\n", + "#Result\n", + "print \"fraction of vacancy sites is\",round(N*10**7,3),\"*10**-7\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4, Page number 3-21" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "h1=1;\n", + "k1=0;\n", + "l1=0; #miller indices of (100)\n", + "h2=1;\n", + "k2=1;\n", + "l2=0; #miller indices of (110)\n", + "h3=1;\n", + "k3=1;\n", + "l3=1; #miller indices of (111)\n", + "a=1; #assume\n", + "\n", + "#Calculation\n", + "d100=a/math.sqrt(h1**2+k1**2+l1**2); #spacing(nm)\n", + "d110=a/math.sqrt(h2**2+k2**2+l2**2); #spacing(nm)\n", + "d111=a/math.sqrt(h3**2+k3**2+l3**2); #spacing(nm)\n", + "\n", + "def lcm(x, y):\n", + " if x > y:\n", + " greater = x\n", + " else:\n", + " greater = y\n", + " while(True):\n", + " if((greater % x == 0) and (greater % y == 0)):\n", + " lcm = greater\n", + " break\n", + " greater += 1\n", + " \n", + " return lcm\n", + "\n", + "lcm=lcm(1/d110,1/d111);\n", + "#d100=d100*lcm;\n", + "#d110=d110*lcm;\n", + "#d111=d111*lcm; #ratio d100:d110:d111\n", + "\n", + "#Result\n", + "print \"ratio d100:d110:d111 is\",d100,d110,d111" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5, Page number 3-21" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "lattice parameter is 3.522 angstrom\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n=1; #order\n", + "theta=38.2*math.pi/180; #glancing angle(radian)\n", + "lamda=1.54; #wavelength(angstrom)\n", + "h=2;\n", + "k=2;\n", + "l=0;\n", + "\n", + "#Calculation\n", + "a=math.sqrt(h**2+k**2+l**2);\n", + "d=n*lamda*a/(2*math.sin(theta)); #lattice parameter(angstrom)\n", + "\n", + "#Result\n", + "print \"lattice parameter is\",round(d,3),\"angstrom\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6, Page number 3-22" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum order of diffraction is 2\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d=1.6; #lattice spacing(angstrom)\n", + "theta=90*math.pi/180; #glancing angle(radian)\n", + "lamda=1.5; #wavelength of X-rays(angstrom)\n", + "\n", + "#Calculation\n", + "n=2*d*math.sin(theta)/lamda; #maximum order of diffraction \n", + "\n", + "#Result\n", + "print \"maximum order of diffraction is\",int(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7, Page number 3-22" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "length is 0.287 *10**-9 m\n", + "volume of unit cell is 0.02366 *10**-27 m**3\n", + "answer for volume given in the book varies due to rounding off errors\n", + "radius of atom is 0.1243 *10**-9 m\n" + ] + } + ], + "source": [ + "#importing modules \n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d=0.203*10**-9; #lattice spacing(m)\n", + "h=1;\n", + "k=1;\n", + "l=0; #miller indices of (110)\n", + "lamda=1.5; #wavelength of X-rays(angstrom)\n", + "\n", + "#Calculation\n", + "a=d*math.sqrt(h**2+k**2+l**2); #length(m)\n", + "V=a**3; #volume of unit cell(m**3)\n", + "r=math.sqrt(3)*a/4; #radius of atom(m)\n", + "\n", + "#Result\n", + "print \"length is\",round(a*10**9,3),\"*10**-9 m\"\n", + "print \"volume of unit cell is\",round(V*10**27,5),\"*10**-27 m**3\"\n", + "print \"answer for volume given in the book varies due to rounding off errors\"\n", + "print \"radius of atom is\",round(r*10**9,4),\"*10**-9 m\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8, Page number 3-22" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum order of diffraction is 2\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d=1.6; #lattice spacing(angstrom)\n", + "theta=90*math.pi/180; #glancing angle(radian)\n", + "lamda=1.5; #wavelength of X-rays(angstrom)\n", + "\n", + "#Calculation\n", + "n=2*d*math.sin(theta)/lamda; #maximum order of diffraction \n", + "\n", + "#Result\n", + "print \"maximum order of diffraction is\",int(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9, Page number 3-23" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "glancing angle is 20 degrees 42 minutes 17 seconds\n", + "answer in the book is wrong\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a=0.26; #lattice spacing(nm)\n", + "lamda=0.065; #wavelength of X-rays(nm)\n", + "h=1;\n", + "k=1;\n", + "l=0;\n", + "n=2;\n", + "\n", + "#Calculation\n", + "d=a/math.sqrt(h**2+k**2+l**2); \n", + "sintheta=n*lamda/(2*d);\n", + "theta=math.asin(sintheta)*180/math.pi; #glancing angle(degrees)\n", + "thetad=int(theta); #glancing angle(degrees) \n", + "thetam=(theta-thetad)*60; #glancing angle(minutes)\n", + "thetas=60*(thetam-int(thetam)); #glancing angle(seconds)\n", + "\n", + "#Result\n", + "print \"glancing angle is\",thetad,\"degrees\",int(thetam),\"minutes\",int(thetas),\"seconds\"\n", + "print \"answer in the book is wrong\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10, Page number 3-23" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cube edge of unit cell is 4.055 angstrom\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n=1; #order\n", + "theta=19.2*math.pi/180; #glancing angle(radian)\n", + "lamda=1.54; #wavelength(angstrom)\n", + "h=1;\n", + "k=1;\n", + "l=1;\n", + "\n", + "#Calculation\n", + "d=n*lamda/(2*math.sin(theta)); #lattice parameter(angstrom)\n", + "a=d*math.sqrt(h**2+k**2+l**2); #cube edge of unit cell(angstrom)\n", + "\n", + "#Result\n", + "print \"cube edge of unit cell is\",round(a,3),\"angstrom\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11, Page number 3-24" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "lattice parameter is 3.522 angstrom\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n=1; #order\n", + "theta=38.2*math.pi/180; #glancing angle(radian)\n", + "lamda=1.54; #wavelength(angstrom)\n", + "h=2;\n", + "k=2;\n", + "l=0;\n", + "\n", + "#Calculation\n", + "d=n*lamda/(2*math.sin(theta)); #lattice parameter(angstrom)\n", + "a=d*math.sqrt(h**2+k**2+l**2); #lattice parameter(angstrom)\n", + "\n", + "#Result\n", + "print \"lattice parameter is\",round(a,3),\"angstrom\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 12, Page number 3-24" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "interplanar spacing for (111) is 0.208 nm\n", + "interplanar spacing for (321) is 0.096 nm\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a=0.36; #cube edge of unit cell(nm)\n", + "h1=1;\n", + "k1=1;\n", + "l1=1;\n", + "h2=3;\n", + "k2=2;\n", + "l2=1;\n", + "\n", + "#Calculation\n", + "d1=a/math.sqrt(h1**2+k1**2+l1**2); #interplanar spacing for (111)(nm)\n", + "d2=a/math.sqrt(h2**2+k2**2+l2**2); #interplanar spacing for (321)(nm)\n", + "\n", + "#Result\n", + "print \"interplanar spacing for (111) is\",round(d1,3),\"nm\"\n", + "print \"interplanar spacing for (321) is\",round(d2,3),\"nm\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 13, Page number 3-25" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "lattice spacing is 3.575 angstrom\n", + "glancing angle for 3rd order is 16 degrees 27.1 minutes\n", + "answer for minutes given 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", + "theta=(5+(25/60))*math.pi/180; #glancing angle(radian)\n", + "lamda=0.675; #wavelength of X-rays(angstrom)\n", + "n1=1; #order\n", + "n3=3; #order \n", + "\n", + "#Calculation\n", + "d=n1*lamda/(2*math.sin(theta)); #lattice spacing(angstrom)\n", + "d=round(d,3);\n", + "theta3=math.asin(n3*lamda/(2*d))*180/math.pi; #glancing angle for 3rd order(degrees)\n", + "theta3d=int(theta3); #glancing angle for 3rd order(degrees) \n", + "theta3m=(theta3-theta3d)*60; #glancing angle for 3rd order(minutes)\n", + "\n", + "#Result\n", + "print \"lattice spacing is\",d,\"angstrom\"\n", + "print \"glancing angle for 3rd order is\",theta3d,\"degrees\",round(theta3m,1),\"minutes\"\n", + "print \"answer for minutes given in the book varies due to rounding off errors\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 14, Page number 3-25" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "glancing angle is 23 degrees 56 minutes 31 seconds\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", + "d=3.04; #interplanar spacing(angstrom) \n", + "lamda=0.79; #wavelength of X-rays(angstrom)\n", + "n=3;\n", + "\n", + "#Calculation\n", + "sintheta=n*lamda/(2*d);\n", + "thetad=math.asin(sintheta)*180/math.pi; #glancing angle(degrees)\n", + "thetam=(theta-int(theta))*60; #glancing angle(minutes)\n", + "thetas=60*(thetam-int(thetam)); #glancing angle(seconds)\n", + "\n", + "#Result\n", + "print \"glancing angle is\",int(round(thetad)),\"degrees\",int(thetam),\"minutes\",int(thetas),\"seconds\"\n", + "print \"answer given in the book is wrong\"" + ] + } + ], + "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 +} |