1: Bonding in Solids

Example number 1.1, Page number 10

In [13]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;      #charge(coulomb)
epsilon0=8.85*10**-12;   
r0=23.6*10**-10;    #equilibrium distance(m)
I=5.14;    #ionisation energy(eV)
EA=3.65;   #electron affinity(eV)
N=8;     #born constant

#Calculation
x=1-(1/N);
V=(e**2)*x/(4*e*math.pi*epsilon0*r0);   #potential(V)
E=I-EA;        #net energy(eV)
BE=round(V*10,2)-E;        #bond energy(eV)

#Result
print "bond energy is",BE,"eV"
bond energy is 3.84 eV

Example number 1.2, Page number 10

In [14]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;      #charge(coulomb)
epsilon0=8.85*10**-12;   
r0=0.41*10**-3;    #equilibrium distance(m)
A=1.76;      #madelung constant
n=0.5;       #repulsive exponent value

#Calculation
beta=72*math.pi*epsilon0*r0**4/(A*e**2*(n-1));    #compressibility

#Result
print "compressibility is",round(beta/10**14,4),"*10**14"
print "answer in the book is wrong"
compressibility is -25.1095 *10**14
answer in the book is wrong

Example number 1.3, Page number 10

In [4]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;      #charge(coulomb)
epsilon0=8.85*10**-12;   
r0=0.314*10**-9;    #equilibrium distance(m)
A=1.75;      #madelung constant
N=5.77;     #born constant
I=4.1;    #ionisation energy(eV)
EA=3.6;   #electron affinity(eV)

#Calculation
V=-A*e**2*((N-1)/N)/(4*e*math.pi*epsilon0*r0);
PE=round(V,2)/2;    #potential energy per ion(eV)
x=(I-EA)/2;
CE=PE+x;   #cohesive energy(eV)

#Result
print "cohesive energy is",CE,"eV"
cohesive energy is -3.065 eV

Example number 1.4, Page number 11

In [6]:
#importing modules
import math
from __future__ import division

#Variable declaration    
N=6.02*10**26;           #Avagadro Number
e=1.6*10**-19;      #charge(coulomb)
epsilon0=8.85*10**-12;   
r0=0.324*10**-9;    #equilibrium distance(m)
A=1.75;      #madelung constant
n=8.5;       #repulsive exponent value

#Calculations
U0=(A*e/(4*math.pi*epsilon0*r0))*(1-1//n);     
U=round(U0,1)*N*e;      #binding energy(J/kmol)

#Result
print "binding energy is",round(U/10**6),"*10**3 kJ/kmol"
print "answer in the book is wrong"
binding energy is 665.0 *10**3 kJ/kmol
answer in the book is wrong

Example number 1.5, Page number 11

In [8]:
#importing modules
import math
from __future__ import division

#Variable declaration
rCs=0.165*10**-9;    #radius(m)
rCl=0.181*10**-9;    #radius(m)
MCs=133;    #atomic weight
MCl=35.5;   #atomic weight
N=6.02*10**26;           #Avagadro Number

#Calculation
a=2*(rCl+rCs)/math.sqrt(3);     #lattice constant(m)
M=(MCs+MCl)/N;       #mass of 1 molecule(kg)
V=a**3;    #volume of unit cell(m**3)
rho=M/V;    #density of CsCl(kg/m**3)

#Result
print "density of CsClis",round(rho/10**3,3),"*10**3 kg/m**3"
print "answer in the book varies due to rounding off errors"
density of CsClis 4.389 *10**3 kg/m**3
answer in the book varies due to rounding off errors

Example number 1.6, Page number 12

In [9]:
#importing modules
import math
from __future__ import division

#Variable declaration
dm=1.98*(10**-29)*(1/3);      #dipole moment
l=0.92*10**-10;        #bond length(m)

#Calculation
ec=dm/l;        #effective charge(coulomb)

#Result
print "effective charge is",round(ec*10**19,2),"*10**-19 coulomb"
print "answer given in the book is wrong"
effective charge is 0.72 *10**-19 coulomb
answer given in the book is wrong

Example number 1.7, Page number 12

In [10]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;      #charge(coulomb)
epsilon0=8.85*10**-12;   
r=0.5*10**-9;    #distance(m)
I=5;    #ionisation energy(eV)
E=4;   #electron affinity(eV)

#Calculation
C=e**2/(4*math.pi*epsilon0*e*r);    #coulomb energy(eV)
Er=I-E-C;    #energy required(eV)

#Result
print "energy required is",round(Er,1),"eV"
energy required is -1.9 eV

Example number 1.9, Page number 13

In [7]:
#importing modules
import math
from __future__ import division
from sympy import Symbol
import numpy as np

#Variable declaration
n=1;
m=9;
a=Symbol('a')
b=Symbol('b')
r=Symbol('r')

#Calculation
y=(-a/(r**n))+(b/(r**m));
y=diff(y,r);
y=diff(y,r);

#Result
print y
-2*a/r**3 + 90*b/r**11
In [12]:
#since the values of a,b,r are declared as symbols in the above cell, it cannot be solved there. hence it is being solved here with the given variable declaration
#importing modules
import math
from __future__ import division

#Variable declaration
a=7.68*10**-29;     
r0=2.5*10**-10;    #radius(m)

#Calculation
b=a*(r0**8)/9;
y=((-2*a*r0**8)+(90*b))/r0**11;    
E=y/r0;           #young's modulus(Pa)

#Result
print "young's modulus is",int(E/10**9),"GPa"
young's modulus is 157 GPa