diff options
Diffstat (limited to 'Modern_Physics_By_G.Aruldas/Chapter10.ipynb')
-rwxr-xr-x | Modern_Physics_By_G.Aruldas/Chapter10.ipynb | 434 |
1 files changed, 434 insertions, 0 deletions
diff --git a/Modern_Physics_By_G.Aruldas/Chapter10.ipynb b/Modern_Physics_By_G.Aruldas/Chapter10.ipynb new file mode 100755 index 00000000..d4104917 --- /dev/null +++ b/Modern_Physics_By_G.Aruldas/Chapter10.ipynb @@ -0,0 +1,434 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:de4c224e2d9bad9e810e24de23e4ee016e17fa0ec4d45805b35802744f1cd3b7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "10: Crystal structure and bonding"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.5, Page number 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "h1=1;\n",
+ "k1=0;\n",
+ "l1=0; #for (100) plane\n",
+ "h2=1;\n",
+ "k2=1;\n",
+ "l2=1; #for (111) plane\n",
+ "a=1; #assume\n",
+ "\n",
+ "#Calculation\n",
+ "d100=a/math.sqrt(h1**2+k1**2+l1**2); #spacing between (100) plane\n",
+ "d111=a/math.sqrt(h2**2+k2**2+l2**2); #spacing between (111) plane\n",
+ "\n",
+ "#Result\n",
+ "print \"spacing between (100) plane is\",d100,\"a\"\n",
+ "print \"spacing between (111) plane is\",round(d111,3),\"a\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "spacing between (100) plane is 1.0 a\n",
+ "spacing between (111) plane is 0.577 a\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.6, Page number 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "r=0.152; #atomic radius(nm)\n",
+ "h1=2;\n",
+ "k1=3;\n",
+ "l1=1; #for plane (231)\n",
+ "h2=1;\n",
+ "k2=1;\n",
+ "l2=0; #for plane (110)\n",
+ "\n",
+ "#Calculation\n",
+ "a=4*r/math.sqrt(2);\n",
+ "d231=a/math.sqrt(h1**2+k1**2+l1**2); #spacing between (231) plane(nm) \n",
+ "d110=a/math.sqrt(h2**2+k2**2+l2**2); #spacing between (110) plane(nm)\n",
+ "\n",
+ "#Result\n",
+ "print \"spacing between (231) plane is\",round(d231,4),\"nm\"\n",
+ "print \"spacing between (110) plane is\",d110,\"nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "spacing between (231) plane is 0.1149 nm\n",
+ "spacing between (110) plane is 0.304 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.7, Page number 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "h=1;\n",
+ "k=0;\n",
+ "l=2; #for plane (102)\n",
+ "a=0.424; #edge(nm)\n",
+ "\n",
+ "#Calculation\n",
+ "d102=a/math.sqrt(h**2+k**2+l**2); #interplanar spacing(nm)\n",
+ "\n",
+ "#Result\n",
+ "print \"interplanar spacing is\",round(d102,4),\"nm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "interplanar spacing is 0.1896 nm\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.8, Page number 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "a=3.2*10**-10; #edge(m)\n",
+ "rho=11.36*10**3; #density(kg/m**3)\n",
+ "N=6.023*10**26; #avagadro number(per k mol)\n",
+ "M=207.2; #atomic weight\n",
+ "\n",
+ "#Calculation\n",
+ "n=a**3*rho*N/M; #number of atoms per unit cell\n",
+ "\n",
+ "#Result\n",
+ "print \"number of atoms per unit cell is\",int(n)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "number of atoms per unit cell is 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.9, Page number 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "d=2.51*10**-10; #spacing between planes(m)\n",
+ "theta=9; #glancing angle(degrees)\n",
+ "\n",
+ "#Calculation\n",
+ "theta=theta*math.pi/180; #glancing angle(radian)\n",
+ "lamda=2*d*math.sin(theta); #wavelength(m)\n",
+ "a=lamda/2.51;\n",
+ "theta2=math.asin(a); #glancing angle for 2nd order diffraction(radian)\n",
+ "theta2=2*theta*180/math.pi; #glancing angle for 2nd order diffraction(degrees)\n",
+ "\n",
+ "#Result\n",
+ "print \"wavelength of X ray is\",round(lamda*10**10,4),\"angstrom\"\n",
+ "print \"glancing angle for 2nd order diffraction is\",theta2,\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "wavelength of X ray is 0.7853 angstrom\n",
+ "glancing angle for 2nd order diffraction is 18.0 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.10, Page number 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "a=5*10**-10; #lattice parameter(m)\n",
+ "n=1;\n",
+ "lamda=1.4*10**-10; #wavelength(m)\n",
+ "h=1;\n",
+ "k=1;\n",
+ "l=1; #for plane (111)\n",
+ "\n",
+ "#Calculation\n",
+ "d111=a/math.sqrt(h**2+k**2+l**2);\n",
+ "b=n*lamda/(2*d111);\n",
+ "theta111=math.asin(b); #incident angle(radian)\n",
+ "theta111=theta111*180/math.pi; #incident angle(degrees)\n",
+ "\n",
+ "#Result\n",
+ "print \"incident angle is\",int(theta111),\"degrees\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "incident angle is 14 degrees\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.11, Page number 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "H=6.626*10**-34; #planck's constant(Js)\n",
+ "m=9.1*10**-31; #mass of electron(kg)\n",
+ "e=1.6*10**-19; #conversion factor from J to eV\n",
+ "V=120; #potential(V)\n",
+ "theta=22; #angle(degrees)\n",
+ "theta=theta*math.pi/180; #angle(radian)\n",
+ "h=1;\n",
+ "k=1;\n",
+ "l=1; #for plane (111)\n",
+ "\n",
+ "#Calculation\n",
+ "x=(2*m*e*V)**(1/2); \n",
+ "lamda=H/x; #wavelength(m)\n",
+ "d111=lamda*10**10/(2*math.sin(theta));\n",
+ "a=math.sqrt(h**2+k**2+l**2)*d111; #lattice parameter(angstrom)\n",
+ "\n",
+ "#Result\n",
+ "print \"lattice parameter is\",round(a,2),\"angstrom\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "lattice parameter is 2.59 angstrom\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.12, Page number 224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "e=1.6*10**-19; #conversion factor from J to eV\n",
+ "epsilon0=8.85*10**-12;\n",
+ "r0=0.32*10**-9; #distance(m)\n",
+ "\n",
+ "#Calculation\n",
+ "V=-e/(4*math.pi*epsilon0*r0); #potential energy(eV)\n",
+ "\n",
+ "#Result\n",
+ "print \"potential energy is\",round(V,3),\"eV\"\n",
+ "print \"answer varies due to rounding off errors\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "potential energy is -4.496 eV\n",
+ "answer varies due to rounding off errors\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example number 10.13, Page number 224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#importing modules\n",
+ "import math\n",
+ "from __future__ import division\n",
+ "\n",
+ "#Variable declaration\n",
+ "e=1.6*10**-19; #conversion factor from J to eV\n",
+ "epsilon0=8.85*10**-12;\n",
+ "r0=0.31*10**-9; #distance(m)\n",
+ "n=9;\n",
+ "alpha=1.748; \n",
+ "Ie=5; #ionisation energy(eV)\n",
+ "ea=-3.61; #electron affinity(eV)\n",
+ "\n",
+ "#Calculation\n",
+ "a=1-(1/n);\n",
+ "Vr0=-alpha*e**2*a/(4*math.pi*epsilon0*r0); #energy(J)\n",
+ "Vr0=Vr0/e; #cohesive energy(eV)\n",
+ "Vr0i=Vr0/2; #contribution per ion to cohesive energy(eV)\n",
+ "Ee=Ie+ea; #electron transfer energy(eV)\n",
+ "Vr0i2=Ee/2; #contribution per ion to cohesive energy(eV)\n",
+ "CE=Vr0i+Vr0i2; #cohesive energy per atom(eV)\n",
+ "\n",
+ "#Result\n",
+ "print \"cohesive energy per atom is\",round(CE,4),\"eV\"\n",
+ "print \"answer varies due to rounding off errors\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "cohesive energy per atom is -2.9105 eV\n",
+ "answer varies due to rounding off errors\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |