# 8: X-Rays¶

## Example number 8.1, Page number 155¶

In [2]:
#import modules
import math
from __future__ import division

#Variable declaration
V=60000;       #working voltage(V)

#Calculation
lamda_min=12400/V;          #Wavelength emitted(Angstrom)

#Result
print "Wavelength emitted is",round(lamda_min,1),"Angstrom"

Wavelength emitted is 0.2 Angstrom


## Example number 8.2, Page number 155¶

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

#Variable declaration
V=12400;      #Volatage applied(V)
I=0.002;      #current drop(A)
e=1.6*10**-19;    #the charge on electron(C)

#Calculation
n=I/e;         #number of electrons
v=(5.93*10**5)*(math.sqrt(V));      #striking speed(m/s)
lamda_min=12400/V;                #shortest wavelength is(Angstrom)

#Result
print "number of electrons striking per second is",n,"s-1"
print "the speed with which they strike is",round(v/1e+7,1),"*10^7 m/s"
print "shortest wavelength is",lamda_min,"Angstrom"

number of electrons striking per second is 1.25e+16 s-1
the speed with which they strike is 6.6 *10^7 m/s
shortest wavelength is 1.0 Angstrom


## Example number 8.3, Page number 156¶

In [7]:
#import modules
import math
from __future__ import division

#Variable declaration
lamda_min=1;    #shortest wavelength(Angstrom)

#Calculation
V=(12400/lamda_min)/1000;      #minimum applied voltage(kV)

#Result
print "The minimum applied voltage is",V,"kV"

The minimum applied voltage is 12.4 kV


## Example number 8.4, Page number 156¶

In [15]:
#import modules
import math
from __future__ import division

#Variable declaration
I=0.005;        #current(A)
V=100*10**3;     #potential difference(V)

#Calculation
v=(5.93*10**5)*(math.sqrt(V));         #Maximum speed of electrons(m/s)
IP=V*I;             #incident power(W)
P=0.999*IP;         #power converted into heat(W)
H=P/4.18;           #rate of production of heat(cal/s)

#Result
print "Maximum speed of electrons is",round(v/1e+8,2),"*10^8 m/s"
print "rate of production of heat is",int(H),"cal/s"
print "answer for maximum speed of electrons given in the book is wrong"

Maximum speed of electrons is 1.88 *10^8 m/s
rate of production of heat is 119 cal/s
answer for maximum speed of electrons given in the book is wrong


## Example number 8.5, Page number 156¶

In [17]:
#import modules
import math
from __future__ import division

#Variable declaration
V=30000;          #potential difference(V)
lamda_min=0.414*10**-10;    #short wavelength limit(m)
e=1.602*10**-19;           #the charge on electron(C)
c=3*10**8;               #speed of light(m/s)

#Calculation
h=(e*V*lamda_min)/c;        #Planck's constant(Js)

#Result
print "The Planck's constant is",round(h/1e-34,2),"*10^-34 Js"

The Planck's constant is 6.63 *10^-34 Js


## Example number 8.6, Page number 158¶

In [1]:
#import modules
import math
from __future__ import division

#Variable declaration
lamda=1.43*10**-10;       #wavelength(m)
Z=74;                    #atomic number
R=10.97*10**6;          #Rydberg constant(1/m)

#Calculation
b=74-math.sqrt(36/(5*R*lamda));         #nuclear screening constant

#Result
print "nuclear screening constant is",round(b,2)

nuclear screening constant is 6.25


## Example number 8.9, Page number 162¶

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

#Variable declaration
rho=2.7;    #density of aluminium(g/cm^3)

#Calculation
mew=rho*mewm;        #linear adsorption coefficent of aluminium (1/cm)
T=0.693/mew;         #hvl(cm)
x=(math.log(20))*(1/mew);     #thickness(cm)

#Result
print "linear adsorption coefficent of aluminium is",mew,"cm-1"
print "the hvl is",round(T,3),"cm"
print "the thickness is",round(x,2),"cm"

linear adsorption coefficent of aluminium is 1.62 cm-1
the hvl is 0.428 cm
the thickness is 1.85 cm


## Example number 8.10, Page number 167¶

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

#Variable declaration
theta=12;       #glancing angle(degrees)
n=1;
d=3.04*10**-10;     #grating space(m)

#Calculation
lamda=(2*d*math.sin(theta))/n;     #wavelength of X-rays(m)
theta3=(3*lamda)/(2*d);        #angle for third order reflection(radian)
theta3=theta3*180/math.pi;        #angle for third order reflection(degrees)

#Result
print "wavelength of X-rays is",round(lamda/10**-10,2),"Angstrom"
print "angle for third order reflection is",round(theta3,2),"degrees"
print "answers given in the book are wrong"

wavelength of X-rays is 1.26 Angstrom
angle for third order reflection is 35.74 degrees
answers given in the book are wrong


## Example number 8.11, Page number 167¶

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

#Variable declaration
d=1.181;       #distance of seperation(Angstrom)
lamda=1.540;       #wavelength(Angstrom)

#Calculation
n=2*d/lamda;        #sin(D) = 1 for max value

#Result
print "the orders of bragg reflection observed are",int(n)

the orders of bragg reflection observed are 1


## Example number 8.12, Page number 168¶

