#importing modules
import math
from __future__ import division
#Variable declaration
h1=1;
k1=0;
l1=0; #for (100) plane
h2=1;
k2=1;
l2=1; #for (111) plane
a=1; #assume
#Calculation
d100=a/math.sqrt(h1**2+k1**2+l1**2); #spacing between (100) plane
d111=a/math.sqrt(h2**2+k2**2+l2**2); #spacing between (111) plane
#Result
print "spacing between (100) plane is",d100,"a"
print "spacing between (111) plane is",round(d111,3),"a"
#importing modules
import math
from __future__ import division
#Variable declaration
r=0.152; #atomic radius(nm)
h1=2;
k1=3;
l1=1; #for plane (231)
h2=1;
k2=1;
l2=0; #for plane (110)
#Calculation
a=4*r/math.sqrt(2);
d231=a/math.sqrt(h1**2+k1**2+l1**2); #spacing between (231) plane(nm)
d110=a/math.sqrt(h2**2+k2**2+l2**2); #spacing between (110) plane(nm)
#Result
print "spacing between (231) plane is",round(d231,4),"nm"
print "spacing between (110) plane is",d110,"nm"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=0;
l=2; #for plane (102)
a=0.424; #edge(nm)
#Calculation
d102=a/math.sqrt(h**2+k**2+l**2); #interplanar spacing(nm)
#Result
print "interplanar spacing is",round(d102,4),"nm"
#importing modules
import math
from __future__ import division
#Variable declaration
a=3.2*10**-10; #edge(m)
rho=11.36*10**3; #density(kg/m**3)
N=6.023*10**26; #avagadro number(per k mol)
M=207.2; #atomic weight
#Calculation
n=a**3*rho*N/M; #number of atoms per unit cell
#Result
print "number of atoms per unit cell is",int(n)
#importing modules
import math
from __future__ import division
#Variable declaration
d=2.51*10**-10; #spacing between planes(m)
theta=9; #glancing angle(degrees)
#Calculation
theta=theta*math.pi/180; #glancing angle(radian)
lamda=2*d*math.sin(theta); #wavelength(m)
a=lamda/2.51;
theta2=math.asin(a); #glancing angle for 2nd order diffraction(radian)
theta2=2*theta*180/math.pi; #glancing angle for 2nd order diffraction(degrees)
#Result
print "wavelength of X ray is",round(lamda*10**10,4),"angstrom"
print "glancing angle for 2nd order diffraction is",theta2,"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
a=5*10**-10; #lattice parameter(m)
n=1;
lamda=1.4*10**-10; #wavelength(m)
h=1;
k=1;
l=1; #for plane (111)
#Calculation
d111=a/math.sqrt(h**2+k**2+l**2);
b=n*lamda/(2*d111);
theta111=math.asin(b); #incident angle(radian)
theta111=theta111*180/math.pi; #incident angle(degrees)
#Result
print "incident angle is",int(theta111),"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
H=6.626*10**-34; #planck's constant(Js)
m=9.1*10**-31; #mass of electron(kg)
e=1.6*10**-19; #conversion factor from J to eV
V=120; #potential(V)
theta=22; #angle(degrees)
theta=theta*math.pi/180; #angle(radian)
h=1;
k=1;
l=1; #for plane (111)
#Calculation
x=(2*m*e*V)**(1/2);
lamda=H/x; #wavelength(m)
d111=lamda*10**10/(2*math.sin(theta));
a=math.sqrt(h**2+k**2+l**2)*d111; #lattice parameter(angstrom)
#Result
print "lattice parameter is",round(a,2),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
e=1.6*10**-19; #conversion factor from J to eV
epsilon0=8.85*10**-12;
r0=0.32*10**-9; #distance(m)
#Calculation
V=-e/(4*math.pi*epsilon0*r0); #potential energy(eV)
#Result
print "potential energy is",round(V,3),"eV"
print "answer varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
e=1.6*10**-19; #conversion factor from J to eV
epsilon0=8.85*10**-12;
r0=0.31*10**-9; #distance(m)
n=9;
alpha=1.748;
Ie=5; #ionisation energy(eV)
ea=-3.61; #electron affinity(eV)
#Calculation
a=1-(1/n);
Vr0=-alpha*e**2*a/(4*math.pi*epsilon0*r0); #energy(J)
Vr0=Vr0/e; #cohesive energy(eV)
Vr0i=Vr0/2; #contribution per ion to cohesive energy(eV)
Ee=Ie+ea; #electron transfer energy(eV)
Vr0i2=Ee/2; #contribution per ion to cohesive energy(eV)
CE=Vr0i+Vr0i2; #cohesive energy per atom(eV)
#Result
print "cohesive energy per atom is",round(CE,4),"eV"
print "answer varies due to rounding off errors"