diff options
Diffstat (limited to 'Engineering_Physics/Chapter6_1.ipynb')
-rw-r--r-- | Engineering_Physics/Chapter6_1.ipynb | 435 |
1 files changed, 392 insertions, 43 deletions
diff --git a/Engineering_Physics/Chapter6_1.ipynb b/Engineering_Physics/Chapter6_1.ipynb index 889b1e18..63de6fa0 100644 --- a/Engineering_Physics/Chapter6_1.ipynb +++ b/Engineering_Physics/Chapter6_1.ipynb @@ -1,6 +1,7 @@ { "metadata": { - "name": "Chapter6" + "name": "", + "signature": "sha256:761cc333c24ab0bff41cc769407ab239595ed8749ad7bd7c5ee14e4e733b1604" }, "nbformat": 3, "nbformat_minor": 0, @@ -11,25 +12,50 @@ "cell_type": "heading", "level": 1, "metadata": {}, - "source": "6: Crystallography" + "source": [ + "6: Crystallography" + ] }, { "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.1, Page number 134" + "source": [ + "Example number 6.1, Page number 134" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the lattice parameter\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nM = 23+35.5; #Molecular weight of NaCl(kg/k-mole)\nd = 2.18*10**3; #Density of rock salt(kg/m**3)\nn = 4; #Number of atoms per unit cell for an fcc lattice of NaCl crystal\nN = 6.02*10**26; #Avogadro's No., atoms/k-mol\n\n#Calculation\na = (n*M/(d*N))**(1/3); #Lattice constant of unit cell of NaCl(m)\na = a*10**9; ##Lattice constant of unit cell of NaCl(nm)\na = math.ceil(a*10**3)/10**3; #rounding off the value of a to 3 decimals\n\n#Result\nprint \"Lattice parameter for the NaCl crystal is\",a, \"nm\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "M = 23+35.5; #Molecular weight of NaCl(kg/k-mole)\n", + "d = 2.18*10**3; #Density of rock salt(kg/m**3)\n", + "n = 4; #Number of atoms per unit cell for an fcc lattice of NaCl crystal\n", + "N = 6.02*10**26; #Avogadro's No., atoms/k-mol\n", + "\n", + "#Calculation\n", + "a = (n*M/(d*N))**(1/3); #Lattice constant of unit cell of NaCl(m)\n", + "a = a*10**9; ##Lattice constant of unit cell of NaCl(nm)\n", + "a = math.ceil(a*10**3)/10**3; #rounding off the value of a to 3 decimals\n", + "\n", + "#Result\n", + "print \"Lattice parameter for the NaCl crystal is\",a, \"nm\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "Lattice parameter for the NaCl crystal is 0.563 nm\n" + "text": [ + "Lattice parameter for the NaCl crystal is 0.563 nm\n" + ] } ], "prompt_number": 1 @@ -38,19 +64,39 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.2, Page number 134" + "source": [ + "Example number 6.2, Page number 134" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the miller indices of the plane\n\n#importing modules\nimport math\n\n#Variable declaration\nm = 3;\nn = 2; \np = 1; #Coefficients of intercepts along three axes\n\n#Calculation\n#reciprocals of the intercepts are 1/m, 1/n, 1/p i.e 1/3, 1/2, 1\n#multiplying by LCM the reciprocals become 2, 3, 6\n\n#Result\nprint \"The required miller indices are : (2, 3, 6)\"\n", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "\n", + "#Variable declaration\n", + "m = 3;\n", + "n = 2; \n", + "p = 1; #Coefficients of intercepts along three axes\n", + "\n", + "#Calculation\n", + "#reciprocals of the intercepts are 1/m, 1/n, 1/p i.e 1/3, 1/2, 1\n", + "#multiplying by LCM the reciprocals become 2, 3, 6\n", + "\n", + "#Result\n", + "print \"The required miller indices are : (2, 3, 6)\"\n" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The required miller indices are : (2, 3, 6)\n" + "text": [ + "The required miller indices are : (2, 3, 6)\n" + ] } ], "prompt_number": 2 @@ -59,19 +105,38 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.3, Page number 135" + "source": [ + "Example number 6.3, Page number 135" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the miller indices of the plane\n\n#importing modules\nimport math\n\n#Variable declaration\nm = 2; #Coefficient of intercept along x-axis\n#n = infinite Coefficient of intercept along y-axis\np = 3/2; #Coefficient of intercept along z-axis\n\n#Calculation\n#reciprocals of the intercepts are 1/m, 1/n, 1/p i.e 1/2, 0, 2/3\n#multiplying by LCM the reciprocals become 3, 0, 4\n\n#Result\nprint \"The required miller indices are : (3, 0, 4)\"\n", + "input": [ + " \n", + "import math\n", + "\n", + "#Variable declaration\n", + "m = 2; #Coefficient of intercept along x-axis\n", + "#n = infinite Coefficient of intercept along y-axis\n", + "p = 3/2; #Coefficient of intercept along z-axis\n", + "\n", + "#Calculation\n", + "#reciprocals of the intercepts are 1/m, 1/n, 1/p i.e 1/2, 0, 2/3\n", + "#multiplying by LCM the reciprocals become 3, 0, 4\n", + "\n", + "#Result\n", + "print \"The required miller indices are : (3, 0, 4)\"\n" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The required miller indices are : (3, 0, 4)\n" + "text": [ + "The required miller indices are : (3, 0, 4)\n" + ] } ], "prompt_number": 3 @@ -80,25 +145,59 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.4, Sketching not possible" + "source": [ + "Example number 6.4, Sketching not possible" + ] }, { "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.5, Page number 136" + "source": [ + "Example number 6.5, Page number 136" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the interplanar spacing between planes\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\n#For (110) planes\nh1 = 1;\nk1 = 1;\nl1 = 0; #Miller Indices for planes in a cubic crystal\na1 = 0.43; #Interatomic spacing(nm)\n#For (212) planes\nh2 = 2; \nk2 = 1;\nl2 = 2; #Miller Indices for planes in a cubic crystal\na2 = 0.43; #Interatomic spacing(nm)\n\n#Calculation\nd1 = a1/(h1**2+k1**2+l1**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\nd1 = math.ceil(d1*10**4)/10**4; #rounding off the value of d1 to 4 decimals\nd2 = a2/(h2**2+k2**2+l2**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\nd2 = math.ceil(d2*10**4)/10**4; #rounding off the value of d2 to 4 decimals\n\n#Result\nprint \"The interplanar spacing between consecutive (110) planes is\",d1, \"nm\";\nprint \"The interplanar spacing between consecutive (212) planes is\",d2, \"nm\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "#For (110) planes\n", + "h1 = 1;\n", + "k1 = 1;\n", + "l1 = 0; #Miller Indices for planes in a cubic crystal\n", + "a1 = 0.43; #Interatomic spacing(nm)\n", + "#For (212) planes\n", + "h2 = 2; \n", + "k2 = 1;\n", + "l2 = 2; #Miller Indices for planes in a cubic crystal\n", + "a2 = 0.43; #Interatomic spacing(nm)\n", + "\n", + "#Calculation\n", + "d1 = a1/(h1**2+k1**2+l1**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\n", + "d1 = math.ceil(d1*10**4)/10**4; #rounding off the value of d1 to 4 decimals\n", + "d2 = a2/(h2**2+k2**2+l2**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\n", + "d2 = math.ceil(d2*10**4)/10**4; #rounding off the value of d2 to 4 decimals\n", + "\n", + "#Result\n", + "print \"The interplanar spacing between consecutive (110) planes is\",d1, \"nm\";\n", + "print \"The interplanar spacing between consecutive (212) planes is\",d2, \"nm\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The interplanar spacing between consecutive (110) planes is 0.3041 nm\nThe interplanar spacing between consecutive (212) planes is 0.1434 nm\n" + "text": [ + "The interplanar spacing between consecutive (110) planes is 0.3041 nm\n", + "The interplanar spacing between consecutive (212) planes is 0.1434 nm\n" + ] } ], "prompt_number": 4 @@ -107,19 +206,42 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.6, Page number 136" + "source": [ + "Example number 6.6, Page number 136" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the interplanar spacing between planes\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nh = 2;\nk = 3;\nl = 1; #Miller Indices for planes in a cubic crystal\nr = 0.175; #Atomic radius of fcc lattice(nm)\n\n#Calculation\na = 2*math.sqrt(2)*r; #Interatomic spacing of fcc lattice(nm)\nd = a/(h**2+k**2+l**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\nd = math.ceil(d*10**4)/10**4; #rounding off the value of d to 4 decimals\n\n#Result\nprint \"The interplanar spacing between consecutive (231) planes is\",d, \"nm\"\n", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "h = 2;\n", + "k = 3;\n", + "l = 1; #Miller Indices for planes in a cubic crystal\n", + "r = 0.175; #Atomic radius of fcc lattice(nm)\n", + "\n", + "#Calculation\n", + "a = 2*math.sqrt(2)*r; #Interatomic spacing of fcc lattice(nm)\n", + "d = a/(h**2+k**2+l**2)**(1/2); #The interplanar spacing for cubic crystals(nm)\n", + "d = math.ceil(d*10**4)/10**4; #rounding off the value of d to 4 decimals\n", + "\n", + "#Result\n", + "print \"The interplanar spacing between consecutive (231) planes is\",d, \"nm\"\n" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The interplanar spacing between consecutive (231) planes is 0.1323 nm\n" + "text": [ + "The interplanar spacing between consecutive (231) planes is 0.1323 nm\n" + ] } ], "prompt_number": 5 @@ -128,19 +250,47 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.7, Page number 136" + "source": [ + "Example number 6.7, Page number 136" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the angle of diffraction\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nlamda = 1.44; #Wavelength of X-rays(A)\nd = 2.8; #Interplanar spacing of rocksalt crystal(A)\nn1 = 1; #For 1st Order diffraction\nn2 = 2; #For 2nd Order diffraction\n\n#Calculation\ntheta1 = math.asin(n1*lamda/(2*d)); #Angle of diffraction(radians)\ntheeta1 = theta1*57.2957795; #Angle of diffraction(degrees)\ntheeta1 = math.ceil(theeta1*10**2)/10**2; #rounding off the value of theeta1 to 2 decimals\ntheta2 = math.asin(n2*lamda/(2*d)); #Angle of diffraction(radians)\ntheeta2 = theta2*57.2957795; #Angle of diffraction(degrees)\ntheeta2 = math.ceil(theeta2*10**2)/10**2; #rounding off the value of theeta2 to 2 decimals\n\n#Result\nprint \"The angle of diffraction for first order maxima is\",theeta1, \"degrees\"\nprint \"The angle of diffraction for second order maxima is\",theeta2, \"degrees\"\n", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "lamda = 1.44; #Wavelength of X-rays(A)\n", + "d = 2.8; #Interplanar spacing of rocksalt crystal(A)\n", + "n1 = 1; #For 1st Order diffraction\n", + "n2 = 2; #For 2nd Order diffraction\n", + "\n", + "#Calculation\n", + "theta1 = math.asin(n1*lamda/(2*d)); #Angle of diffraction(radians)\n", + "theeta1 = theta1*57.2957795; #Angle of diffraction(degrees)\n", + "theeta1 = math.ceil(theeta1*10**2)/10**2; #rounding off the value of theeta1 to 2 decimals\n", + "theta2 = math.asin(n2*lamda/(2*d)); #Angle of diffraction(radians)\n", + "theeta2 = theta2*57.2957795; #Angle of diffraction(degrees)\n", + "theeta2 = math.ceil(theeta2*10**2)/10**2; #rounding off the value of theeta2 to 2 decimals\n", + "\n", + "#Result\n", + "print \"The angle of diffraction for first order maxima is\",theeta1, \"degrees\"\n", + "print \"The angle of diffraction for second order maxima is\",theeta2, \"degrees\"\n" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The angle of diffraction for first order maxima is 14.91 degrees\nThe angle of diffraction for second order maxima is 30.95 degrees\n" + "text": [ + "The angle of diffraction for first order maxima is 14.91 degrees\n", + "The angle of diffraction for second order maxima is 30.95 degrees\n" + ] } ], "prompt_number": 6 @@ -149,19 +299,42 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.8, Page number 136" + "source": [ + "Example number 6.8, Page number 136" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the percentage of actual volume occupied by the spheres\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\na = 1; #For convenience, assume interatomic spacing to be unity(m)\n\n#Calculation\nN = 8*(1/8) + 6*(1/2); #total number of spheres in a unit cell\nr = a/(2*math.sqrt(2)); #The atomic radius(m)\nV_atom = N*(4/3)*math.pi*r**3; #Volume of atoms(m**3)\nV_uc = a**3; #Volume of unit cell(m**3)\nPV = (V_atom/V_uc)*100; #percentage of actual volume\nPV = math.ceil(PV*10)/10; #rounding off the value of PV to 1 decimal\n\n#Result\nprint \"The percentage of actual volume occupied by the spheres in fcc structure is\",PV, \"percent\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a = 1; #For convenience, assume interatomic spacing to be unity(m)\n", + "\n", + "#Calculation\n", + "N = 8*(1/8) + 6*(1/2); #total number of spheres in a unit cell\n", + "r = a/(2*math.sqrt(2)); #The atomic radius(m)\n", + "V_atom = N*(4/3)*math.pi*r**3; #Volume of atoms(m**3)\n", + "V_uc = a**3; #Volume of unit cell(m**3)\n", + "PV = (V_atom/V_uc)*100; #percentage of actual volume\n", + "PV = math.ceil(PV*10)/10; #rounding off the value of PV to 1 decimal\n", + "\n", + "#Result\n", + "print \"The percentage of actual volume occupied by the spheres in fcc structure is\",PV, \"percent\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The percentage of actual volume occupied by the spheres in fcc structure is 74.1 percent\n" + "text": [ + "The percentage of actual volume occupied by the spheres in fcc structure is 74.1 percent\n" + ] } ], "prompt_number": 7 @@ -170,19 +343,56 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.9, Page number 137" + "source": [ + "Example number 6.9, Page number 137" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the interplanar spacing, wavelength and angle\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\n#For (221) planes\nh = 2; \nk = 2; \nl = 1; #Miller Indices for planes in a cubic crystal\na = 2.68; #Interatomic spacing(A)\nn1 = 1; #First Order of diffraction \nn2 = 2; #Second order of diffraction\ntheta1 = 8.5; #Glancing angle at which Bragg's reflection occurs(degrees)\n\n#Calculation\ntheta1 = theta1*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\na = a*10**-10; #Interatomic spacing(m)\nd = a/(h**2+k**2+l**2)**(1/2); #The interplanar spacing for cubic crystal(m)\nlamda = 2*d*math.sin(theta1)/n1; #Bragg's Law for wavelength of X-rays(m)\nlamda_A = lamda*10**10; #Bragg's Law for wavelength of X-rays(A)\nlamda_A = math.ceil(lamda_A*10**4)/10**4; #rounding off the value of lamda_A to 4 decimals\ntheta2 = math.asin(n2*lamda/(2*d)); #Angle at which second order Bragg reflection occurs(radians)\ntheta2 = theta2*57.2957795; #Angle at which second order Bragg reflection occurs(degrees)\ntheta2 = math.ceil(theta2*10)/10; #rounding off the value of theta2 to 1 decimal\n\n#Result\nprint \"The interplanar spacing between consecutive (221) planes is\",d, \"m\"\nprint \"The wavelength of X-rays is\",lamda_A, \"angstrom\"\nprint \"The angle at which second order Bragg reflection occurs is\",theta2, \"degrees\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "#For (221) planes\n", + "h = 2; \n", + "k = 2; \n", + "l = 1; #Miller Indices for planes in a cubic crystal\n", + "a = 2.68; #Interatomic spacing(A)\n", + "n1 = 1; #First Order of diffraction \n", + "n2 = 2; #Second order of diffraction\n", + "theta1 = 8.5; #Glancing angle at which Bragg's reflection occurs(degrees)\n", + "\n", + "#Calculation\n", + "theta1 = theta1*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\n", + "a = a*10**-10; #Interatomic spacing(m)\n", + "d = a/(h**2+k**2+l**2)**(1/2); #The interplanar spacing for cubic crystal(m)\n", + "lamda = 2*d*math.sin(theta1)/n1; #Bragg's Law for wavelength of X-rays(m)\n", + "lamda_A = lamda*10**10; #Bragg's Law for wavelength of X-rays(A)\n", + "lamda_A = math.ceil(lamda_A*10**4)/10**4; #rounding off the value of lamda_A to 4 decimals\n", + "theta2 = math.asin(n2*lamda/(2*d)); #Angle at which second order Bragg reflection occurs(radians)\n", + "theta2 = theta2*57.2957795; #Angle at which second order Bragg reflection occurs(degrees)\n", + "theta2 = math.ceil(theta2*10)/10; #rounding off the value of theta2 to 1 decimal\n", + "\n", + "#Result\n", + "print \"The interplanar spacing between consecutive (221) planes is\",d, \"m\"\n", + "print \"The wavelength of X-rays is\",lamda_A, \"angstrom\"\n", + "print \"The angle at which second order Bragg reflection occurs is\",theta2, \"degrees\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The interplanar spacing between consecutive (221) planes is 8.93333333333e-11 m\nThe wavelength of X-rays is 0.2641 angstrom\nThe angle at which second order Bragg reflection occurs is 17.2 degrees\n" + "text": [ + "The interplanar spacing between consecutive (221) planes is 8.93333333333e-11 m\n", + "The wavelength of X-rays is 0.2641 angstrom\n", + "The angle at which second order Bragg reflection occurs is 17.2 degrees\n" + ] } ], "prompt_number": 9 @@ -191,19 +401,45 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.10, Page number 137" + "source": [ + "Example number 6.10, Page number 137" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the lattice parameter for cubic crystal\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nh = 1; \nk = 1;\nl = 0; #Miller Indices for planes in a cubic crystal\nn = 1; #First Order of diffraction \ntheta = 25; #Glancing angle at which Bragg's reflection occurs(degrees)\nlamda = 0.7; #Wavelength of X-rays(A)\n\n#Calculation\ntheta = theta*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\nd = n*lamda/(2*math.sin(theta)); #Interplanar spacing of cubic crystal(A)\na = d*(h**2+k**2+l**2)**(1/2); #The lattice parameter for cubic crystal(A)\na = math.ceil(a*10**3)/10**3; #rounding off the value of a to 3 decimals\n\n#Result\nprint \"The lattice parameter for cubic crystal is\",a, \"angstrom\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "h = 1; \n", + "k = 1;\n", + "l = 0; #Miller Indices for planes in a cubic crystal\n", + "n = 1; #First Order of diffraction \n", + "theta = 25; #Glancing angle at which Bragg's reflection occurs(degrees)\n", + "lamda = 0.7; #Wavelength of X-rays(A)\n", + "\n", + "#Calculation\n", + "theta = theta*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\n", + "d = n*lamda/(2*math.sin(theta)); #Interplanar spacing of cubic crystal(A)\n", + "a = d*(h**2+k**2+l**2)**(1/2); #The lattice parameter for cubic crystal(A)\n", + "a = math.ceil(a*10**3)/10**3; #rounding off the value of a to 3 decimals\n", + "\n", + "#Result\n", + "print \"The lattice parameter for cubic crystal is\",a, \"angstrom\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The lattice parameter for cubic crystal is 1.172 angstrom\n" + "text": [ + "The lattice parameter for cubic crystal is 1.172 angstrom\n" + ] } ], "prompt_number": 10 @@ -212,19 +448,46 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.11, Page number 138" + "source": [ + "Example number 6.11, Page number 138" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the wavelength of X-rays and maximum possible order of diffraction\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nd = 0.31; #Interplanar spacing(nm)\nn = 1; #First Order of diffraction \ntheta = 9.25; #Glancing angle at which Bragg's reflection occurs(degrees)\ntheta_max = 90; #Maximum possible angle at which reflection can occur(degrees)\ntheta_max = theta_max*0.0174532925; #Maximum possible angle at which reflection can occur(radians)\n\n#Calculation\ntheta = theta*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\nlamda = 2*d*math.sin(theta)/n; #Wavelength of X-rays(nm) (Bragg's Law)\nlamda = math.ceil(lamda*10**5)/10**5; #rounding off the value of lamda to 5 decimals\nn = 2*d*math.sin(theta_max)/lamda; #Maximum possible order of diffraction\n\n#Result\nprint \"The wavelength of X-rays is\",lamda, \"nm\"\nprint \"The Maximum possible order of diffraction is\",round(n)", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d = 0.31; #Interplanar spacing(nm)\n", + "n = 1; #First Order of diffraction \n", + "theta = 9.25; #Glancing angle at which Bragg's reflection occurs(degrees)\n", + "theta_max = 90; #Maximum possible angle at which reflection can occur(degrees)\n", + "theta_max = theta_max*0.0174532925; #Maximum possible angle at which reflection can occur(radians)\n", + "\n", + "#Calculation\n", + "theta = theta*0.0174532925; #Glancing angle at which Bragg's reflection occurs(radians)\n", + "lamda = 2*d*math.sin(theta)/n; #Wavelength of X-rays(nm) (Bragg's Law)\n", + "lamda = math.ceil(lamda*10**5)/10**5; #rounding off the value of lamda to 5 decimals\n", + "n = 2*d*math.sin(theta_max)/lamda; #Maximum possible order of diffraction\n", + "\n", + "#Result\n", + "print \"The wavelength of X-rays is\",lamda, \"nm\"\n", + "print \"The Maximum possible order of diffraction is\",round(n)" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The wavelength of X-rays is 0.09967 nm\nThe Maximum possible order of diffraction is 6.0\n" + "text": [ + "The wavelength of X-rays is 0.09967 nm\n", + "The Maximum possible order of diffraction is 6.0\n" + ] } ], "prompt_number": 11 @@ -233,19 +496,51 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.12, Page number 138" + "source": [ + "Example number 6.12, Page number 138" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the Bragg reflection angle\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\n#For (110) planes\nh1 = 1;\nk1 = 1;\nl1 = 0; #Miller indices for (110) planes\nd_110 = 0.195; #Interplanar spacing between (110) planes(nm)\n#For (210) planes\nh2 = 2;\nk2 = 1; \nl2 = 0; #Miller indices for (110) planes\nn = 2; #Second Order of diffraction \nlamda = 0.071; #Wavelength of X-rays(nm)\n\n#Calculation\na = d_110*(h1**2 + k1**2 + l1**2)**(1/2); #Lattice parameter for bcc crystal(nm)\nd_210 = a/(h2**2 + k2**2 + l2**2)**(1/2); #Interplanar spacing between (210) planes(nm)\ntheta = math.asin(n*lamda/(2*d_210)); #Bragg reflection angle for the second order diffraction(radians)\ntheeta = theta*57.2957795; #Bragg reflection angle for the second order diffraction(degrees)\ntheeta = math.ceil(theeta*10**3)/10**3; #rounding off the value of theeta to 3 decimals\n\n#Result\nprint \"Bragg reflection angle for the second order diffraction is\",theeta, \"degrees\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "#For (110) planes\n", + "h1 = 1;\n", + "k1 = 1;\n", + "l1 = 0; #Miller indices for (110) planes\n", + "d_110 = 0.195; #Interplanar spacing between (110) planes(nm)\n", + "#For (210) planes\n", + "h2 = 2;\n", + "k2 = 1; \n", + "l2 = 0; #Miller indices for (110) planes\n", + "n = 2; #Second Order of diffraction \n", + "lamda = 0.071; #Wavelength of X-rays(nm)\n", + "\n", + "#Calculation\n", + "a = d_110*(h1**2 + k1**2 + l1**2)**(1/2); #Lattice parameter for bcc crystal(nm)\n", + "d_210 = a/(h2**2 + k2**2 + l2**2)**(1/2); #Interplanar spacing between (210) planes(nm)\n", + "theta = math.asin(n*lamda/(2*d_210)); #Bragg reflection angle for the second order diffraction(radians)\n", + "theeta = theta*57.2957795; #Bragg reflection angle for the second order diffraction(degrees)\n", + "theeta = math.ceil(theeta*10**3)/10**3; #rounding off the value of theeta to 3 decimals\n", + "\n", + "#Result\n", + "print \"Bragg reflection angle for the second order diffraction is\",theeta, \"degrees\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "Bragg reflection angle for the second order diffraction is 35.149 degrees\n" + "text": [ + "Bragg reflection angle for the second order diffraction is 35.149 degrees\n" + ] } ], "prompt_number": 12 @@ -254,19 +549,44 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.13, Page number 138" + "source": [ + "Example number 6.13, Page number 138" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the distance between nearest neighbours\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nd = 2182; #Density of rock salt(kg/m**3)\nn = 4; #Number of atoms per unit cell for an fcc lattice of NaCl crystal\nN = 6.02*10**26; #Avogadro's number(atoms/k-mol)\n\n#Calculation\nM = 23+35.5; #Molecular weight of NaCl(kg/k-mole)\n#V = a^3 = M*n/(N*d)\na = (n*M/(d*N))**(1/3); #Lattice constant of unit cell of NaCl(m)\nD = a/2; #distance between nearest neighbours(m)\nD = D*10**9; #distance between nearest neighbours(nm)\nD = math.ceil(D*10**4)/10**4; #rounding off the value of D to 4 decimals\n\n#Result\nprint \"The distance between nearest neighbours of NaCl structure is\",D, \"nm\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "d = 2182; #Density of rock salt(kg/m**3)\n", + "n = 4; #Number of atoms per unit cell for an fcc lattice of NaCl crystal\n", + "N = 6.02*10**26; #Avogadro's number(atoms/k-mol)\n", + "\n", + "#Calculation\n", + "M = 23+35.5; #Molecular weight of NaCl(kg/k-mole)\n", + "#V = a^3 = M*n/(N*d)\n", + "a = (n*M/(d*N))**(1/3); #Lattice constant of unit cell of NaCl(m)\n", + "D = a/2; #distance between nearest neighbours(m)\n", + "D = D*10**9; #distance between nearest neighbours(nm)\n", + "D = math.ceil(D*10**4)/10**4; #rounding off the value of D to 4 decimals\n", + "\n", + "#Result\n", + "print \"The distance between nearest neighbours of NaCl structure is\",D, \"nm\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The distance between nearest neighbours of NaCl structure is 0.2814 nm\n" + "text": [ + "The distance between nearest neighbours of NaCl structure is 0.2814 nm\n" + ] } ], "prompt_number": 13 @@ -275,19 +595,48 @@ "cell_type": "heading", "level": 2, "metadata": {}, - "source": "Example number 6.14, Page number 139" + "source": [ + "Example number 6.14, Page number 139" + ] }, { "cell_type": "code", "collapsed": false, - "input": "#To calculate the percentage change in volume\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nr1 = 1.258; #Atomic radius of bcc structure of iron(A)\nN1 = 2; #Number of atoms per unit cell in bcc structure\n#For fcc structure\nr2 = 1.292; #Atomic radius of fcc structure of iron(A)\nN2 = 4; #Number of atoms per unit cell in fcc structure\n\n#Calculation\na1 = 4*r1/math.sqrt(3); #Lattice parameter of bcc structure of iron(A)\nV1 = a1**3; #Volume of bcc unit cell(A)\nV_atom_bcc = V1/N1; #Volume occupied by one atom(A)\na2 = 2*math.sqrt(2)*r2; #Lattice parameter of fcc structure of iron(A)\nV2 = a2**3; #Volume of fcc unit cell(A)\nV_atom_fcc = V2/N2; #Volume occupied by one atom(A)\ndelta_V = (V_atom_bcc-V_atom_fcc)/V_atom_bcc*100; #Percentage change in volume due to structural change of iron\ndelta_V = math.ceil(delta_V*10**3)/10**3; #rounding off the value of delta_V to 3 decimals\n\n#Result\nprint \"The percentage change in volume of iron is\",delta_V, \"percent\"", + "input": [ + " \n", + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "r1 = 1.258; #Atomic radius of bcc structure of iron(A)\n", + "N1 = 2; #Number of atoms per unit cell in bcc structure\n", + "#For fcc structure\n", + "r2 = 1.292; #Atomic radius of fcc structure of iron(A)\n", + "N2 = 4; #Number of atoms per unit cell in fcc structure\n", + "\n", + "#Calculation\n", + "a1 = 4*r1/math.sqrt(3); #Lattice parameter of bcc structure of iron(A)\n", + "V1 = a1**3; #Volume of bcc unit cell(A)\n", + "V_atom_bcc = V1/N1; #Volume occupied by one atom(A)\n", + "a2 = 2*math.sqrt(2)*r2; #Lattice parameter of fcc structure of iron(A)\n", + "V2 = a2**3; #Volume of fcc unit cell(A)\n", + "V_atom_fcc = V2/N2; #Volume occupied by one atom(A)\n", + "delta_V = (V_atom_bcc-V_atom_fcc)/V_atom_bcc*100; #Percentage change in volume due to structural change of iron\n", + "delta_V = math.ceil(delta_V*10**3)/10**3; #rounding off the value of delta_V to 3 decimals\n", + "\n", + "#Result\n", + "print \"The percentage change in volume of iron is\",delta_V, \"percent\"" + ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", - "text": "The percentage change in volume of iron is 0.494 percent\n" + "text": [ + "The percentage change in volume of iron is 0.494 percent\n" + ] } ], "prompt_number": 15 @@ -295,7 +644,7 @@ { "cell_type": "code", "collapsed": false, - "input": "", + "input": [], "language": "python", "metadata": {}, "outputs": [] |