In [22]:
#import modules
import math
from __future__ import division

#Variable declaration
lamda=0.6;        #wavelength(angstrom)
theta1=6.45;
theta2=9.15;
theta3=13;        #angles(degree)

#Calculation
lamda=lamda*10**-10;        ##wavelength(m)
theta1=theta1*math.pi/180;
theta2=theta2*math.pi/180;
d_a=lamda/(2*math.sin(theta1));     #interplanar spacing for 6.45 degrees(m)
d_b=lamda/(2*math.sin(theta2));
d_c=lamda/(2*math.sin(theta3));

#Result
print "interplanar spacing for 6.45 degrees is",round(d_a/1e-10,2),"*10^-10 m"
print "interplanar spacing for 9.15 degrees is",round(d_b/1e-10,3),"*10^-10 m"
print "interplanar spacing for 13 degrees is",round(d_c/1e-10,2),"*10^-10 m"
print "answers given in the book vary due to rounding off errors"

interplanar spacing for 6.45 degrees is 2.67 *10^-10 m
interplanar spacing for 9.15 degrees is 1.887 *10^-10 m
interplanar spacing for 13 degrees is 1.33 *10^-10 m
answers given in the book vary due to rounding off errors


## Example number 8.13, Page number 168¶

In [25]:
#import modules
import math
from __future__ import division

#Variable declaration
lamda=3*10**-10;      #wavelength(m)
theta=40;            #angle(degree)
n=1;

#Calculation
d=n*lamda/(2*math.sin(theta));     #spacing between planes(m)
a=2*d;            #lattice constant(m)
V=a**3;           #volume of unit cell(m^3)

#Result
print "spacing between planes is",round(d/10**-10,2),"AU"
print "volume of unit cell is",round(V/1e-28,3),"*10^-28 m^3"

spacing between planes is 2.33 AU
volume of unit cell is 1.017 *10^-28 m^3


## Example number 8.14, Page number 168¶

In [27]:
#import modules
import math
from __future__ import division

#Variable declaration
theta1=5.4;
theta2=7.6;
theta3=9.4;          #angles in degree

#Calculation
theta1=theta1*math.pi/180;
theta2=theta2*math.pi/180;
d1=1/(2*math.sin(theta1));
d2=1/(2*math.sin(theta2));
d3=1/(2*math.sin(theta3));
m=min(d1,d2,d3);
d1=d1/m;
d2=d2/m;
d3=d3/m;

#Result
print "d1:d2:d3 =",d1,d2,d3

d1:d2:d3 = 1.73551046111 1.23491924983 1.0


## Example number 8.15, Page number 169¶

In [32]:
#import modules
import math
from __future__ import division

#Variable declaration
V=50000;      #applied voltage(V)
rho=1.99*10**3;    #density(kg/m^3)
n=4;
Na=6.02*10**26;      #Avgraodo number(per kg mole)
M=74.6;              #molecular mass
lamda=0.248*10**-10;      #wavelength(m)

#Calculation
lamda_min=12400/V;       #short wavelength limit(Angstrom)
a=(n*M/(Na*rho))**(1/3);      #lattice constant(m)
d=a/2;
theta=theta*180/math.pi;           #glancing angle(degrees)
deg=int(theta);          #glancing angle(degrees)
t=60*(theta-deg);
m=int(t);              #glancing angle(minutes)

#Result
print "short wavelength limit is",lamda_min,"Angstrom"
print "glancing angle is",deg,"degrees",m,"minutes"
print "answer for glancing angle in minutes given in the book is wrong"

short wavelength limit is 0.248 Angstrom
glancing angle is 2 degrees 15 minutes
answer for glancing angle in minutes given in the book is wrong


## Example number 8.16, Page number 169¶

In [7]:
#import modules
import math
from __future__ import division

#Variable declaration
lamda=1.54;         #wavelength(angstrom)
theta=15.9;         #angle(degrees)
M=58.45;            #molecular weight
rho=2.164;     #density(g/cm^3)
n=2;                #for NaCl molecule

#Calculation
d=lamda/(2*math.sin(theta));     #lattice spacing(angstrom)
dm=d*10**-8;                    ##lattice spacing(cm)

#Result
print "lattice spacing is",round(d,2),"angstrom"
print "Avogadro number is",round(Na/1e+23,2),"*10^23 per gm mole"

 lattice spacing is 2.81 angstrom
Avogadro number is 6.08 *10^23 per gm mole


## Example number 8.17, Page number 172¶

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

#Variable declaration
theta=60;         #angle(degree)
lamda=0.254;      #wavelength(angstrom)

#Calculation
dlamda=0.024*(1-math.cos(theta));      #amount of increase in wavelength(angstrom)
lamda1=lamda-dlamda;       #primary X-ray wavelength(angstrom)

#Result
print "primary X-ray wavelength is",lamda1,"angstrom"

primary X-ray wavelength is 0.242 angstrom


## Example number 8.18, Page number 172¶

In [11]:
#import modules
import math
from __future__ import division

#Variable declaration
theta=32;         #angle(degree)
lamda=1.54*10**-10;      #wavelength(angstrom)
h=2;
k=2;
l=0;                 #lattice constants

#Calculation

lattice parameter is 4.1 *10^-10 m