{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 2: Crystallography and Crystal Structures" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 2, Page number 2.21" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "spacing between (100) plane is 5.64 angstrom\n", "spacing between (110) plane is 3.99 angstrom\n", "answer for spacing between (110) plane given in the book is wrong\n", "spacing between (111) plane is 3.26 angstrom\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "a=5.64; #lattice constant(angstrom)\n", "h1=1;\n", "k1=0;\n", "l1=0;\n", "h2=1;\n", "k2=1;\n", "l2=0;\n", "h3=1;\n", "k3=1;\n", "l3=1;\n", "\n", "#Calculation\n", "d100=a/math.sqrt(h1**2+k1**2+l1**2); #spacing between (100) plane\n", "d110=a/math.sqrt(h2**2+k2**2+l2**2); #spacing between (110) plane\n", "d111=a/math.sqrt(h3**2+k3**2+l3**2); #spacing between (111) plane\n", "\n", "#Result\n", "print \"spacing between (100) plane is\",d100,\"angstrom\"\n", "print \"spacing between (110) plane is\",round(d110,2),\"angstrom\"\n", "print \"answer for spacing between (110) plane given in the book is wrong\"\n", "print \"spacing between (111) plane is\",round(d111,2),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 3, Page number 2.22" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of atoms in (100) is 1.535 *10**13 atoms/mm**2\n", "number of atoms in (110) is 1.085 *10**13 atoms/mm**2\n", "number of atoms in (111) is 1.772 *10**13 atoms/mm**2\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", "a=3.61*10**-7; #lattice constant(mm)\n", "\n", "#Calculation\n", "A100=a**2; #surface area(mm**2)\n", "n=1+(4*(1/4));\n", "N1=n/A100; #number of atoms in (100)(per mm**2)\n", "A110=math.sqrt(2)*a**2; #surface area(mm**2)\n", "N2=n/A110; #number of atoms in (110)(per mm**2)\n", "A111=math.sqrt(3)*a**2/2; #surface area(mm**2)\n", "N3=n/A111; #number of atoms in (110)(per mm**2)\n", "\n", "#Result\n", "print \"number of atoms in (100) is\",round(N1/10**13,3),\"*10**13 atoms/mm**2\"\n", "print \"number of atoms in (110) is\",round(N2/10**13,3),\"*10**13 atoms/mm**2\"\n", "print \"number of atoms in (111) is\",round(N3/10**13,3),\"*10**13 atoms/mm**2\"\n", "print \"answers given in the book vary due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 4, Page number 2.23" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wavelength of x rays is 1.552 angstrom\n", "answer varies due to rounding off errors\n", "energy of x rays is 8 *10**3 eV\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n=4; \n", "A=107.87; #atomic weight\n", "rho=10500; #density(kg/m**3)\n", "N=6.02*10**26; #number of molecules\n", "theta=19+(12/60); #angle(degrees)\n", "h=1;\n", "k=1;\n", "l=1;\n", "h0=6.625*10**-34; #planck constant\n", "c=3*10**8; #velocity of light(m/s)\n", "e=1.6*10**-19; #charge(coulomb)\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "a=(n*A/(N*rho))**(1/3);\n", "d=a*10**10/math.sqrt(h**2+k**2+l**2); \n", "lamda=2*d*math.sin(theta); #wavelength of x rays(angstrom)\n", "E=h0*c/(lamda*10**-10*e); #energy of x rays(eV)\n", "\n", "#Result\n", "print \"wavelength of x rays is\",round(lamda,3),\"angstrom\"\n", "print \"answer varies due to rounding off errors\"\n", "print \"energy of x rays is\",int(E/10**3),\"*10**3 eV\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 5, Page number 2.23" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "density is 2332 kg/m**3\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", "n=8; #number of atoms\n", "r=2.351*10**-10; #bond length(angstrom)\n", "A=28.09; #Atomic wt. of NaCl\n", "N=6.02*10**26 #Avagadro number\n", "\n", "#Calculation\n", "a=4*r/math.sqrt(3); \n", "rho=n*A/(N*a**3); #density(kg/m**3)\n", "\n", "#Result\n", "print \"density is\",int(rho),\"kg/m**3\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 6, Page number 2.24" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "radius of largest sphere is 0.1547 r\n", "maximum radius of sphere is 0.414 r\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "from sympy import Symbol\n", "\n", "#Variable declaration\n", "r=Symbol('r')\n", "\n", "#Calculation\n", "a1=4*r/math.sqrt(3);\n", "R1=(a1/2)-r; #radius of largest sphere\n", "a2=4*r/math.sqrt(2);\n", "R2=(a2/2)-r; #maximum radius of sphere\n", "\n", "#Result\n", "print \"radius of largest sphere is\",round(R1/r,4),\"r\"\n", "print \"maximum radius of sphere is\",round(R2/r,3),\"r\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example number 7, Page number 2.25" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "percent volume change is 0.5 %\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "r1=1.258*10**-10; #radius(m)\n", "r2=1.292*10**-10; #radius(m)\n", "\n", "#Calculation\n", "a_bcc=4*r1/math.sqrt(3);\n", "v=a_bcc**3;\n", "V1=v/2;\n", "a_fcc=2*math.sqrt(2)*r2;\n", "V2=a_fcc**3/4;\n", "V=(V1-V2)*100/V1; #percent volume change is\",V,\"%\"\n", "\n", "#Result\n", "print \"percent volume change is\",round(V,1),\"%\"" ] } ], "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 }