From db0855dbeb41ecb8a51dde8587d43e5d7e83620f Mon Sep 17 00:00:00 2001 From: Thomas Stephen Lee Date: Fri, 28 Aug 2015 16:53:23 +0530 Subject: add books --- .../Chapter3.ipynb | 503 +++++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100755 Materials_Science_by_Dr._M._Arumugam/Chapter3.ipynb (limited to 'Materials_Science_by_Dr._M._Arumugam/Chapter3.ipynb') diff --git a/Materials_Science_by_Dr._M._Arumugam/Chapter3.ipynb b/Materials_Science_by_Dr._M._Arumugam/Chapter3.ipynb new file mode 100755 index 00000000..0f0c7e9c --- /dev/null +++ b/Materials_Science_by_Dr._M._Arumugam/Chapter3.ipynb @@ -0,0 +1,503 @@ +{ + "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 +} -- cgit