#importing modules
import math
from __future__ import division
#Variable declaration
n=8; #number of atoms per unit cell
a=5.6*10**-10; #lattice constant(m)
M=710.59; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
#Calculation
rho=n*M/(a**3*N); #density(kg/m**3)
#Result
print "density is",round(rho/10**4,2),"*10**4 kg/m**3"
#importing modules
import math
from __future__ import division
#Variable declaration
n=2; #number of atoms per unit cell
M=55.85; #atomic weight(amu)
N=6.02*10**23; #avagadro number(kg/m**3)
rho=7860; #density(kg/m**3)
#Calculation
a=(n*M/(rho*N))**(1/3); #lattice constant(m)
#Result
print "lattice constant is",round(a*10**8,2),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
n=2; #number of atoms per unit cell
M=6.94; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
rho=530; #density(kg/m**3)
#Calculation
a=(n*M/(rho*N))**(1/3); #lattice constant(m)
#Result
print "lattice constant is",round(a*10**10,2),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
M=55.85; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
rho=7870; #density(kg/m**3)
a=2.9*10**-10; #lattice constant(m)
#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
n=8; #number of atoms per unit cell
a=5.6*10**-10; #lattice constant(m)
M=710.59; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
#Calculation
rho=n*M/(a**3*N); #density(kg/m**3)
#Result
print "density is",int(rho),"kg/m**3"
#importing modules
import math
from __future__ import division
#Variable declaration
n=2; #number of atoms per unit cell
M=55.85; #atomic weight(amu)
N=6.02*10**23; #avagadro number(kg/m**3)
rho=7860; #density(kg/m**3)
#Calculation
a=(n*M/(rho*N))**(1/3); #lattice constant(m)
#Result
print "lattice constant is",round(a*10**8,4),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
n=2; #number of atoms per unit cell
M=6.94; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
rho=530; #density(kg/m**3)
#Calculation
a=(n*M/(rho*N))**(1/3); #lattice constant(m)
#Result
print "lattice constant is",round(a*10**10,3),"angstrom"
print "answer given in the book varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
M=55.85; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
rho=7870; #density(kg/m**3)
a=2.9*10**-10; #lattice constant(m)
#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
r=0.1278*10**-9; #atomic radius(m)
n=4; #number of atoms per unit cell
M=63.5; #atomic weight(amu)
N=6.02*10**26; #avagadro number(kg/mol)
#Calculation
a=math.sqrt(8)*r; #lattice constant(m)
rho=n*M/(a**3*N); #density(kg/m**3)
#Result
print "density is",round(rho,2),"kg/m**3"
print "answer given in the book is wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
r1=1.258*10**-10; #radius(m)
r2=1.292*10**-10; #radius(m)
n1=2; #number of atoms per unit cell
n2=4; #number of atoms per unit cell
#Calculation
a_bcc=4*r1/math.sqrt(3);
v=a_bcc**3;
V1=v/n1;
a_fcc=2*math.sqrt(2)*r2;
V2=a_fcc**3/n2;
V=(V1-V2)*100/V2; #percent volume change is",V,"%"
#Result
print "percent volume change is",round(V,1),"%"
#importing modules
import math
from __future__ import division
#Variable declaration
w=23+35.5; #molecular weight of NaCl(gm/mole)
N=6.023*10**23; #avagadro number(gm/mol)
rho=2.18; #density of NaCl(gm/cm**3)
n=2; #number of atoms
#Calculation
m=w/N; #mass of NaCl(gm)
nm=rho/m; #number of molecules(mole/cm**3)
N_NaCl=n*nm; #number of atoms per unit volume(atoms/cm**3)
a=(1/N_NaCl)**(1/3); #distance between adjacent atoms(cm)
#Result
print "number of atoms per unit volume is",round(N_NaCl/10**22,2),"*10**22 atoms/cm**3"
print "distance between adjacent atoms is",round(a*10**8,2),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
lamda=0.071*10**-9; #wavelength(m)
h=1;
k=1;
l=0; #miller indices
a=0.28*10**-9; #lattice constant(m)
n=2; #order
#Calculation
d=a/math.sqrt(h**2+k**2+l**2);
theta=math.asin(n*lamda/(2*d))*180/math.pi; #glancing angle(degrees)
#Result
print "glancing angle is",round(theta,2),"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
lamda=3*10**-10; #wavelength(m)
h=1;
k=0;
l=0; #miller indices
theta=40*math.pi/180; #glancing angle(radian)
n=1; #order
#Calculation
d=n*lamda/(2*math.sin(theta)); #space of reflecting plane(m)
a=d*math.sqrt(h**2+k**2+l**2);
V=a**3; #volume of unit cell(m**3)
#Result
print "space of reflecting plane is",round(d*10**10,4),"angstrom"
print "volume of unit cell is",round(V*10**29,2),"*10**-29 m**3"
#importing modules
import math
from __future__ import division
#Variable declaration
lamda=0.82; #wavelength(m)
theta=75.86*math.pi/180; #glancing angle(radian)
n=1; #order
a=3; #lattice constant(angstrom)
#Calculation
d=n*lamda/(2*math.sin(theta)); #space of reflecting plane(angstrom)
#here the value of d comes to 0.422 angstrom which is not equal to the value of a. hence the problem cannot be solved further
#Result
print "space of reflecting plane is",round(d,2),"angstrom"
print "answer given in the book is wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
a=5.63*10**-10; #lattice constant(m)
h=1;
k=1;
l=1; #miller indices
theta=27.5*math.pi/180; #glancing angle(radian)
n=1; #order
h=6.625*10**-34; #planck's constant
c=3*10**10; #velocity of light(m/sec)
e=1.6*10**-19; #charge of electron(c)
#Calculation
d111=a/math.sqrt(h**2+k**2+l**2);
lamda=2*d111*math.sin(theta)/n; #wavelength of X-ray beam(m)
lamda=int(lamda*10**10); #wavelength of X-ray beam(angstrom)
E=h*c/(lamda*10**-10*e); #energy of X-ray beam(eV)
#Result
print "wavelength of X-ray beam is",lamda,"angstrom"
print "energy of X-ray beam is",round(E/10**5,2),"*10**5 eV"
print "answer for energy given in the book is wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
h=2;
k=0;
l=2; #miller indices
theta=34*math.pi/180; #glancing angle(radian)
n=1; #order
lamda=1.5*10**-10; #wavelength of X-ray beam(m)
#Calculation
d=n*lamda/(2*math.sin(theta));
a=d*math.sqrt(h**2+k**2+l**2); #lattice constant(m)
#Result
print "lattice constant is",round(a*10**10,4),"angstrom"
print "answer given in the book varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
h1=1;
k1=0;
l1=0; #miller indices
h2=1;
k2=1;
l2=0; #miller indices
h3=1;
k3=1;
l3=1; #miller indices
a=1; #assume
#Calculation
Dr1=(h1**2+k1**2+l1**2);
Dr2=(h2**2+k2**2+l2**2);
Dr3=(h3**2+k3**2+l3**2);
d100=a/math.sqrt(Dr1);
d110=a/math.sqrt(Dr2);
d111=a/math.sqrt(Dr3);
def lcm(x, y):
if x > y:
z = x
else:
z = y
while(True):
if((z % x == 0) and (z % y == 0)):
lcm = z
break
z += 1
return lcm
lcm=lcm(Dr2,Dr3);
r=math.sqrt(lcm);
r_d100=d100*r;
r_d110=d110*r;
r_d111=d111*r;
#Result
print "ratio of d100:d110:d111 is math.sqrt(",int(round(r_d100**2)),") : math.sqrt(",int(round(r_d110**2)),") : math.sqrt(",int(round(r_d111**2)),")"
#importing modules
import math
from __future__ import division
#Variable declaration
h=2;
k=2;
l=0; #miller indices
a=450; #length(nm)
#Calculation
d220=a/math.sqrt(h**2+k**2+l**2); #interplanar spacing(nm)
#Result
print "interplanar spacing is",round(d220,1),"nm"
print "answer given in the book is wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
r=1.278*10**-10; #radius(m)
#Calculation
a=4*r/math.sqrt(2);
d111=a/math.sqrt(h**2+k**2+l**2); #interplanar spacing(m)
#Result
print "interplanar spacing is",round(d111*10**10,2),"*10**-10 m"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
n=4;
A=107.87; #atomic weight(amu)
N=10500*6.052*10**26; #density(kg/m**3)
theta=(19+(12/60))*math.pi/180; #angle(radian)
r=1.278*10**-10; #radius(m)
hp=6.625*10**-34; #plancks constant(Js)
c=3*10**8; #velocity of light(m/sec)
e=1.6*10**-19; #charge of electron(coulomb)
#Calculation
a=(n*A/N)**(1/3); #lattice constant(m)
d=a/math.sqrt(h**2+k**2+l**2); #interplanar spacing(m)
lamda=2*d*math.sin(theta); #wavelength of X-rays(m)
E=hp*c/(e*lamda); #energy of X-rays(eV)
#Result
print "wavelength of X-rays is",round(lamda*10**10,3),"angstrom"
print "answer in the book varies due to rounding off errors"
print "energy of X-rays is",int(E/10**3),"*10**3 eV"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=0; #miller indices
d100=0.28; #lattice constant(nm)
n=2;
lamda=0.071; #wavelength(nm)
#Calculation
d110=d100/math.sqrt(h**2+k**2+l**2); #interplanar spacing(m)
theta=math.asin(n*lamda/(2*d110))*180/math.pi; #glancing angle(degrees)
#Result
print "glancing angle is",int(theta),"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=0; #miller indices
a=0.38; #lattice constant(nm)
#Calculation
d=a/math.sqrt(h**2+k**2+l**2); #distance between the planes(nm)
#Result
print "distance between the planes is",round(d,2),"nm"
#importing modules
import math
from __future__ import division
#Variable declaration
h=2;
k=3;
l=1; #miller indices
a=0.121;
b=0.184;
c=0.197; #parameters(nm)
#Calculation
OB=2*b/3; #intercept along y axis(nm)
OC=2*c; #intercept along z axis(nm)
#Result
print "intercept along y axis is",round(OB,3),"nm"
print "intercept along y axis is",OC,"nm"
#importing modules
import math
from __future__ import division
#Variable declaration
h1=1;
k1=2;
l1=3; #miller indices
h2=2;
k2=4;
l2=6; #miller indices
a=0.82;
b=0.94;
c=0.75; #parameters(nm)
#Calculation
d123=(((h1/a)**2)+((k1/b)**2)+((l1/c)**2))**(-1/2); #interplanar distance between (123) planes
d246=d123/2; #interplanar distance between (246) planes
#Result
print "interplanar distance between (123) planes is",round(d123,3),"nm"
print "interplanar distance between (246) planes is",round(d246,4),"nm"
print "answers given in the book are wrong"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
a=0.2; #lattice parameter(nm)
theta=(87/2)*math.pi/180; #angle(radian)
#Calculation
d=a/math.sqrt(h**2+k**2+l**2);
lamda=2*d*math.sin(theta); #wavelength of Xrays(nm)
#Result
print "wavelength of Xrays is",round(lamda,3),"nm"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
a=0.352; #lattice parameter(nm)
theta=(28+(30/60))*math.pi/180; #angle(radian)
hp=6.626*10**-34; #plancks constant(Js)
m=1.67*10**-27; #mass of proton(kg)
kB=1.38*10**-23; #boltzmann constant
#Calculation
d=a/math.sqrt(h**2+k**2+l**2);
lamda=2*d*math.sin(theta); #wavelength(nm)
T=(hp**2)/(3*m*kB*(lamda*10**-9)**2); #effective temperature of neutrons(K)
#Result
print "effective temperature of neutrons is",int(round(T)),"K"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
lamda=0.152; #wavelength(nm)
D=0.2552; #diameter(nm)
theta1=21*math.pi/180; #angle(radian)
theta2=(21+(23/60))*math.pi/180; #angle(radian)
#Calculation
a=D*math.sqrt(2); #lattice parameter for regular crystal(nm)
d111_1=lamda/(2*math.sin(theta1));
alpha1=d111_1*math.sqrt(h**2+k**2+l**2); #lattice parameter for sample A(nm)
d111_2=lamda/(2*math.sin(theta2));
alpha2=d111_2*math.sqrt(h**2+k**2+l**2); #lattice parameter for sample B(nm)
#Result
print "lattice parameter for regular crystal is",round(a,4),"nm"
print "lattice parameter for sample A is",round(alpha1,4),"nm"
print "lattice parameter for sample B is",round(alpha2,3),"nm"
print "lattice parameter of sample A is 1.75% greater than that of pure copper"
#importing modules
import math
from __future__ import division
#Variable declaration
h=1;
k=1;
l=1; #miller indices
lamda=0.154; #wavelength of X-rays(nm)
D=0.228; #diameter(nm)
#Calculation
x=lamda/2;
y=2*D/(x*math.sqrt(h**2+k**2+l**2));
z=y**2;
#Result
print "the value of h**2+k**2+l**2 is",round(z,2)
print "answer given in the book is wrong"
print "highest possible values of (hkl) are (222)"