{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#3: Elementary Crystallography" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.2, Page number 3.50" ] }, { "cell_type": "code", "execution_count": 23, "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", "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 \"spacing between (111) plane is\",round(d111,2),\"angstrom\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.3, Page number 3.51" ] }, { "cell_type": "code", "execution_count": 25, "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", "answer varies 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 \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "##Example number 3.4, Page number 3.52" ] }, { "cell_type": "code", "execution_count": 27, "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 3.5, Page number 3.52" ] }, { "cell_type": "code", "execution_count": 28, "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": { "collapsed": true }, "source": [ "##Example number 3.6, Page number 3.53" ] }, { "cell_type": "code", "execution_count": 29, "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 *\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 3.7, Page number 3.54" ] }, { "cell_type": "code", "execution_count": 30, "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),\"%\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.8, Page number 3.55" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of vacancies at 0K is 0 per mol\n", "number of vacancies at 300K is 768.0 per mol\n", "number of vacancies at 900K is 6.53 *10**16 per mol\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "delta_Hf=120*10**3; \n", "T1=0; #temperature(K)\n", "T2=300; #temperature(K)\n", "n1=0;\n", "N=6.022*10**23;\n", "R=8.314;\n", "T3=900; #temperature(K)\n", "\n", "#Calculation\n", "n2=N*math.exp(-delta_Hf/(R*T2)); #number of vacancies at 300K(per mol)\n", "n3=N*math.exp(-delta_Hf/(R*T3)); #number of vacancies at 900K(per mol)\n", "\n", "#Result\n", "print \"number of vacancies at 0K is\",n1,\"per mol\"\n", "print \"number of vacancies at 300K is\",round(n2),\"per mol\"\n", "print \"number of vacancies at 900K is\",round(n3/10**16,2),\"*10**16 per mol\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.9, Page number 3.56" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "interplanar spacing of crystal is 1.824 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", "theta1=6.45; #angle(degrees)\n", "theta2=9.15; #angle(degrees)\n", "theta3=13; #angle(degrees)\n", "lamda=0.58; #wavelength(angstrom)\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", "d=lamda/(2*math.sin(theta2)); #interplanar spacing of crystal(angstrom)\n", "\n", "#Result\n", "print \"interplanar spacing of crystal is \",round(d,3),\"angstrom\"\n", "print \"answer varies due to rounding off errors\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.10, Page number 3.56" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lattice parameter of lead is 4.1 *10**-10 m\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "n=1; #order of diffraction\n", "lamda=1.54*10**-10; #wavelength(m)\n", "theta=32; #angle(degrees)\n", "h=2;\n", "k=2;\n", "l=0;\n", "\n", "#Calculation\n", "theta=theta*math.pi/180; #angle(radian)\n", "d=n*lamda/(2*math.sin(theta));\n", "a=d*math.sqrt(h**2+k**2+l**2); #lattice parameter of lead(m)\n", "\n", "#Result\n", "print \"lattice parameter of lead is\",round(a*10**10,1),\"*10**-10 m\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Example number 3.11, Page number 3.57" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "amount of climb down is 0.36915 *10**-8 cm\n" ] } ], "source": [ "#importing modules\n", "import math\n", "from __future__ import division\n", "\n", "#Variable declaration\n", "delta_Hf=1.6*10**-19; \n", "T=500; #temperature(K)\n", "N=6.026*10**23;\n", "k=1.38*10**-23; #boltzmann constant\n", "mv=5.55; #molar volume(cm**3)\n", "ne=10**6; #number of edge dislocations(per cm**3)\n", "v=5*10**7; #number of vacancies\n", "a=2*10**-8; #lattice parameter(cm)\n", "\n", "#Calculation\n", "n=(N/mv)*math.exp(-delta_Hf/(k*T)); #number of vacancies at 300K(per mol)\n", "ac=n*a/(v*ne); #amount of climb down(cm)\n", "\n", "#Result\n", "print \"amount of climb down is\",round(ac*10**8,5),\"*10**-8 cm\"" ] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 0 }