summaryrefslogtreecommitdiff
path: root/Applied_Physics_for_Engineers/Chapter_16.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Applied_Physics_for_Engineers/Chapter_16.ipynb')
-rwxr-xr-xApplied_Physics_for_Engineers/Chapter_16.ipynb431
1 files changed, 431 insertions, 0 deletions
diff --git a/Applied_Physics_for_Engineers/Chapter_16.ipynb b/Applied_Physics_for_Engineers/Chapter_16.ipynb
new file mode 100755
index 00000000..43737f91
--- /dev/null
+++ b/Applied_Physics_for_Engineers/Chapter_16.ipynb
@@ -0,0 +1,431 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 16: Crystal Physics"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.1, Page 820"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "p = 1; q = 2; r = 3; # Coefficients of intercepts along three axes\n",
+ "\n",
+ "#Calculations\n",
+ "p_inv = 1./p; # Reciprocate the first coefficient\n",
+ "q_inv = 1./q; # Reciprocate the second coefficient\n",
+ "r_inv = 1./r; # Reciprocate the third coefficient\n",
+ "mul_fact = p*q*r; # Find l.c.m. of m,n and p\n",
+ "m1 = p_inv*mul_fact; # Clear the first fraction\n",
+ "m2 = q_inv*mul_fact; # Clear the second fraction\n",
+ "m3 = r_inv*mul_fact; # Clear the third fraction\n",
+ "\n",
+ "#Result\n",
+ "print \"The required miller indices are : (%d %d %d) \"%(m1,m2,m3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required miller indices are : (6 3 2) \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.2, Page 820"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "p = 2; q = 3; r = -4; # Coefficients of intercepts along three axes\n",
+ "\n",
+ "#Calculations\n",
+ "p_inv = 1./p; # Reciprocate the first coefficient\n",
+ "q_inv = 1./q; # Reciprocate the second coefficient\n",
+ "r_inv = 1./r; # Reciprocate the third coefficient\n",
+ "mul_fact = p*q*abs(r); # Find l.c.m. of m,n and p\n",
+ "m1 = p_inv*mul_fact; # Clear the first fraction\n",
+ "m2 = q_inv*mul_fact; # Clear the second fraction\n",
+ "m3 = r_inv*mul_fact; # Clear the third fraction\n",
+ "\n",
+ "#Result\n",
+ "print \"The miller indices of laticce plane are : (%d %d %d) \"%(m1,m2,m3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The miller indices of laticce plane are : (12 8 -6) \n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.3, Page 821"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import numpy\n",
+ "\n",
+ "#Variable declaration\n",
+ "p = 3; q = 4; r = numpy.inf; # Coefficients of intercepts along three axes\n",
+ "\n",
+ "#Calculations\n",
+ "p_inv = 1./p; # Reciprocate the first coefficient\n",
+ "q_inv = 1./q; # Reciprocate the second coefficient\n",
+ "r_inv = 1./r; # Reciprocate the third coefficient\n",
+ "mul_fact = p*q; # Find l.c.m. of m,n and p\n",
+ "m1 = p_inv*mul_fact; # Clear the first fraction\n",
+ "m2 = q_inv*mul_fact; # Clear the second fraction\n",
+ "m3 = r_inv*mul_fact; # Clear the third fraction\n",
+ "\n",
+ "#Result\n",
+ "print \"The miller indices of the given planes are : (%d %d %d) \"%(m1,m2,m3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The miller indices of the given planes are : (4 3 0) \n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4, Page 822 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "p = 1.2; # First coefficient of intercept along X-axis, angstrom\n",
+ "a = 1.2\n",
+ "b = 1.8\n",
+ "c = 2.0; # Lattice parameters along three axes, angstrom\n",
+ "h = 2.\n",
+ "k = 3.\n",
+ "l = 1.; # Miller indices of lattice plane\n",
+ "\n",
+ "#Calculations\n",
+ "# As p:q:r = a/h:b/k:c/l, solving for q and r\n",
+ "q = p*(b/k)/(a/h); # Second coefficient of intercept along X-axis, angstrom \n",
+ "r = p*(c/l)/(a/h); # Third coefficient of intercept along X-axis, angstrom \n",
+ "\n",
+ "#Result\n",
+ "print \"The lengths of the intercepts on Y and Z axes are %3.1f angstrom and %3.1f angstrom respectively\"%(q, r)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lengths of the intercepts on Y and Z axes are 1.2 angstrom and 4.0 angstrom respectively\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.5, Page 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "M = 58.5; # Molecular weight of NaCl, g-mole\n",
+ "rho = 2.198e+03; # Density of Nacl, kg per metre cube\n",
+ "n = 4; # No. of atoms per unit cell for an fcc lattice of NaCl crystal\n",
+ "NA = 6.023e+26; # Avogadro's No., atoms/k-mol\n",
+ "\n",
+ "#Calculations\n",
+ "# Volume of the unit cell is given by\n",
+ "# a^3 = M*n/(N*d)\n",
+ "# Solving for a\n",
+ "a = (n*M/(rho*NA))**(1./3); # Lattice constant of unit cell of NaCl\n",
+ "\n",
+ "#Result\n",
+ "print \"Lattice constant for the NaCl crystal = %4.2f angstrom\"%(a/1e-010)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Lattice constant for the NaCl crystal = 5.61 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.6, Page 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "M = 119; # Molecular weight of KBr, g-mole\n",
+ "rho = 2.7; # Density of KBr, g per cm-cube\n",
+ "n = 4; # No. of atoms per unit cell for an fcc lattice of KBr crystal\n",
+ "NA = 6.023e+23; # Avogadro's No., atoms/mol\n",
+ "\n",
+ "#Calculations\n",
+ "# Volume of the unit cell is given by\n",
+ "# a^3 = M*n/(N*d)\n",
+ "# Solving for a\n",
+ "a = (n*M/(rho*NA))**(1./3); # Lattice constant of unit cell of KBr\n",
+ "\n",
+ "#Result\n",
+ "print \"Lattice constant for the KBr crystal = %4.2f angstrom\"%(a/1e-008)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Lattice constant for the KBr crystal = 6.64 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.7, Page 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "M = 63.5; # Molecular weight of Cu, g-mole\n",
+ "rho = 8.96; # Density of Cu, g per cm-cube\n",
+ "n = 4; # No. of atoms per unit cell for an fcc lattice of Cu \n",
+ "NA = 6.023e+23; # Avogadro's No., atoms/mol\n",
+ "\n",
+ "#Calculations\n",
+ "# Volume of the unit cell is given by\n",
+ "# a^3 = M*n/(N*d)\n",
+ "# Solving for a\n",
+ "a = (n*M/(rho*NA))**(1./3); # Lattice constant of unit cell of Cu\n",
+ "d = a/sqrt(2); # Distance between the two nearest Cu atoms, angstrom \n",
+ "\n",
+ "#Results\n",
+ "print \"Lattice constant for the Cu crystal = %4.2f angstrom\"%(a/1e-008)\n",
+ "print \"The distance between the two nearest Cu atoms = %4.2f angstrom\"%(d/1e-008)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Lattice constant for the Cu crystal = 3.61 angstrom\n",
+ "The distance between the two nearest Cu atoms = 2.55 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.8, Page 824"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "a = 1; # For simplicity assume lattice parameter of cubic crystal to be unity, unit\n",
+ "# For (011) planes\n",
+ "h = 0; k = 1; l = 1; # Miller Indices for planes in a cubic crystal\n",
+ "d_011 = a/(h**2+k**2+l**2)**(1./2); # The interplanar spacing for cubic crystals, m\n",
+ "print \"The interplanar spacing between consecutive (011) planes = a/sqrt(%d)\"%(1/d_011**2)\n",
+ "\n",
+ "# For (101) planes\n",
+ "h = 1; k = 0; l = 1; # Miller Indices for planes in a cubic crystal\n",
+ "d_101 = a/(h**2+k**2+l**2)**(1./2); # The interplanar spacing for cubic crystals, m\n",
+ "print \"The interplanar spacing between consecutive (101) planes = a/sqrt(%d)\"%(1/d_101**2)\n",
+ "\n",
+ "# For (112) planes\n",
+ "h = 1; k = 1; l = 2; # Miller Indices for planes in a cubic crystal\n",
+ "d_112 = a/(h**2+k**2+l**2)**(1./2); # The interplanar spacing for cubic crystals, m\n",
+ "print \"The interplanar spacing between consecutive (112) planes = a/sqrt(%d)\"%(1/d_112**2) #incorrect answer in textbook\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The interplanar spacing between consecutive (011) planes = a/sqrt(2)\n",
+ "The interplanar spacing between consecutive (101) planes = a/sqrt(2)\n",
+ "The interplanar spacing between consecutive (112) planes = a/sqrt(5)\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.9, Page 824"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "a = 4.2e-010; # Lattice parameter of cubic crystal, m\n",
+ "h = 3; k = 2; l = 1; # Miller Indices for planes in a cubic crystal\n",
+ "\n",
+ "#Calculations\n",
+ "d_321 = a/(h**2+k**2+l**2)**(1./2); # The interplanar spacing for cubic crystals, m\n",
+ "\n",
+ "#Result\n",
+ "print \"The interplanar spacing between consecutive (321) planes = %4.2f angstrom\"%(d_321/1e-010)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The interplanar spacing between consecutive (321) planes = 1.12 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.10, Page 825"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import *\n",
+ "\n",
+ "#Variable declaration\n",
+ "a = 2.5\n",
+ "b = 2.5\n",
+ "c = 1.8; # Lattice parameter of tetragonal crystal, angstrom\n",
+ "h = 1\n",
+ "k = 1\n",
+ "l = 1; # Miller Indices for planes in a tetragonal crystal\n",
+ "\n",
+ "#Calculations\n",
+ "d_hkl = 1/sqrt((h/a)**2+(k/b)**2+(l/c)**2); # The interplanar spacing for tetragonal crystals, m\n",
+ "\n",
+ "#Result\n",
+ "print \"The interplanar spacing between consecutive (111) planes = %4.2f angstrom\"%d_hkl\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The interplanar spacing between consecutive (111) planes = 1.26 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file